[Arduino]HC-06藍芽模組使用小結
阿新 • • 發佈:2019-01-22
簡介
藍芽,顧名思義,藍色的牙齒,並不能用來咬人,而是一種無線資料傳輸標準。
HC-05和HC-06是現在使用較多的兩種藍芽模組。兩者之間的區別是HC-05是主從一體機,既能向自己的’主子’打小報告,也可以接收下達的命令;而HC-06只能工作在從機模式下,那就只能乖乖接收上級的命令啦。
在很多情況下,我們都想當“霸道總裁”,讓下級乖乖聽話就OK了,不需要他多廢話。那就用HC-06就夠了。
下面是HC-06的模組示意圖:
接線
可以看到它有4個引腳,那麼它接線如下:
在這裡,我並沒有使用Arduino的0,1號口,而是使用了兩個數字口。這樣就不會佔用Arduino自身的串列埠。
AT模式
在按照上面的接線之後,HC-06會自動進入AT模式,在這個模式下,可以通過串列埠對藍芽模組進行一些諸如修改名稱、密碼的操作。
注意:AT命令一定要大寫,中間的+不可省略
指令 | 返回 | 功能 |
---|---|---|
AT | OK | 確認連線 |
AT+VERSION | OKlinvorV1.8 | 檢視版本 |
AT+NAMEOOO | OKsetname | 設定藍芽名稱 |
AT+PINOOOO | OKsetPIN | 設定密碼 |
AT+BAUD1 | OK1200 | 波特率設為1200 |
AT+BAUD2 | OK2400 | 波特率設為2400 |
AT+BAUD3 | OK4800 | 波特率設為4800 |
AT+BAUD4 | OK9600 | 波特率設為9600 |
AT+BAUD5 | OK19200 | 波特率設為19200 |
AT+BAUD6 | OK38400 | 波特率設為38400 |
AT+BAUD7 | OK57600 | 波特率設為57600 |
AT+BAUD8 | OK115200 | 波特率設為115200 |
不建議設定更高的波特率,通訊會不穩定
/*
Name: Bluetooth.ino
Created: 2016/7/30 13:26:47
Author: Fing
*/
#include <SoftwareSerial.h>
//使用軟體串列埠,能講數字口模擬成串列埠
SoftwareSerial BT(8, 9); //新建物件,接收腳為8,傳送腳為9
char val; //儲存接收的變數
void setup() {
Serial.begin(9600); //與電腦的串列埠連線
Serial.println("BT is ready!");
BT.begin(9600); //設定波特率
}
void loop() {
//如果串列埠接收到資料,就輸出到藍芽串列埠
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}
//如果接收到藍芽模組的資料,輸出到螢幕
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}
連線Arduino,寫入程式。進入串列埠,輸入AT,看看是不是有OK返回。
之後就可以愉快地使用HC-06模組了。
手機連線除錯藍芽
通過SPP藍芽助手可以實現連線藍芽和與藍芽之間的通訊。
我用的是unWired Lite,可以在Play市場上下載到。