# HC05/HC06藍芽模組AT模式
## 接線方式:
| HC05/06 | UNO |
| -------- | -------- |
| RX | TX |
| TX | RX |
| VCC | 5V |
| GND | GND |
。HC05 按住按鈕再上電, 進AT模式後燈號慢閃, arduino IDE 監控視窗 [NL&CR都要],預設38400baud,密碼1234或0000。
。HC06 直接上電, arduino IDE 監控視窗 NL&CR都不要, 即 "[沒有行結尾]",預設9600baud,密碼1234或0000。
## HC05指令集
若要設定則加"=", 如設定名稱: AT+NAME=ABC
```
AT : 檢查連線, 回答OK
AT+NAME : 查藍芽模組名稱
AT+ADDR : 查預設MAC address
AT+VERSION : 查版號
AT+UART : 查鮑率(baud rate)
AT+ROLE: 查主/從角色(1=master/0=slave)
AT+RESET : 重置並離開 AT 模式
AT+ORGL : 回復出廠設定
AT+PSWD: 查配對密碼
```
前往原始[參考文件](https://content.instructables.com/ORIG/FKY/Z0UT/HX7OYY7I/FKYZ0UTHX7OYY7I.pdf)。
## HC06指令集
```
AT+NAMEABC 設定藍芽模組名稱
AT+PIN1234 設定藍芽模組配對密碼
```
## arduino UNO 程式
```
#include <SoftwareSerial.h>; // 引用程式庫
// 定義連接藍牙模組的序列埠, UNO D8->BT TX, UNO D9->BT RX
SoftwareSerial BT(8, 9); // 接收腳, 傳送腳
char val; // 儲存接收資料的變數
void setup() {
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);
}
}
```