最后终于走到通信模块辣,蓝牙模块可以选择HC-05和HC-06,我使用的是HC-06。蓝牙模块有主从机模式。HC-05只有从机模式,HC-06可以通过AT模式修改主从机模式。
P1是HC-06的背面,可以看见有六个接口:
State 母鸡
RXD 蓝牙接收口,连接arduino发射口
TXD 蓝牙发射口,连接arduino接收口
arduino板子上的接收口是需要自己定义的。
VCC 蓝牙板电源,接arduino板5V
EN 用于开启At模式
接着讲一下开启At模式的方法,代码参见P2,不要选用arduino板的0和1口,那是arduino的自带串口。Arduino自带蓝牙库<SoftwareSerial.h>。串口命令用到了以下几个:
Serial.read() 从串口读取
Serial.write()/Serial.print/Serial.println 从串口输出/显示到终端上
BTSerial.write() 蓝牙串口输出
BTSerial.read() 蓝牙串口读取
写完码烧录之后,先按arduino板上的重置键,然后蓝牙板断电,按住蓝牙板上的重置键,同时接上电源。会发现蓝牙板以两秒为间隔闪烁,此时说明进入了At模式。进入At模式之后,在电脑ArduinoIDE的工具选项卡下选择串口监视器。会有通讯框,可以键入AT命令,At命令如下:
重命名: AT+NAME= Dog2
刷主从机: AT+ROLE= 0 0为从机,1为主机
配对密码: AT+PSWD=1122
蓝牙波特率: AT+UART=38400,0,0 如果需要改第一个就行
左边是命令,右边是参数,参数可以根据需要修改。如果输入之后回复Ok说明设置成功,全部设置完之后重置arduino板即可。也可以直接使用串口读写函数配置,具体见P3代码注释掉的部分。然后就可以和蓝牙板通讯辣。手机上下一个可以和蓝牙通信的软件,我使用的是蓝牙串口助手。先手机连上蓝牙,然后在蓝牙串口助手里面连接。写一点简单的代码之后就能通信,见P4。
接着开始写“狗子”的代码。见P5。代码思路很简单,当arduino板收到蓝牙信号的时候,根据不同的内容,调用不同的函数。
——修改自QQ空间 (2018.1.1)
2018.9.6 于家中