arduino蓝牙模块HC-06主从机配对问题
一直纠结于无线串口的使用,433数传 这个B都略贵。还是蓝牙模块性价比较高。索性花了十几块买了两个HC06模块。这下头疼了,所有购买的模块都是从机模式,搜索全是HC05的资料,06的资料少之又少,刚开始使用05的资料套,大多指令都不一样。最重要的是我没有usb转串口的模块,还好我有R3板子,日了狗,折腾一下午。
#include <SoftwareSerial.h>
SoftwareSerial sc(7, 8);
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
sc.begin(9600);
}
void loop() {
while (Serial.available())
{
char shuju = Serial.read();
sc.print(shuju);
char c = sc.read();
Serial.print(c);
}
}
因为没有转换模块,所以用板子代替,还好arduino有软窜口的库,看程序将蓝牙模块TX,RX,接好,这里因为模块出场设置的波特率是9600,停止位为1,这里我们就不用再去过多的设置,好。。。开始发射AT指令
打开串口,依次输入
AT
返回ok
//下一步更改波特率
发送:AT+BAUD1
返回:OK1200发送:AT+BAUD2返回:OK2400……1---------12002---------24003---------48004---------96005---------192006---------384007---------576008---------115200
///////两个模块波特率必须一直,更改方法相同
更改模块主从
AT+ROLE=M//设置为主
//返回
OK+ROLE:M//
AT+ROLE=S
//返回
ok+ROLE:S
//设置对方密码
AT+PINXXXX///四位,最好设置的密码跟主机一样
主机模块设置完成
断电后将量模块通电,就有。。。。。gg...完
设置完成后双机通信
主机程序:
#include <SoftwareSerial.h>
SoftwareSerial sc(7, 8);
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
sc.begin(9600);
}
void loop() {
while (Serial.available())
{
char shuju = Serial.read();
sc.print(shuju);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
从机程序:
#include <SoftwareSerial.h>
SoftwareSerial sc(6, 7);
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
sc.begin(9600);
}
void loop() {
while (sc.available())
{
char shuju = sc.read();
Serial.print(shuju);
}
}
楼主,你连线是怎么连的,我的怎么不行啊,是hc5的 最好是图文并茂啊 !! 难道地址都不用设置吗? http://www.arduino.cn/thread-47650-1-1.html
可以做参考,关于hc05和hc06的配对连接 hc-06模块其他AT指令都可以通过串口助手有效执行,只有AT+ROLE =M和AT+ROLE =S两句指令返回ERROR106,有没有大神指导
页:
[1]