+
功能描述
蓝牙智能小车由STM32微处理器、步进电机、蓝牙,L298N等模块构成的:1)采用STM32微处理器为核心,在MDK环境下进行编程。2)通知控制L298N模块IN1~IN4引脚的高低电平进而控制电机的转动方向,使小车产生不同的转动模式。3)控制小车的转动模式则是通过蓝牙模块来实现,利用手机蓝牙助手和蓝牙模块相通,进而控制小车的各种运转模式。
+
整体框架
下面的图把核心连接部分都画出来了(其他部分按要求接就可以了,Vcc接电源,GND接地即可),图画的有点丑,希望大家不要介意呀(>-+
硬件设计
1)芯片连接
使用微控制器为STM32F103RC,芯片上所连接的部分:
PC10 -> IN1; PC11 -> IN2; PC12 -> IN3; PD2 -> IN4。这里芯片上的GPIO口连接是随机的,可以根据自己的方便选择。不过注意,IN1和IN2是控制左电机,IN3和IN4是控制右电机。这里我用来驱动电机的是L298N,接线的话左电机接输出A端口,右电机接输出B 。每个孔接一根线,如果要驱动两个左电机的话,也是一样接法。
这里要注意的是驱动小车转动需要接外接电源,也就是图片上的12V供电部分。外接电源正极接到12v供电口上,负极接到供电GND上,还有要注意的一点就是还要将开发板上的地接到供电GND上,保证电源和开发板共地。
如图所示:
L298N逻辑电平表:
2)JDY 30蓝牙模块
JDY-30 透传模块是基于蓝牙 2.1 协议标准,工作频段为 2.4GHZ 范围,具有信号强、数据传输快、性能稳定等特性。支持蓝牙 SPP 串口协议,内置 PCB 天线,支持 UART 接口,蓝牙 Class 2,数据传输比 BLE 蓝牙快、可达到几十K 每秒以上的速率。
引脚功能说明:
UART-TX 串口输出,接开发板上的UART-Rx,电平为 TTL 电平
UART-RX 串口输入,接开发板上的UART-Tx,电平为 TTL 电平
VCC 3.3V 电源
GND 电源地
这里的蓝牙助手使用方法要强调一下,可能有些同学不太会,点击右上角的连接按钮,先让手机连上蓝牙模块,一般连上了蓝牙模块上的灯都不会闪烁。以此判断有没有连接上。接着就是编辑键盘的小车的运动方式了,按照下面的来设置就可以了。这里的数字是我代码设置好的,可以按照自己的要求填写。
+
软件设计
软件流程图:
首先对前进,后退,左转,右转,停止进行宏定义,单片机接收到蓝牙串口的相应指令,然后在if语句中进行比较,如果有相对应的,触发相对应的宏定义。流程图如图所示。在串口USART1中接收到的数据进行比较,暂停、前进、后退、左转、右转、原地左转,原地右转。启动字符为 “0”,“1”,“2”,“3”,“4”,“5”,“6”。