看懂HC-06蓝牙模块

  • 内容
  • ....
  • 相关

蓝牙模块的小知识

HC-06蓝牙模块

主机:用于向从机下发指令,能够搜索从机并主动建立连接的一方。

从机:用于接收主机下发的命令,不能主动建立连接,只能等别人连接自己。(HC-06只能工作在从机模式下。)

主从一体:能够在主机和从机模式间切换,即可做主机也可作从机。如:HC-05既可以设置为主机也可以设置为从机。

HC-06的引脚图

HC-05和HC-06的硬件相同,都采用CSR (Cambridge Silicon Radio) 公司的BC417143芯片,支持蓝牙2.1+EDR规范,只是芯片內部的控制程序不同。

HC06 引脚图

不管是HC-05还是HC-06,对于Arduino控制程序都是一样的,实际接线也只用到4个引脚:VCC、GND、TxD、RxD。

HC-06蓝牙模块的AT指令

Arduino UNO板的输出电压是5V。市面上很多蓝牙模块都标示工作电压是3.3V,因此,若直接把Arduino连接到蓝牙模块,有可能发生损坏。也有一些模块在底部区域设置了1KΩ的限流电阻,方便大家使用5V供电,选购时需要注意。通常可采用万用表「电阻」档,测量底板RxD引脚和蓝牙模块本身(就是焊接上去那块板)的第2脚,如果电阻值为接近于0,则代表沒有限流电阻。如下图:

测量蓝牙模块是否设置限流电阻

如没有设置限流电阻也可以采用下面的连接方式,人为加入限流电阻:

HC06如何加限流电阻

使用AT指令前,最好有一块USB转TTL的模块,将蓝牙模块与USB转TTL模块连接完成(注意两者间的RX和TX要交叉连接),即可通过串口终端使用AT指令对模块进行相应的配置,AT指令集如下表:(USB转TTL小板购买地址

AT指令 终端返回信息 功能描述
AT OK 确认连接状态
AT+VERSION OK linvor V1.8 查看软件版本号
AT+NAMEOOO OK setname 设置蓝牙名称
AT+PINOOOO OK setPIN 设定密码
AT+BAUD1 OK 1200 将波特率设置为:1200
AT+BAUD2 OK 2400 将波特率设置为:2400
AT+BAUD3 OK 4800 将波特率设置为:4800
AT+BAUD4 OK 9600 将波特率设置为:9600
AT+BAUD5 OK 19200 将波特率设置为:19200
AT+BAUD6 OK 38400 将波特率设置为:38400
AT+BAUD7 OK 57600 将波特率设置为:57600
AT+BAUD8 OK 115200 将波特率设置为:115200

HC-06蓝牙模块的测试代码

蓝牙模块与Arduino连接完成,AT指令配置完成后即可通过下面的代码对模块功能进行测试。

/***************************
*Name:    HC06.ino
*Created: 2018/7/26 13:26:47
*Author:  Basemu.com
****************************/
#include
//使用SoftwareSerial,能将Arduino的数字输出引脚模拟成串口输出;
SoftwareSerial BT(8, 9);  //配置接收脚为8脚,发送脚为9脚;
char val;//存储变量

void setup() {
Serial.begin(9600); //设置串口;
Serial.println("BT_HC06 ready for use!");
BT.begin(9600); //设置串口波特率;
}

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

//如果HC06接收到数据;
if (BT.available()) {
val = BT.read();
Serial.print(val);
}
}