HC-05藍芽模組設定

最近入手的這一批藍芽模組是屬於HC-05,設定方式指令和設定HC-06不相同,相較之下複雜的多,嘗試多次後終於成功,就把這三十多片都設定完成。

這一批的預設藍芽裝置名稱是「HC-05」,預設baudrate是「38400」
我沒有買「USB轉TTL」的轉接器,而是將藍芽模組用杜邦線連上Arduino UNO,利用Arduino IDE上傳程式到Arduino UNO板子上,打開Arduino IDE的終端機下指令設定

一、首先將程式上傳到Arduino上
程式如下:

/*
AUTHOR: Hazim Bitar (techbitar)
DATE: Aug 29, 2013
LICENSE: Public domain (use at your own risk)
CONTACT: techbitar at gmail dot com (techbitar.com)
*/
#include  <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
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("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command more
}
void loop()
{
  // Keep reading from HC-05 and send to Arduino Serial Monitor
  if (BTSerial.available())
    Serial.write(BTSerial.read());
  // Keep reading from Arduino Serial Monitor and send to HC-05
  if (Serial.available())
    BTSerial.write(Serial.read());
}



二、藍芽模組接上Arduino進入AT狀態
(網路上找到的HC-05的接腳名稱和我的不一樣,大多有一個叫KEY的接腳,我的找不到,而是有一個叫WAKEUP的接腳,位置好像也不大相同,查了很久,原來要有一個pin腳是連接焊上藍芽晶片的pin34,而WAKEUP就是連接焊上晶片的pin34,所以和網路上找到的KEY腳是一樣的)

◎接下來步驟如下:
  1. 先斷開Arduino和USB的連接(讓Arduino此時是斷電)
  2. 將各針腳正確用杜邦線接上Arduino,只有將連接5V的pin腳先拔掉
    • HC-05 STATE → 不用接
    • HC-05 RXD → Arduino pin 11
    • HC-05 TXD → Arduino pin 10
    • HC-05 GND → Arduino GND
    • HC-05 VCC → Arduino 5V
    • HC-05 WAKEUP → Arduino pin 9
  3. 將Arduino和USB線連接上(此時Arduino是通電的,但因5V的pin腳是拔除的,所以藍芽模組上的led燈是不亮的)
  4. 在通電的狀況上,最後將連接5V的pin腳接上Arduino(此時藍芽模組上的led燈會慢速閃爍(約兩秒一次),表示藍芽模組已進入AT模式,可以下指令設定了。


三、下指令設定
  • 打開Arduino IDE的終端機,內容會看到「Enter AT Commands:」,記得終端機下方要選擇「Both NL & CR」「9600 baud」,不然下指令後都看不到反應。

  • 先打入「AT」,送出後如果回應「OK」,就是正常。


  • 改裝置名稱:「AT+NAME:xxxxx」,xxxxx是自訂的名稱,送出後,正常就會回應「OK」。


  • 將速率換成的115200:「AT+UART:115200,0,0」送出後,正常就會回應「OK」。


  • 查詢裝置名稱:「AT+NAME?」,正常就會回應「+UART:xxxxxx」。


  • 查詢速率:「AT+UART?」,送出後,正常就會回應「+UART:115200,0,0」。


◎藍芽模組的LED燈號:
  • 連續的快閃:藍芽等待配對中
  • 連續的快閃2下後停1下:藍芽已配對成功,運作中
  • 連續慢速閃爍(約兩秒一次):藍芽已進入AT模式,準備設定

參考資料:

留言

  1. 作者已經移除這則留言。

    回覆刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 作者已經移除這則留言。

    回覆刪除
  5. 今天做了一些修正,之前寫的語意可能有點怪,請見諒

    回覆刪除
  6. 作者已經移除這則留言。

    回覆刪除
  7. 謝謝你的文章,我成功進入AT模式了~

    回覆刪除
  8. Hi,
    當HC-05與PC配對成功後,在裝置管理員裡產生兩個com,為什麼?
    謝謝

    回覆刪除
  9. Hi,
    當HC-05與PC配對成功後,在裝置管理員裡產生兩個com,為什麼?
    謝謝

    回覆刪除
    回覆
    1. 「當您新增藍芽裝置至電腦時,這通常會建立連入 COM 連接埠和連出 COM 連接埠。連入 COM 連接埠允許您的裝置連線到電腦上的程式,而連出 COM 連接埠則允許電腦上的程式連線到裝置。 通常您只需要使用其中一個 COM 連接埠。」資料參考:http://windows.microsoft.com/zh-tw/windows/choose-com-port-bluetooth#1TC=windows-7

      刪除
  10. 請問我輸入AT他為什麼都沒東西跑出來

    回覆刪除
    回覆
    1. 我前幾次用還有回應
      後來再用都沒有ㄌ

      刪除
    2. 我前幾次用還有回應
      後來再用都沒有ㄌ

      刪除
    3. 是否進入AT模式了呢? (藍芽模組上的led燈會慢速閃爍(約兩秒一次),表示藍芽模組已進入AT模式)
      要進入AT模式才有回應。如果沒回應,我試過從新移除模組,再接續進入AT模式進行…

      刪除
  11. 請問 Serial.begin()與 BTSerial.begin()是差在哪裡?

    回覆刪除
  12. 你好,請問程式適用於 BLE 4.0嗎?我按照文章內容去做,但是ble4.0 的AT 完全不給我回應,

    回覆刪除
    回覆
    1. 這程式是適用於HC-05的。Bluetooth 4也許有其它的設定方法。

      刪除
  13. 我看到有的HC-05款 腳位有一個 key 有的是一個en 那個角為 跟wakeup是一樣的嗎?

    回覆刪除
    回覆
    1. key和en是一樣的,wakeup我就不確定了,可以參考這一則http://swf.com.tw/?p=693

      刪除
  14. 事情是這樣的,近日買了一個藍芽4.0,但是不管怎麼用,他的AT都沒反應,只知道手機抓的到,就是無法配對,不知道這藍芽是好的還是壞的,因為第一次接觸。

    回覆刪除
    回覆
    1. 配對密碼設為空的、0000、1111、1234都試試,不然要問一下賣家了

      刪除
  15. 你好,請問這個是測藍芽有沒有正常嗎 ?? (新手剛入門

    回覆刪除
    回覆
    1. 主要是進入設定模式,改通訊速率和名稱、密碼…等。

      刪除
  16. 不好意思我是新新手,想問如果我的音響沒有藍芽模組我要怎麼把它接收音源.我會焊錫

    回覆刪除
    回覆
    1. 音響要接收音源,應該不是用HC-05這種藍芽模組,如果不是買現成的藍芽音源接收器,可能你要請教專業的人士。

      刪除

張貼留言