為了使用藍(lán)牙模塊傳送一些數(shù)據(jù)來完成我的功能榨惠,需要先調(diào)試藍(lán)牙模塊。HC-05包含兩種模式
- 自動(dòng)工作模式: 將自動(dòng)根據(jù)事先設(shè)定的方式連接的數(shù)據(jù)傳輸
- 命令模式: 執(zhí)行下述所有AT命令盛霎,用戶可向模塊發(fā)送各種AT指令赠橙,為模塊設(shè)定控制 參數(shù)或發(fā)布控制命令。 (這是主題)
我們的目標(biāo)就是進(jìn)入AT模式愤炸,并且能相應(yīng)進(jìn)行一些配置或者查看默認(rèn)的配置
使用材料
- arduino uno board
- HC-05 bluetooth module(with en pin and state pin)
- 杜邦線若干
連接電路
hc-05_link_board.png
arduino 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);//這里應(yīng)該和你的模塊通信波特率一致
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寫入上面的代碼。(此時(shí)HC-05上的LED燈1秒大概閃爍5次)
- 關(guān)鍵來了 我們需要先斷開HC-05的VCC摇幻,然后按住HC-05上面的按鈕,再把VCC接上挥萌。(此時(shí)HC-05上的LED燈應(yīng)該是2秒閃一次)
- 我們可以先通過HC-05上面的LED閃爍的時(shí)間確定是否在對(duì)應(yīng)的模式
-
打開arduino串口監(jiān)視器绰姻,可以看到代碼初始化完成。
image.png - 如果已經(jīng)確定HC-05工作模式為AT模式引瀑,就可在串口監(jiān)視器里面輸入AT指令 這里一定要注意選擇NL和CR
image.png
如果出現(xiàn)上述OK回復(fù)狂芋,表示現(xiàn)在處于AT模式且接受發(fā)送正常,可以通過其他AT指令配置你的藍(lán)牙模塊了憨栽。如果出現(xiàn)芯片進(jìn)入了AT模式帜矾,但是串口監(jiān)視器發(fā)送AT沒有收到回復(fù)翼虫,那應(yīng)該是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