第15课 蓝牙遥控智能车#
(1)项目介绍:#
前面课程中,我们利用红外控制智能车运动,在这课程中我们可以做一个蓝牙控制智能车。既然是控制智能车,那就有一个控制端和被控制端。课程中我们把手机当做控制端(主机),蓝牙模块(从机)连接的智能车当做被控制端。使用时,我们需要在手机上安装一个APP,然后连接蓝牙模块,然后我们利用蓝牙APP上各个按钮,控制智能车实现各种运动状态。
(2)流程图:#
先取下蓝牙模块,程序代码上传后,再连接蓝牙模块和打开串口监视器,设置波特率为9600。对准蓝牙模块按下手机APP按钮,我们可以看到APP按钮对应的控制字符,如下图。

经过测试,我们得出了手机APP上各个按钮对应的控制字符和各个按钮对应的功能,这里我们整理了一个表格如下:
按钮: |
功能:配对连接蓝牙模块 |
功能:配对连接蓝牙模块 |
|---|---|---|
按钮: |
功能:进入蓝牙控制界面 |
功能:进入蓝牙控制界面 |
按钮: |
功能:断开蓝牙连接 |
功能:断开蓝牙连接 |
按钮: |
控制字符:按下:F;松开:S |
功能:按下,小车前进;松开就停止 |
按钮: |
控制字符:按下:B;松开:S |
功能:按下,小车后退;松开就停止 |
按钮: |
控制字符:按下:L;松开:S |
功能:按下,小车左旋转;松开就停止 |
按钮: |
控制字符:按下:R;松开:S |
功能:按下,小车右旋转;松开就停止 |
按钮: |
控制字符:按下:a;松开:S |
功能:点击,加速,最大加到255 |
按钮: |
控制字符:按下:d;松开:S |
功能:点击,减速,最小减到0 |
按钮: |
控制字符: |
功能:点击一下开启手机方向感应控制,再点击一下退出方向感应控制 |
按钮: |
控制字符:点击发送:Y,再次电机发送S |
功能:开启避障功能,再次点击退出 |
按钮: |
控制字符:点击发送:X,再次电机发送S |
功能:开启循线功能,再次点击退出 |
按钮: |
控制字符:点击发送:U,再次电机发送S |
功能:开启超声波跟随功能,再次点击退出 |
按钮: |
控制字符:点击发送:G,再次电机发送S |
功能:开启画地为牢功能,再次点击退出 |
(3)接线图:蓝牙+电机#

接线注意: 蓝牙模块的RXD、TXD、GND、VCC分别对应的接到电机驱动扩展板上的TX、RX、-(GND)、+(VCC),而蓝牙模块的STATE和BRK两引脚不需要接,电源接到BAT接口。
B两电机分别对应的连接到电机驱动扩展板上的接口A和接口B;蓝牙模块的RXD、TXD、GND、VCC分别对应的接到电机驱动扩展板上的TX、RX、-(GND)、+(VCC),而蓝牙模块的STATE和BRK两引脚不需要接,电源接到BAT接口。
(4)测试代码:#
①初始化 |
|
|---|---|
②设置串口波特率为9600 |
|
③设置点阵8x16的时钟(SCL)引脚为SCL,数据(SDA)引脚为SDA; |
|
④点阵8x16清屏 |
|
⑤点阵8x16显示“V”图案 |
|
⑥蓝牙BLE模块接收蓝牙数据并在串口监视器中读取打印出来 |
|
⑦变量bluetooth_val的值与各个case逐个进行比较 |
|
⑧当变量bluetooth_val的值是F时,执行case下的命令(代码)并退出switch-case语句体 |
|
⑨小车以PWM200的速度前进 |
|
⑩点阵8x16显示“↑”图案 |
|
⑪当变量bluetooth_val的值是B时,执行case下的命令(代码)并退出switch-case语句体 |
|
⑫小车以PWM200的速度后退 |
|
⑬点阵8x16显示“↓”图案 |
|
⑭当变量bluetooth_val的值是L时,执行case下的命令(代码)并退出switch-case语句体 |
|
⑮小车以PWM250的速度左旋转 |
|
⑯点阵8x16显示“←”图案 |
|
⑰当变量bluetooth_val的值是R时,执行case下的命令(代码)并退出switch-case语句体 |
|
⑱小车以PWM250的速度右旋转 |
|
⑳当变量bluetooth_val的值是S时,执行case下的命令(代码)并退出switch-case语句体 |
|
㉑小车停止 |
|
㉒点阵8x16显示“STOP”图案 |
|
完整代码:

好了,按住蓝牙APP的前进、后退、左转弯、右转弯、停止、左旋转、右旋转的按钮控制桌面迷你蓝牙智能车分别前进、后退、左转弯、右转弯、停止、左旋转、右旋转的程序代码全编写完了。上传程序,看看效果。(在上传测试代码前,需要把蓝牙模块取下,否则代码会上传失败。需要上传代码成功后,再连接蓝牙模块。)
(5)测试结果:#
将驱动扩展板堆叠在UNO Plus板上,上传好代码,按照接线图接线,将拨码开关拨至ON端后,手机APP连接蓝牙成功后,我们就能用手机APP控制智能车运动并在LED灯板上显示对应的图案了。
按下按钮
,小车前进;
按下按钮
,小车后退;
按下按钮
,小车左旋转;
按下按钮
,小车右旋转;
点击一下按钮
,开启手机方向感应控制,
再点击一下按钮
,退出方向感应控制。


































