关于HC-05蓝牙模块如何搭配单片机使用,还是以Arduino UNO升级改进版Manduino UNO为例,进行说明。
HC-05蓝牙模块适用于各种3.3V的单片机系统,模块可以使用AT指令设置波特率配对、密码用户信息等,默认波特率:9600,从机模式,配对密码1234。
蓝牙以BlueTooth蓝牙模块为例,该模块的蓝牙为HC-05,主从一体。
方法/步骤
11.蓝牙参数的修改
(A)BlueTooth蓝牙模块上的5V、3.3V任意接一个到相应的电压就可以KEY接高电平、TX-->D2、RX-->D3 ,然后通过USB把UNO接到电脑上。
上电后,模块上的POWER二极管会一直亮,LED1会半秒闪一次,如果不是这样,重新上电或复位。
2(B)烧录代码
关于Arduino UNO如何烧录代码,在此不细讲,不懂了请参考相关资料。
通过如下程序可以修改相关参数:
#include //Software Serial Port#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())); } }
程序中的蓝牙名称、命令等信息都可以修改或添加。
3(C)查看结果
烧录完成后,不要改变连接电路,打开串口,如果每次输入AT指令后,都有正常的“OK”返回值,说明烧录成功。
然后,KEY脚接地或悬空,重新上电,通过手机可以查看到你设置的蓝牙名称,密码等信息了。
42.蓝牙模块与Android手机通讯
(A)首先查看ANDROI手机里有没有蓝牙串口软件,已“HC-PDA-ANDROID.apk”为例,需要该软件的自己上网搜索。
电路连接时如上一样,只是KEY接地或悬空。代码如下
#include //Software Serial Port#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灯每半秒闪烁一次,蓝牙模块和手机之间可以相互通信。如果不是,重新上电烧录代码。
5(B)安装上述的APK文件后,打开手机,会发现BTClient应用程序,双击
7(D)连接,输入你刚才设置的蓝牙设备密码
配对成功后,POWER二极管亮,LED1灯每秒闪烁一次,LED2常亮。
8(E)打开串口,手机与蓝牙模块通讯,双方可以互相输入数据通信。整个流程完成。