2012年6月23日 星期六
Bluetooth module configuration
▲ HC-0x 藍芽模組
如果你有在使用 HC-0x 藍芽模組,在某些時候,你可能會需要調整藍芽模組的設定,比如改變模組的 baud rate,這篇將教你怎麼做。
你需要一個 USB to TTL 的轉換器,比如底下的任何一塊板子:
image image
▲ 左圖:CP2102 的晶片;右圖:PL2303 的晶片,購買資訊可見文後的參考資料
全新的 HC-0x 藍芽模組,預設的設定通常是這樣:
Baud rate: 9600
Name: linvor
Pairing code: 1234
準備工作
1) 首先,把 USB to TTL 跟藍芽模組連接起來:
連接的時候有兩點要注意:第一是電源千萬不可接錯,不然可能會把藍芽模組燒壞,第二是 USB to TTL 的 RXD 要接藍芽模組的 TXD,而 USB to TTL 的 TXD 要接藍芽模組的 RXD。連接方法可參考下表:
2) 把 USB to TTL 轉換器接到 PC 上,這時候藍芽模組上的 LED 會一直閃爍:
3) 打開 Arduino IDE,選擇藍芽模組所連接的 COM port
我 USB to TTL 轉換器是接在 COM20:
所以我選擇 COM20:
4) 打開 Serial Monitor,確定下方用的是 "No line ending":
現在可以開始測試藍芽模組的通信,輸入 AT 指令(指令是全部大寫的),然後按下 Send 按鈕或 Enter 鍵,藍芽模組應該會回應 OK:
image
修改 Baud rate
底下示範如何把 baud rate 修改為 57600 bps:
輸入指令:
AT+BAUD7
藍芽模組應該會回應:
OK57600
如下圖所示:
由於藍芽模組 baud rate 已經改成 57600,你必須把 Serial Monitor 的 baud rate 改成 57600 才能再跟藍芽模組對話。
修改 baud rate 的指令格式為:
指令:AT+BAUD<p>
回應:OK<r>
baud rate 對應表如下:
<p> <r> 備註1 1200 設定為 1200 bps2 2400 設定為 2400 bps3 4800 設定為 4800 bps4 9600 設定為 9600 bps5 19200 設定為 19200 bps6 38400 設定為 38400 bps7 57600 設定為 57600 bps8 115200 設定為 115200 bps9 230400 設定為 230400 bpsA 460800 設定為 460800 bpsB 921600 設定為 921600 bpsC 1382400 設定為 1382400 bps
注意! 一般 PC 的 COM Port 不支援超過 115200 bps,如果你用 PC 設定模組的 baud rate,不小心設超過 115200 bps,可能之後就無法與之連線。如果你使用 PC,建議不要設超過 115200 bps。或者使用高速的 USB to Serial converter 連接線,例如 Prolific PL-2303 便可以支援到 921600 bps。
修改藍芽設備名稱
底下示範如何把藍芽模組的設備名稱改成 coopermaa:
輸入指令:
AT+NAMEcoopermaa
藍芽模組應該會回應:
OKsetname
如下圖所示:
設備名稱要在重開藍芽模組電源後才會改變。要注意設備名稱最多是 20 個字元。
修改配對密碼 (paring code)
底下示範如何把配對密碼 (paring code) 改成 5678:
輸入指令:
AT+PIN5678
藍芽模組應該會回應:
OKsetPIN
如下圖所示:
注意配對密碼最多為 4 個字元。配對密碼改變後會立即生效。
6 意見:
您好coopermaa大
小弟有一片HC-05
我把它改成57600以後它就不太甩我了
(雖然說之前也不太甩啦)
請問您有遇過這個問題嗎
還有想請教您
我想要他吐資料給手機或是藍芽接收端
我是要當master還是slave呢?
目前可以從PC送資料給它
可是要從他吐東西去PC就沒消息
好傷心阿QQ
HC-05 不太甩你?
一般來說用 slave mode 就好
slave mode 可以收也可以送資料,所以手機/PC送資料給它,或從 Arduino 吐資料給手機/PC,資料往哪個方向丟都可以
我還沒用過 HC-05 說
您好coopermaa大:
我也是使用HC-05的模組,一開始能正常使用,我使用的方式也很正常,但是它突然不能搜尋到,這個問題就跟我一開始使用的一顆BT-1022的模組遇到的問題差不多,不過BT1022是能配對但不能連線。
我本來以為是1022壞掉,所以才換成HC-05,但是也發生問題,所以我想請教coopermaa大這是哪方面的問題?謝謝!
@C^3
你還有其他 Arduino 板子嗎?
如果用 HC-05 和 BT1022 都這問題,建議換一張 Arduino 板子試試,另外一個可能是你所用的搜尋裝置(你是用 Android/iOS 或 ???),可以的話,換個組合交叉測試一下
大大您好
我這邊有一片HC05
我用的是Arduino UNO這片
我打開Serial Monitor後
不能輸入任何AT command
我在程式中寫入
sendBlueToothCommand("AT\r\n");
他Serial Monitor有跑出AT
但是藍芽沒有給回應OK
是甚麼問題呢?
是KEY腳沒有接到高電位嗎?
我沒用過 HC-05,只有用過 HC-06
(HC-05 有 Master 跟 Slave 兩種 mode)
你照另一篇的方法試試,這個方法比較簡單:
http://coopermaa2nd.blogspot.tw/2012/07/arduino-as-usb-to-ttl-adapter.html
張貼留言