最近在做课程设计 需要用到蓝牙模块 由于数据手册上写得比较难懂 所以整理资料后做此记录
1. HC-05模块介绍
在市场上hc-05模块有两种一种是有EN脚,另一种是KEY脚, 他们之间的差别在于进入AT模式的方法.
![](https://img.haomeiwen.com/i1228431/727eb695ea883b3f.png)
![](https://img.haomeiwen.com/i1228431/59fa1c665a936bb1.png)
引脚介绍:
- STATE:led灯状态
- RXD:Recibir Datos
- TXD:Transmitir Dato
- GND:GND
- VCC:5v
EN脚的模块
- EN:enable/disable 模块(一般不需要接)
KEY脚的模块
- KEY: 3.3v 或者 5v (看模块) 进入AT模式
灯状态:
- 不停闪烁:正常模式/等待连接模式
- 2秒亮2秒灭: AT模式/配置模式
- 每秒闪烁2次:连接成功
2.关于EN和KEY
若是EN脚的HC-05 模块每次进入AT模式需要按住板上的按钮后再给电。拥有KEY脚的模块就不需要,直接将KEY接VCC再模块给电即可。
如果觉得EN版的HC-05很麻烦也可以自己做一个KEY脚。下面图片你可以看见右边第一个焊接点就是KEY, 只要在这个点上在焊接条线我们就可以当成key脚来用。
![](https://img.haomeiwen.com/i1228431/8ad5f31b4f6fe19f.png)
![](https://img.haomeiwen.com/i1228431/0a12db6a628ab1bb.png)
3.如何进入AT模式?
这里使用Arduino来演示。
引脚接线:
-
KEY版HC-05
-
EN版HC-05
VCC
GND
TXD -- pin6(Arduino)
RXD -- pin7(Arduino)
STATE -- 闲置
EN --- 闲置
进入AT模式:
一般进入AT模式需要连接KEY到3.3v,但是我买的这个是EN版模块没KEY脚,打开AT模式需要按住上面的按钮然后连接电源才能开启AT模式。
Arduino代码
//在这里我们导入SoftwareSerial.h
#include <SoftwareSerial.h>
//初始一个软件串口 serial2(Txd, Rxd)
SoftwareSerial serial2(6,7);
void setup() {
//连接电脑串口
Serial.begin(9600);
//连接hc-05串口,AT模式默认串口速度是38400:
serial2.begin(38400);
Serial.println("init serial port AT");
}
void loop() {
//把电脑输入串口的字符 写入到 hc-05 的串口中
if(Serial.available())
serial2.write(Serial.read());
//把hc-05的串口输出的字符 输出到电脑串口中
if(serial2.available())
Serial.write(serial2.read());
}
注意: 串口窗口一定要换成 NL CR. 否则看不到hc-05模块的输出。
![](https://img.haomeiwen.com/i1228431/bce1c50eeb160474.png)
-
输入 AT 确认有没有进入AT模式,返回ok 说明已经进入。
如果没反应或者返回ERROR,则看看hc-05的显示灯,每隔2秒闪烁说明已经 AT模式,Tx 和 Rx 可能接错。
-
然后你就可以输入其他的AT指令
基本AT指令设置
指令 | 描述 |
---|---|
AT+NAME? / AT+NAME=<param> | 询问模块名字 / 设置名字 |
AT+PSWD? / AT+PSWD=<param> | 询问密码 / 设置密码 |
AT+UART? / AT+UART=<param><param><param> | 设置通讯参数 默认9600,0,0 |
AT+ROLE? / AT+ROLE=<param> | 0 从, 1 主 |
AT+ADDR | 当前模块的地址 |
AT 指令错误:
错误 | 描述 |
---|---|
0 | AT command error |
1 | The result is default value |
2 | PSKEY write error |
3 | Device name is too long (mbytes) |
4 | Device name is 0 byte |
5 | Bluetooth address: NAP is too |
6 | Bluetooth address: UAP is too |
7 | Bluetooth address: LAP is too |
8 | PIO port mask length is 0 |
9 | Invalid PIO port |
A | Device class is 0 byte |
B | Device class is too long |
C | Inquire Access Code length is 0 |
D | Inquire Access Code is too long |
E | Invalid Inquire Access Code |
F | Pairing password is 0 |
10 | Pairing password is too long (more than 16 bytes) |
11 | Role of module is invalid |
12 | Baud rate is invalid |
13 | Stop bit is invalid |
14 | Parity bit is invalid |
15 | No device in the pairing list |
16 | SPP is not initialized |
17 | SPP is repeatedly initialized |
18 | Invalid inquiry mode |
19 | Inquiry timeout |
1A | Address is 0 |
1B | Invalid security mode |
1C | Invalid encryption mode |
网友评论