如下是使用Arduino控制蓝牙模块HC-05
文章目录
1 蓝牙模块HC-05
1.1 简介
HC-05蓝牙模块是一种基于蓝牙协议的简单无线通信设备。该模块基于BC417单芯片蓝牙IC,符合蓝牙v2.0标准,支持UART和USB接口。
1.2 管脚
HC-05蓝牙模块有六个管脚,分别为:STATE、RXD、TXD、GND、VCC、EN。
2 Arduino与HC-05连接
LED非必要。
RXD——D11,图中有电压转换。
TXD——D10。
3 蓝牙功能测试
3.1 代码
蓝牙接收和发送功能测试。
#include <SoftwareSerial.h>
// 设置Arduino软件串口,10-RX,11-TX
const int BT_RX = 10;
const int BT_TX = 11;
// Pin10为RX,接HC05的TXD
// Pin11为TX,接HC05的RXD
SoftwareSerial BT(BT_RX, BT_TX );
char val;
void setup() {
Serial.begin(38400); //初始化Arduino串口,波特率自定,这里选38400
Serial.println("BT is ready!"); //测试与PC之间串口是否正常,正常则显示上述文字,异常则显示乱码
BT.begin(38400); // HC-05的AT模式默认通信波特率为38400
}
void loop() {
if (Serial.available()) {
val = Serial.read();
BT.print(val); //将PC发来的数据存在val内,并发送给HC-05模块
}
if (BT.available()) {
val = BT.read();
Serial.print(val); //将HC-05模块发来的数据存在val内,并发送给PC
}
}
3.2 蓝牙配置
- 上传代码。
- Arduino断电,按住HC-05模块上的按钮,将Arduino与PC连接,发现HC-05模块指示灯2秒周期慢闪,即进入AT模式。
- 打开PC串口调试助手,显示“BT is ready!”。
- 发送AT指令配置蓝牙模块。修改蓝牙名称、配对密码,从模式,任意地址连接。
常用AT指令有:
3.3 蓝牙与手机连接
- 手机打开蓝牙调试助手。
- 设置好蓝牙模块后,断电重新上电,HC-05进入正常模式(指示灯快速连闪),打开PC上的串口助手。
- 手机找到蓝牙后进行连接,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。
- 此时手机发送数据可在PC串口助手显示,PC串口发送数据可在手机显示。
4 两个蓝牙模块相互连接
配置蓝牙A为主机,指定地址连接;蓝牙B为从机。
- 蓝牙A、B进入AT模式。
- 设置B配对码,AT+PSWD=“0000”。
- 设置B从模式,AT+ROLE=0。
- 查询B地址,AT+ADDR,得到B地址XX:XX:XX。
- 设置A配对码,AT+PSWD=“0000”。(一定要一样)
- 设置A主模式,AT+ROLE=1。
- 设置A指定地址连接,AT+CMODE=0。
- A绑定B,AT+BIND=XX,XX,XX。
- 重新上电,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。