在日常生活中我们经常会有通过蓝牙传输数据的场景,比如手机连接蓝牙耳机听歌,再比如两部手机可以通过连接蓝牙传输文件。那么蓝牙究竟是如何通信的呢?通过本篇笔记,你将学到如何通过蓝牙做一个简单的控制系统。
在本篇笔记中我们用到的主要是Arduino开发板和HC-05蓝牙模块。在实验中我们需要注意的是蓝牙模块需要的电压是5V直流电,注意接线方式以免烧坏电路板。
想要使用 Arduino 的蓝牙模块,首先要对蓝牙模块进行基本参数设置。基本参数设置主要包含:蓝牙名称、模式以及匹配密码等。
设置蓝牙模块有两种方法。第一种可以使用 USB-TTL 连接电脑使用串口调试软件进入 AT 模式进行设置,第二种使用 Arduino 连接蓝牙模块进行设置,本文主要介绍后一种方法。
一、设置蓝牙模块。
1、电路连接:关于电路的连接,可以参考下方的示意图。
HC05的VCC连接+5V,GND连接GND,TXD连接Pin10,RXD连接Pin11。
2、Arduino进入蓝牙设置模式(AT模式)。
将下述代码编译后烧录到开发板中。
- #include <SoftwareSerial.h>
- // Pin10为RX,接HC05的TXD
- // Pin11为TX,接HC05的RXD
- SoftwareSerial BT(10, 11);
- char val;
- void setup() {
- Serial.begin(38400);
- Serial.println("BT is ready!");
- // HC-05默认,38400
- BT.begin(38400);
- }
- void loop() {
- if (Serial.available()) {
- val = Serial.read();
- BT.print(val);
- }
- if (BT.available()) {
- val = BT.read();
- Serial.print(val);
- }
- }
将 Arduino 断电,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频率闪烁,表明蓝牙模块已经正确进入 AT 模式。打开 Arduino IDE 的串口监视器,选择正确的端口,将输出格式设置为 Both: NL & CR ,波特率设置为 38400 ,可以看到串口监视器中显示 BT is ready! 的信息。
然后,输入 AT ,如果一切正常,串口显示器会显示 OK。
接下来,我们即可对蓝牙模块进行设置,常用 AT 命令如下:
- AT+ORGL # 恢复出厂模式
- AT+NAME=<Name> # 设置蓝牙名称
- AT+ROLE=0 # 设置蓝牙为从模式
- AT+CMODE=1 # 设置蓝牙为任意设备连接模式
- AT+PSWD=<Pwd> # 设置蓝牙匹配密码
正常情况下,命令发送后,会返回 OK ,如果没有返回任何信息,请检查接线是否正确,蓝牙模块是否已经进入 AT 模式,如果上述两点都没有问题,可能是蓝牙模块的问题,可以找蓝牙模块供应商咨询。设置完毕后,断开电源,再次通电,这是,蓝牙模块指示灯会快速闪烁,这表明蓝牙已经进入正常工作模式。