为了使用蓝牙模块传送一些数据来完成我的功能,需要先调试蓝牙模块。HC-05包含两种模式
- 自动工作模式: 将自动根据事先设定的方式连接的数据传输
- 命令模式: 执行下述所有AT命令,用户可向模块发送各种AT指令,为模块设定控制 参数或发布控制命令。 (这是主题)
我们的目标就是进入AT模式,并且能相应进行一些配置或者查看默认的配置
使用材料
- arduino uno board
- HC-05 bluetooth module(with en pin and state pin)
- 杜邦线若干
连接电路
hc-05_link_board.pngarduino code
#include <SoftwareSerial.h>
SoftwareSerial BT(3,2);//RX TX on the board
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);//这里应该和你的模块通信波特率一致
delay(100);
Serial.println("Arduino is ready.");
BT.begin(38400);
Serial.println("Bluetooth is ready.");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available())
BT.write(Serial.read());
//把hc-05的串口输出的字符 输出到电脑串口中
if(BT.available())
Serial.write(BT.read());
}
操作方法
- 直接给arduino上电,给arduino写入上面的代码。(此时HC-05上的LED灯1秒大概闪烁5次)
- 关键来了 我们需要先断开HC-05的VCC,然后按住HC-05上面的按钮,再把VCC接上。(此时HC-05上的LED灯应该是2秒闪一次)
- 我们可以先通过HC-05上面的LED闪烁的时间确定是否在对应的模式
-
打开arduino串口监视器,可以看到代码初始化完成。
image.png - 如果已经确定HC-05工作模式为AT模式,就可在串口监视器里面输入AT指令 这里一定要注意选择NL和CR
image.png
如果出现上述OK回复,表示现在处于AT模式且接受发送正常,可以通过其他AT指令配置你的蓝牙模块了。如果出现芯片进入了AT模式,但是串口监视器发送AT没有收到回复,那应该是RX和TX接反了
其他的AT指令
To return HC-05 to mfg. default settings: "AT+ORGL"
To get version of your HC-05 enter: "AT+VERSION?"
To change device name from the default HC-05 to let's say MYBLUE enter: "AT+NAME=MYBLUE"
To change default security code from 1234 to 2987 enter: "AT+PSWD=2987"
To change HC-05 baud rate from default 9600 to 115200, 1 stop bit, 0 parity enter: "AT+UART=115200,1,0"
参考链接
https://www.instructables.com/id/AT-Commands-for-Bluetooth-Module-HC-05-W-EN-Pin-an/
https://www.arduino.cn/forum.php?mod=viewthread&tid=2961&page=1
网友评论