Arduino Uno并不自帶藍(lán)牙模塊杭煎,需要額外購(gòu)買藍(lán)牙模塊。一種常見的藍(lán)牙模塊是HC-05鬼譬,出場(chǎng)設(shè)置中默認(rèn)名稱為HC-05,密碼1234刃宵。網(wǎng)上有很多介紹通過藍(lán)牙AT指令集更改藍(lán)牙屬性的資料,可是都提到了AT接口韧献,然而我購(gòu)買的HC-05并沒有AT接口(見下圖)末患,只有STATE, RX, TX, GND, +5V, EN這幾個(gè)接口研叫。下面介紹如何開啟AT狀態(tài)并且更改設(shè)置。
連接方法
Arduino與藍(lán)牙模塊的基本連接方法是:+5V --> 5V, GND --> GND, 藍(lán)牙RX --> Arduino的TX, 藍(lán)牙TX --> Arduino的RX璧针。一個(gè)可以正常工作的藍(lán)牙模塊連接方式如下圖:
更改屬性
AT指令集
向HC-05發(fā)送AT指令嚷炉,只需要在HC-05在AT狀態(tài)下通過波特率38400發(fā)送即可。常用的AT指令有:
AT --> 返回OK陈莽,表明在AT狀態(tài)
AT+NAME=<名稱> --> 更改藍(lán)牙名稱
AT+ADDR? --> 打印藍(lán)牙地址
AT+PSWD=<密碼> --> 設(shè)置配對(duì)密碼
編寫程序
下面的Arduino程序首先發(fā)送指令渤昌,然后接收指令執(zhí)行狀態(tài):
void setup() {
// put your setup code here, to run once:
Serial.begin(38400);
}
void sendcmd()
{
Serial.println("AT");
while(Serial.available())
{
char ch;
ch = Serial.read();
Serial.print(ch);
} // Get response: OK
delay(1000); // wait for printing
Serial.println("AT+NAME=KailaideBluetooth");
while(Serial.available())
{
char ch;
ch = Serial.read();
Serial.print(ch);
}
delay(1000);
Serial.println("AT+ADDR?");
while(Serial.available())
{
char ch;
ch = Serial.read();
Serial.print(ch);
}
delay(1000);
Serial.println("AT+PSWD=0000");
while(Serial.available())
{
char ch;
ch = Serial.read();
Serial.print(ch);
}
delay(1000);
}
void loop() {
sendcmd();
}
燒錄程序
這里需要注意的是虽抄,在燒制程序的時(shí)候走搁,需要斷開藍(lán)牙模塊與主板的連接。
開啟AT狀態(tài)
HC-05開啟AT狀態(tài)的方法是:按住HC-05的復(fù)位鍵的同時(shí)迈窟,為藍(lán)牙模塊上電私植。
這是,如果發(fā)現(xiàn)狀態(tài)燈在緩慢閃爍车酣,就可以認(rèn)定已經(jīng)打開了AT狀態(tài)曲稼。
打開監(jiān)視器,并將波特率調(diào)為38400湖员,我們就可以看到相應(yīng)的命令與返回結(jié)果贫悄。
這樣,我們就將地址為98d3:36:9cdf的藍(lán)牙密碼改為0000娘摔,名字改為KailaideBluetooth: