2016年1月24日 星期日

[Arduino] HC-05進入AT Mode

AT Mode 簡單來講就是讓我們進入可以設定藍芽模組的指令模式,

例如把預設的HC-05改成自己喜歡的名字,修改鮑率等等。

因為我沒有USB -> TTL 轉換的套件,我採取另一種方式,透過Arduino來達成。

        Usb to TTL                                    Tx/Rx
PC ------------------------ -> Arduino -------------> HC-05
          9600                                           38400




接角對應如下:

HC-05 GND --- Arduino GND Pin
HC-05 VCC (5V) --- Arduino 5V
HC-05 TX --- Arduino Pin 10 (soft RX)
HC-05 RX --- Arduino Pin11 (soft TX)
HC-05 Key (PIN 34) --- Arduino Pin 9

接好線後,先將VCC拔掉,等待把下列程式燒進Arduino後再插上。
(接線時先將Arduino斷電)


#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());
}

上傳程式後,把VCC接上,此時HC-05上的紅燈會以每2秒鐘閃爍一次,代表己進入

AT Mode,接下來打開arduino IDE 右上的序列埠監控視窗。




會先看到顯示如下















此時便可以打AT按Enter進行測試是否會回應OK,有就代表成功了。















指令的內詳可以找到本篇參考資料的最後一篇網址有詳細的介紹,

在這裡我先示範一個AT+NAME 指令,輸入AT+NAME後按下Enter。







會出現以結果(每個預設名字都不一樣)







接下來要改名字,輸入AT+NAME=自己喜歡的英文名字 ,按Enter。





我們再打一次AT+NAME來查詢,就改變成功了。







參考資料:

http://www.techbitar.com/modify-the-hc-05-bluetooth-module-defaults-using-at-commands.html

http://jackedu.blogspot.tw/2015/01/hc-05.html

http://swf.com.tw/?p=712

HT-03/HT-05 Command

http://www.linotux.ch/arduino/HC-0305_serial_module_AT_commamd_set_201104_revised.pdf

沒有留言:

張貼留言