HC05蓝牙模块
HC-05 蓝牙串口通信模块,是基于 Bluetooth Specification V2.0 带 EDR 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-85dBm,板载 PCB 天线,可以实现 10 米距离通信。模块采用邮票孔封装方式,模块大小 27mm×13mm×2mm,方便客户嵌入应用系统之内,自带 LED 灯,可直观判断蓝牙的连接状态。模块采用 CSR 的 BC417 芯片,支持 AT 指令,用户可根据需要更改角色(主、从模式)以及串口波特率、设备名称等参数,使用灵活。
模块来源
规格参数
工作电压:3.6-6V
供电电流:40mA
发射功率:4dBm(最大)
参考距离:10米
控制方式:串口
管脚数量:6 Pin(2.54mm间距排针)
使用说明
使用HC05蓝牙模块之前,需要知道蓝牙模块的波特率,这样我们才能控制它。将蓝牙模块开发板进行连接,蓝牙模块的TX接开发板的TX,RX接RX。在插入电脑之前,按住模块上的按键再通电,插入电脑通电后此时模块上的灯是慢闪,HC-05进入AT命令模式,默认波特率是38400;此模式我们叫原始模式。原始模式下一直处于AT命令模式状态。
进入AT命令模式之后,最主要的是设置模式为从机控制,即等待手机去连接我们蓝牙模块的蓝牙,主要由手机控制。发送指令时需要注意,每一条指令都要加上\r\n或者勾选发送新行,不然是识别不到命令的。
关键指令说明
测试指令:
指令 | 响应 | 参数 |
---|---|---|
AT | OK | 无 |
设置/查询-模块角色:
设置/查询-串口参数:
配置完成完成之后,给蓝牙模块断电再通电,模块上的灯快速闪烁,说明处于正常工作状态。 打开手机的蓝牙功能进行搜索,会发现我们的蓝牙模块名称:HC-05。连接时需要输入PIN码,而我们在之前AT模式时,已经查询过为1234。
连接手机成功之后,模块上的灯进入慢闪状态,说明已经连接成功。 在手机端打开蓝牙通信软件,测试能否与电脑互传数据。
硬件连接
- HC-05 VCC 接 开发板 5V
- HC-05 GND 接 开发板 GND
- HC-05 TXD 接 开发板 2 号引脚
- HC-05 RXD 接 开发板 3 号引脚
使用方法
下面这个简单的例子展示如何设置开发板来通过串口监听HC-05模块,并且当接收到来自配对设备的数据时,开发板会将收到的数据再发送回去(回声测试)。 注意,蓝牙模块的波特率不要设置大于等于115200,不然将无法通信。
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月11日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <SoftwareSerial.h>
// Pin2为RX,接HC05的TXD
// Pin3为TX,接HC05的RXD
SoftwareSerial BT(2, 3);
char val;
void setup() {
pinMode(2,INPUT);
pinMode(3,OUTPUT);
Serial.begin(9600);
Serial.println("BT is ready!");
BT.begin(9600);
}
void loop() {
//将串口调试助手上的数据通过蓝牙发送到手机APP
if (Serial.available()) {
val = Serial.read();
BT.print(val);
}
//将手机上蓝牙APP发送过来的数据通过蓝牙发送到串口调试助手
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
使用验证
手机发送hello lckfb,然后接收到hello