將以下程式上傳到 arduino ,操作步驟在程式中的註解說明裡
/*
* arduino 和 hc-05 都斷電,hc-05 的 key(或 EN) 腳位接 arduino VCC(5V),arduino 接電後,hc-05 接電
* AT+NAME=識別名稱
*
* HC-05進入TA COMMAND.若遇有按鈕,則步驟如下
1: 先拔掉 Arduino 的 USB 線,也拔掉 HC-05 VCC 和 Arduino 5V 相連的這條線。並將HC-05的KEY引腳接至Arduino 板上的3.3或5V電位.
2: 將 Arduino 的 USB 線插入電腦。
3: 先按下HC-05板上的按鈕不放.然行將HC-05 VCC 和 Arduino 5V 相連,
約1秒左右放掉HC-05板上的按鈕,此時HC-05板上的燈約2秒鐘閃一次.就代表進入AT Command 模式了.
4: 開啟序列埠監控視窗,在監控視窗才能輸入 AT Command
*/
#include <SoftwareSerial.h> // <>改為半形,用全形網頁才能顯示,但是 arduino ide 編譯不過
// Pin2為RX,接HC05的TXD
// Pin3為TX,接HC05的RXD
SoftwareSerial BT(2, 3);
char val; // 儲存接收資料的變數
void setup() {
pinMode(9, OUTPUT); // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(9, HIGH);
Serial.begin(9600); // 與電腦序列埠連線
Serial.println("BT is ready!");
// 設定藍牙模組的連線速率
// 如果是HC-05,請改成38400。如果是HC-06,請改成9600
BT.begin(38400);
}
void loop() {
// 若收到「序列埠監控視窗」的資料,則送到藍牙模組
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}
// 若收到藍牙模組的資料,則送到「序列埠監控視窗」
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}
AT command 如下:(只要是改資料,監控視窗都會回覆「OK」或「ERROR」,查詢的話,則會回覆目前 HC-05 的資料)
1. 改名字
HC-05:
AT+NAME=123456
HC-06:(我手邊沒有HC-06,不知道這樣的 command 是否正確)
AT+NAME123456
2. 查詢名字
AT+NAME?
3. 改鮑率
AT+UART=9600,0,0
4. 查鮑率
AT+UART?