HC-05和HC-06是现在使用较多的两种蓝牙模块。两者之间的区别是HC-05是主从一体机,既能向自己的“主子”打小报告,也可以接收下达的命令;而HC-06只能工作在从机模式下,那就只能乖乖接收上级的命令啦。
在很多情况下,我们都想当“霸道总裁”,让下级乖乖听话就OK了,不需要他多废话。那就用HC-06就够了。
上面是HC-06的模块示意图。
接线
可以看到它有4个引脚,那么它接线如下:
在这里,我并没有使用Arduino的0,1号口,而是使用了两个数字口。这样就不会占用Arduino自身的串口。
AT模式
在按照上面的接线之后,HC-06会自动进入AT模式,在这个模式下,可以通过串口对蓝牙模块进行一些诸如修改名称、密码的操作。
注意:AT命令一定要大写,中间的+不可省略
指令 | 返回 | 功能 |
---|---|---|
AT | OK | 确认连接 |
AT+VERSION | OKlinvorV1.8 | 查看版本 |
AT+NAMEOOO | OKsetname | 设置蓝牙名称 |
AT+PINOOOO | OKsetPIN | 设定密码 |
AT+BAUD1 | OK1200 | 波特率设为1200 |
AT+BAUD2 | OK2400 | 波特率设为2400 |
AT+BAUD3 | OK4800 | 波特率设为4800 |
AT+BAUD4 | OK9600 | 波特率设为9600 |
AT+BAUD5 | OK19200 | 波特率设为19200 |
AT+BAUD6 | OK38400 | 波特率设为38400 |
AT+BAUD7 | OK57600 | 波特率设为57600 |
AT+BAUD8 | OK115200 | 波特率设为115200 |
不建议设置更高的波特率,通信会不稳定
/* Name: Bluetooth.ino Created: 2016/7/30 13:26:47 Author: Fing */ #include <SoftwareSerial.h> //使用软件串口,能讲数字口模拟成串口 SoftwareSerial BT(8, 9); //新建对象,接收脚为8,发送脚为9 char val; //存储接收的变量 void setup() { Serial.begin(9600); //与电脑的串口连接 Serial.println("BT is ready!"); BT.begin(9600); //设置波特率 } void loop() { //如果串口接收到数据,就输出到蓝牙串口 if (Serial.available()) { val = Serial.read(); BT.print(val); } //如果接收到蓝牙模块的数据,输出到屏幕 if (BT.available()) { val = BT.read(); Serial.print(val); } }
连接Arduino,写入程序。进入串口,输入AT,看看是不是有OK返回。
之后就可以愉快地使用HC-06模块了。
手机连接调试蓝牙
通过SPP蓝牙助手可以实现连接蓝牙和与蓝牙之间的通信。
我用的是unWired Lite,可以在Play市场上下载到。
作者:mtobeiyf
原文:https://blog.csdn.net/mtobeiyf/article/details/52096966
发表评论
要发表评论,您必须先登录。