看懂HC-06蓝牙模块
蓝牙模块的小知识
主机:用于向从机下发指令,能够搜索从机并主动建立连接的一方。
从机:用于接收主机下发的命令,不能主动建立连接,只能等别人连接自己。(HC-06只能工作在从机模式下。)
主从一体:能够在主机和从机模式间切换,即可做主机也可作从机。如:HC-05既可以设置为主机也可以设置为从机。
HC-06的引脚图
HC-05和HC-06的硬件相同,都采用CSR (Cambridge Silicon Radio) 公司的BC417143芯片,支持蓝牙2.1+EDR规范,只是芯片內部的控制程序不同。
不管是HC-05还是HC-06,对于Arduino控制程序都是一样的,实际接线也只用到4个引脚:VCC、GND、TxD、RxD。
HC-06蓝牙模块的AT指令
Arduino UNO板的输出电压是5V。市面上很多蓝牙模块都标示工作电压是3.3V,因此,若直接把Arduino连接到蓝牙模块,有可能发生损坏。也有一些模块在底部区域设置了1KΩ的限流电阻,方便大家使用5V供电,选购时需要注意。通常可采用万用表「电阻」档,测量底板RxD引脚和蓝牙模块本身(就是焊接上去那块板)的第2脚,如果电阻值为接近于0,则代表沒有限流电阻。如下图:
如没有设置限流电阻也可以采用下面的连接方式,人为加入限流电阻:
使用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); } }