Arduino HC-06 蓝牙模块使用小结

简介

蓝牙,顾名思义,蓝色的牙齿,并不能用来咬人,而是一种无线数据传输标准。 HC-05HC-06 是现在使用较多的两种蓝牙模块。两者之间的区别是 HC-05主从一体机,既能向自己的“主子”打小报告,也可以接收下达的命令;而 HC-06 只能工作在从机模式下,那就只能乖乖接收上级的命令啦。 在很多情况下,我们都想当“霸道总裁”,让下级乖乖听话就 OK 了,不需要他多废话。那就用 HC-06 就够了。 下面是 HC-06 的模块示意图: 示意图

可以看到它有 4 个引脚,那么它接线如下:

接线图

在这里,我并没有使用 Arduino 的 0,1 号口,而是使用了两个数字口。这样就不会占用 Arduino 自身的串口。

AT模式

在按照上面的接线之后,HC-06 会自动进入 AT 模式,在这个模式下,可以通过串口对蓝牙模块进行一些诸如修改名称、密码的操作。 注意:AT 命令一定要大写,中间的“+”不可省略

指令返回功能
ATOK确认连接
AT+VERSIONOKlinvorV1.8查看版本
AT+NAMExxxxOKsetname设置蓝牙名称
AT+PINxxxxOKsetPIN设定密码
------------
AT+BAUD1OK1200波特率设为1200
AT+BAUD2OK2400波特率设为2400
AT+BAUD3OK4800波特率设为4800
AT+BAUD4OK9600波特率设为9600
AT+BAUD5OK19200波特率设为19200
AT+BAUD6OK38400波特率设为38400
AT+BAUD7OK57600波特率设为57600
AT+BAUD8OK115200波特率设为115200

其中 xxx 替换成自己想要的。 不建议设置更高的波特率,通信会不稳定

 1
 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
/*
 Name:    Bluetooth.ino
 Created: 2016/7/30 13:26:47
 Author:  Fing
*/
#include <SoftwareSerial.h>
// 使用软件串口,能讲数字口模拟成串口
SoftwareSerial BT(8, 9);  // 新建对象,接收脚为8,发送脚为9
char val;  // 存储接收的变量

void setup() {
  Serial.begin(9600);   // 与电脑的串口连接
  Serial.println("BT is ready!");
  BT.begin(9600);  //设置波特率
}

void loop() {
  // 如果串口接收到数据,就输出到蓝牙串口
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }

  // 如果接收到蓝牙模块的数据,输出到屏幕
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}

连接 Arduino,写入程序。进入串口,输入 AT,看看是不是有 OK 返回。 之后就可以愉快地使用 HC-06 模块了。

手机连接调试蓝牙

通过 SPP 蓝牙助手可以实现连接蓝牙和与蓝牙之间的通信。 我用的是 unWired Lite,可以在 Play 市场上下载到。 有些国内开发者也有相关的作品,自行搜索便可。

加载评论