HC-05蓝牙模块主从连接配置(无坑)

本文详细介绍了如何配置HC-05蓝牙模块进行主从连接。通过USB转TTL或Arduino串口两种方式,阐述了接线步骤和AT指令的使用,特别指出指令必须大写以避免错误。成功配置后,HC-05模块的指示灯将显示连接状态。

做课程设计要用到两个HC-05连接,之前用过HC-06,拿原来那个方法配还是有些坑,搞了一下午最后还是成功了。尝试了两个方案,一是用usb转TTL配置;二是用Arduino(其它单片机也行)的串口直接配置

一,使用USB转TTL配置

接线

一般HC-05模块上有六个脚:VCC GND TX RX EN RESET

HC-05USB-TTL
VCC5V
GNDGND
TXRX
RXTX
ENVCC

接好线后,按住HC-05模块的复位键,上电,就能进入AT模式,此时指示灯慢闪。

AT指令

找一个串口上位机,设置:

波特率 38400文本模式发送回车

对从机(SLAVE):

指令功能
ATOK
AT+ORGL恢复出厂设置
AT+NAME=BTSLAVE设置蓝牙名称
AT+PSWD=“1234”设置连接密码1234,注意加英文双引号
AT+ROLE=00为从机模式
AT+CMODE=0连接模式为任意连接
AT+ADDR?查询mac地址,比如98d3:71:f61a16,每个设备都不一样
AT+UART=9600,0,0波特率9600,1个停止位,无校验

对主机(MASTER):

指令功能
ATOK
AT+ORGL
AT+NAME=BTMASTER
AT+PSWD=“1234”这个就是从机的密码
AT+ROLE=11为主机模式
AT+CMODE=0任意连接
AT+BIND=98d3,71,f61a16绑定从机地址,就是上面那个,:换成,
AT+UART=9600,0,0与从机保持一致

这里有个坑就是指令必须大写,小写会报错
配置好后把HC-05上的EN接线去掉,重新上电,这时候HC-05指示灯快闪;等待几秒钟,指示灯变成每隔5秒闪两次就说明已经连接上了。

二,用Arduino串口直接写入指令

适合批量写入,如果你刚好有一个Arduino板板,配置好的话会更快。接线除了RX,TX还要把EN连到Arduino的D2脚上

// 配置从机时把这个宏定义改为 0,主机为 1
#define MASTER 1
const unsigned char EN = 2;

void set_AT_cmd(char *cmd)
{
    char buff = '0';
    Serial.println(cmd);
    while(Serial.available())
    {
        buff = Serial.read();
        Serial.print(buff);
    }
    delay(500);
}

void setup() 
{
    pinMode(EN, OUTPUT);
    digitalWrite(EN, HIGH);
    Serial.begin(38400);

    set_AT_cmd("AT");
    set_AT_cmd("AT+ORGL");
    set_AT_cmd("AT+CMODE=0");
    set_AT_cmd("AT+PSWD=\"1234\"");
    set_AT_cmd("AT+UART=9600,0,0");
#if MASTER
    set_AT_cmd("AT+NAME=BTMASTER");
    set_AT_cmd("AT+ROLE=1");
    set_AT_cmd("AT+BIND=98d3,71,f61a16");
#else
    set_AT_cmd("AT+NAME=BTSLAVE");
    set_AT_cmd("AT+ROLE=0"); 
#endif  
}

void loop() 
{
    while(Serial.available())
    {
        buff = Serial.read();
        Serial.print(buff);
    }
}

参考:

  1. 解决HC05蓝牙模块主从配对失败及AT模式设置方案
  2. 两个HC-05蓝牙模块互相绑定构成无线串口模块
  3. [HC-05]2.如何使用两块蓝牙模块相互通讯?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值