久久一次要設定藍牙參數時,都得上網 google,發現不錯的網站,如果要設定HC-05或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());
}