關於HC-05藍牙模塊如何搭配單片機使用,還是以Arduino UNO升級改進版Manduino UNO為例,進行說明。
HC-05藍牙模塊適用於各種3.3V的單片機系統,模塊可以使用AT指令設置波特率配對、密碼用戶信息等,默認波特率:9600,從機模式,配對密碼1234。
藍牙以BlueTooth藍牙模塊為例,該模塊的藍牙為HC-05,主從一體。
方法/步驟
1.藍牙參數的修改
(A)BlueTooth藍牙模塊上的5V、3.3V任意接一個到相應的電壓就可以KEY接高電平、TX-->D2、RX-->D3 ,然後通過USB把UNO接到電腦上。
上電後,模塊上的POWER二極管會一直亮,LED1會半秒閃一次,如果不是這樣,重新上電或復位。
(B)燒錄代碼
關於Arduino UNO如何燒錄代碼,在此不細講,不懂了請參考相關資料。
通過如下程序可以修改相關參數:
#include
#define RxD 2
#define TxD 3
#define LED 13
NewSoftSerial blueToothSerial(RxD,TxD);
void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBlueToothConnection();
}
void loop()
{
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
void setupBlueToothConnection()
{
Serial.println("Setting Bluetooth parameters");
blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate 38400
delay(100);
sendBlueToothCommand("AT\r\n");
sendBlueToothCommand("AT+NAME=HC-05\r\n");//命名模塊名
sendBlueToothCommand("AT+ROLE=0\r\n");//設置主從模式:0從機,1主機
sendBlueToothCommand("AT+PSWD=1234\r\n");//設置配對密碼,如0123
sendBlueToothCommand("AT+UART=38400,0,0\r\n");//設置波特率9600,停止位1,校驗位無
sendBlueToothCommand("AT+RMAAD\r\n");//清空配對列表
delay(100);
Serial.println("Setup complete");
}
void sendBlueToothCommand(char command[])
{
char a;
blueToothSerial.print(command);
Serial.print(command);
delay(100);
while(blueToothSerial.available())
{
Serial.print(char(blueToothSerial.read()));
}
}
程序中的藍牙名稱、命令等信息都可以修改或添加。
(C)查看結果
燒錄完成後,不要改變連接電路,打開串口,如果每次輸入AT指令後,都有正常的“OK”返回值,說明燒錄成功。
然後,KEY腳接地或懸空,重新上電,通過手機可以查看到你設置的藍牙名稱,密碼等信息了。
2.藍牙模塊與Android手機通訊
(A)首先查看ANDROI手機裡有沒有藍牙串口軟件,已“HC-PDA-ANDROID.apk”為例,需要該軟件的自己上網搜索。
電路連接時如上一樣,只是KEY接地或懸空。代碼如下
#include
#define RxD 2
#define TxD 3
String BT_DATA = "";
NewSoftSerial blueToothSerial(RxD,TxD);
void setup()
{
Serial.begin(38400);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
blueToothSerial.begin(38400);
}
void loop()
{
while(blueToothSerial.available()) //Receivedata {
Serial.print(char(blueToothSerial.read()));
}
if(Serial.available()){ //Tx data
do{
BT_DATA += char(Serial.read());
delay(2);
}while (Serial.available() > 0);
if (BT_DATA.length() > 0){
blueToothSerial.println(BT_DATA);
Serial.println(BT_DATA);
BT_DATA = "";
}}
}
燒錄完成後,POWER二極管亮,LED1燈每半秒閃爍一次,藍牙模塊和手機之間可以相互通信。如果不是,重新上電燒錄代碼。
(B)安裝上述的APK文件後,打開手機,會發現BTClient應用程序,雙擊
(C)連接,查找可你剛才設置的藍牙設備
(D)連接,輸入你剛才設置的藍牙設備密碼
配對成功後,POWER二極管亮,LED1燈每秒閃爍一次,LED2常亮。
(E)打開串口,手機與藍牙模塊通訊,雙方可以互相輸入數據通信。整個流程完成。