[Arduino實用] HC-05 AT mode主從配對

因為開始有同學想做遙控車,而也有的老師在詢問如何使藍芽變得方便?所以這邊就打一下囉。

首先,我個人在簡單的遙控車活動上其實喜歡使用HC-05這個藍芽模組,因為它可以做到主從控制,主從控制的意思就是說,他可以當斗M或是斗S,端看你怎麼設定的意思。而主從控制的好處就是

  1. 我不用使用手機來遙控
  2. 主控端可以用另一個Arduino寫任何我需要的程式
  3. 主控端的遙控器設計可以依照我的需求來設計

以上是我喜歡的點,那下面我們就開始說明囉。

首先先檢查一下你的HC-05上面是哪種版本?

  1. STATE, RX, TX, GND, 5V, EN
  2. STATE, RX, TX, GND, 5V, KEY

這兩種版本只差在最後一個是不同的,但在進入AT mode的方式完全不同,所以要先檢查清楚。

/*
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 <Wire.h>
#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板,然後將電路透過杜邦線接上。然後我們就可以來進行ATmode的調整了。

進入ATmode

這邊分成兩種操作,但總之先把杜邦線接上

1.有KEY的HC-05

 HC-05 Rx > Arduino Pin 11
 HC-05 Tx > Arduino Pin 10
 HC-05 Vcc > Arduino 5V
 HC-05 GND > Arduino GND
 HC-05 KEY > Arduino Pin 9 (注意:這邊是HC-05有KEY的才要接,沒有KEY的不用接)

 

2. 沒有KEY但有EN的HC-05

 HC-05 Rx > Arduino Pin 11
 HC-05 Tx > Arduino Pin 10
 HC-05 Vcc > Arduino 5V
 HC-05 GND > Arduino GND

 

然後依照以下的步驟:

  1. 先把Arduino和電腦的連接線拔除,然後將 Vcc > 5V 拔除。
  2. 將Arduino接上電腦,然後打開Serial 介面,稍等兩秒會跳出「Enter AT command:」
    這邊有很重要需要注意的,如果是寫EN的HC-05,請壓住板子上的輕觸開關。
  3. 跳出「Enter AT commands:」後接上Vcc > 5V的杜邦線,然後會發現板子上的LED從快速閃爍變成兩秒閃一次。(這邊如果上面寫EN的板子請同時放開輕觸開關)
  4. 這時在Serial上面輸入:AT   然後按Enter,畫面應該會出現:OK。這樣就恭喜你進入ATmode了。

2018-06-03.png

2018-06-03 (1)

這邊其實可以看一下上面寫的東西來檢查我們的接線,Rx和Tx分別接在Pin 10和Pin 11

 

 

ATmode操作

進入AT後就可以來做一些調整了

一般來說我們常用的有修改名字、密碼、主從、裝置位置、鮑 這些設定,那針對我們今天要用到的,就只有修改主從、裝置位置兩者。

首先先拿出兩支HC-05,先來將一支設定成「主」吧。

在AT mode下輸入 AT+ROLE? 然後按下Enter會出現  +ROLE:0 ,這代表他目前的腳色是「從」的腳色,如果要改成「主」的腳色就輸入 AT+ROLE=1 即可。

2018-06-03 (5)

然後再輸入: AT+ADDR? 按下Enter會出現  +ADDR:98d3:32:3152dd ,這串代表的是這支藍芽的位置。但在這邊我們需要的是從的數值,所以大家可以拿出另一支藍芽然後尋找要設定為「從﹞的藍芽的位置。

2018-06-03 (8)

 

當找到從的藍芽位置後,我們在回到「主」的藍芽,輸入AT+BIND=從的位置,舉例來說,如果今天從得出來的位置是「98d3:32:314e44」,則我們就輸入「AT+BIND=98d3,32,314e44」然後按下Enter就可以完成囉!(這邊請注意,冒號要改成逗號)

下面就是我自己在操作東西時的實例,自己做藍芽控制時一定會同時把遙控器做好,比較方便展示,也不用擔心活動時跟別人相撞。

8 comments

發表留言