使用Arduino Uno 設定藍牙模組HC-05、HC-06、BT-05,進入AT commans mode的方法[不必用USB轉TTL]

久久一次要設定藍牙參數時,都得上網 google,發現不錯的網站,如果要設定HC-05或HC-06時,可以參考一下,這兩篇網誌寫得很好喔!大推!

Arduino : HC-05 藍芽模組的設定

Arduino : HC-06 藍芽模組的設定

重點摘要:

HC-05 預設的 baud rate 是 38400,進入 AT command mode 後一定是用 38400,指令結尾要選 NL & CR (/r/n):

AT  > OK
AT+NAME?  > +NAME:HC-05
AT+NAME=HC-05  > OK
AT+UART?  > +UART:9600,0,0
AT+UART=38400,0,0  > OK

HC-06 只要不是被連線的狀態,就是AT  command mode,使用原本使用中的baud rate

AT  > OK
AT+NAMEhc06  > OKhc06
AT+BAUD4  > OK9600

BT-05 只要不是被連線的狀態,就是AT  command mode,使用原本使用中的baud rate,指令結尾要選 NL & CR (/r/n):

AT  > OK
AT+NAME  > +NAME= BT-05
AT+NAME BT-05_smat  > +NAME= BT-05_smat
AT+BAUD  > +BAUD=4
AT+BAUD3  > +BAUD=3  > OK  > 然後就連不上了,因為鮑率被你改成4800了,請先把Arduino程式碼中 Softserial的baud rate改為4800重新上傳,才能再連線。

HC-05 和 HC-06 的 AT command 不同,請上網google

韌體如下:
/*
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());
}

作者: 黃聖順

黃聖順老師的隨便記記

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Follow by Email