一、简介
HC-05是一款蓝牙串口模块,与典型的串口模块相似,可通过UART通信发送和接收数据。 它可以很方便地与其他设备进行蓝牙通信,例如智能手机,平板电脑等,实现无线控制。 HC-05是最常见的蓝牙设备之一,其简单的接口和低成本让它成为电子爱好者和工程师的首选。
二、基本连接
连接HC-05需要三个要素:电源,地面和数据。 - 电源: HC-05工作范围是在3.3V-5V,数据手册中建议的工作电压是3.6V-6V,为了确保最佳性能,我们选择为HC-05控制用3.3V的电源。 - 地面: 页面下方显示的黑色矩形区域是HC-05的接地引脚,需要被连接到电路板上的GND。 - 数据: HC-05有四个引脚可供使用:VCC,GND,RXD和TXD。这里我们只关注RXD和TXD。RXD输入信号,TXD输出信号。 如果您使用的是基于Arduino的电路板,请将RXD引脚接到板的数字引脚0,TXD引脚连接到数字引脚1。
void setup() { Serial.begin(9600); // 设定串口传输速度 pinMode(13, OUTPUT); // 将13号引脚设为输出 } void loop() { if (Serial.available()) { char input = Serial.read(); // 读取输入的字符 if(input == 'on') { digitalWrite(13, HIGH); // 在收到 'on'时, 点亮板的LED灯 } else if(input == 'off') { digitalWrite(13, LOW); // 在收到 'off'时, 关闭板的LED灯 } } }
三、AT 指令
AT命令是通过串行通信与HC-05进行通信的命令集。您可以发送不同的AT命令来更改HC-05的配置。 在AT模式下,HC-05只能使用UART传输,并被配置为数据速率为38400的串口。 您可以使用串行终端程序(例如推荐使用的RealTerm)通过USB连接匹配的 Arduino,从而直接翻译命令并将其发送到蓝牙模块。 下面是几个常用的AT命令: - AT - 用于测试HC-05是否处于连接状态。如果连接成功,HC-05将响应“OK”。 - AT+NAME - 设置HC-05蓝牙设备的名称。例如:AT+NAMEbluetooth,这将把设备名称设置为“bluetooth”。 - AT+ROLE - 配置连接角色,0为主机,1为从机。例如:AT+ROLE1,这将把HC-05设置为从机。 - AT+UART - 用于设置UART数据速率、停止位和奇偶校验,例如:AT+UART=9600,0,0,设置数据速率为9600。 下面是一个AT模式下的示例代码: void setup() { Serial.begin(38400); // HC-05默认使用38400的波特率 Serial.println("AT"); // 发送AT命令 } void loop() { // 等待从HC-05返回响应的数据 while (Serial.available()) { Serial.write(Serial.read()); // 将读取到的数据传输出去 } }
四、与模块通信
Arduino可以通过HC-05轻松实现与其他设备的通信。以下示例展示了如何使用HC-05将Arduino与Android设备配对,并在两者之间进行通信:
#includeSoftwareSerial bluetooth(2, 3); // RX, TX // 如果您使用的是基于Arduino的电路板,将RXD引脚接到板的数字引脚2,TXD引脚连接到数字引脚3。 void setup() { Serial.begin(9600); bluetooth.begin(9600); } void loop() { if (bluetooth.available()) { //检查蓝牙模块是否可读取 Serial.write(bluetooth.read()); // 从蓝牙读取数据 } if (Serial.available()) { // 检查串口是否可读取 bluetooth.write(Serial.read()); // 向蓝牙发送数据 } }
五、总结
HC-05是一种经济实惠的蓝牙模块,用于电子爱好者和工程师的无线控制,简单易用。仅需三个接线连接,您就可以开始使用HC-05进行通信。 在这篇文章中,我们介绍了HC-05的基本连接,AT命令和Arduino与其他设备通信的示例。希望这篇文章能够为您提供帮助。