用HC-06和HC-06实现蓝牙连接
HC-06买的是主从一体模块,另一个HC-06买的是从机模块。注意:只有一个主机和一个从机才可以实现配对。
- 首先需要两个上位机,分别用于连接HC-06一体机和HC-06从机。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f84f5a8af67497758cba293efd917b9f.png)
- 给两个模块分别上电。**注意:HC06从机直接上电,HC06一体机需要先接KEY或按住黑色小按键再上电。**两个模块即可进入AT模式。
- 上传
Arduino程序
。
/*
测试通信之前首先要了解一下通信的流程
PC电脑连接单片机,单片机连接蓝牙模块
在电脑上用串口发送AT指令到单片机
单片机接收到指令后通过数字口9发送指令到蓝牙模块的RX端
蓝牙模块接收指令后通过TX发送给单片机数字口8
单片机通过数字口8接收指令后再通过usb线输出到pc电脑
【连线】
数字口8----TXD
数字口9----RXD
VCC-----VCC
GND-----GND
*/
#include <SoftwareSerial.h>
SoftwareSerial BluetoothSerial(8, 9); // RX, TX
char value; //用于中转数据
void setup() {
//打开串行通信,等待端口打开:
Serial.begin(9600);
while (!Serial) {
; // 等待串口连接。
}
Serial.println("Serial Connected!");
// 设置蓝牙串口通讯的速率 HC06默认是9600
BluetoothSerial.begin(9600);
}
void loop() { // 循环
if (Serial.available()) { //检测单片机串口状态
value = Serial.read();
BluetoothSerial.write(value);//蓝牙模块将数据发送给单片机
}
if (BluetoothSerial.available()) {//检测蓝牙模块串口状态
value = BluetoothSerial.read();
Serial.write(value); //单片机将指令发送到蓝牙模块
}
}
- 上传程序后,用上位机分贝打开两个串口。
- 先设置HC-06一体机。进入AT模式,发送“AT”,接受到“OK”;修改名字,发送“AT+NAMEname”,收到“OKname”;修改密码,发送“AT+PIN2020”,收到“OKsetpin”;设置为主机模式,发送“AT+ROLE=M”,收到“OK+ROLE=M”。
- 再设置HC-06从机。进入AT模式,发送“AT”,接受到“OK”;修改名字,发送“AT+NAMEname”,收到“OK”;修改密码,发送“AT+PIN2020”,收到“OKsetpin”(注意密码两个密码相同)。由于本身HC-06从机就是从机,所以不需要再设置模式。
- 将两个模块断电,再重新上电,发现HC-06一体机慢闪,HC-06从机依旧快闪。5S后,两个均常亮,连接完成。
- 测试连接是否成功。打开两个上位机,打开两个串口,在一个上位机随便发送一个内容“123”,可以在另一个上位机收到同样的内容“123”,说明连接成功。