美文网首页我爱编程
Arduino蓝牙模块HC-05的AT配置

Arduino蓝牙模块HC-05的AT配置

作者: 0e234f032049 | 来源:发表于2016-07-16 19:34 被阅读5923次

Arduino Uno并不自带蓝牙模块,需要额外购买蓝牙模块。一种常见的蓝牙模块是HC-05,出场设置中默认名称为HC-05,密码1234。网上有很多介绍通过蓝牙AT指令集更改蓝牙属性的资料,可是都提到了AT接口,然而我购买的HC-05并没有AT接口(见下图),只有STATE, RX, TX, GND, +5V, EN这几个接口。下面介绍如何开启AT状态并且更改设置。

蓝牙模块

连接方法


Arduino与蓝牙模块的基本连接方法是:+5V --> 5V, GND --> GND, 蓝牙RX --> Arduino的TX, 蓝牙TX --> Arduino的RX。一个可以正常工作的蓝牙模块连接方式如下图:

连接方法

更改属性


AT指令集

向HC-05发送AT指令,只需要在HC-05在AT状态下通过波特率38400发送即可。常用的AT指令有:

  • AT --> 返回OK,表明在AT状态

  • AT+NAME=<名称> --> 更改蓝牙名称

  • AT+ADDR? --> 打印蓝牙地址

  • AT+PSWD=<密码> --> 设置配对密码

编写程序

下面的Arduino程序首先发送指令,然后接收指令执行状态:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(38400);
 
}

void sendcmd()
{
    Serial.println("AT");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  } // Get response: OK
  delay(1000); // wait for printing 

  
  Serial.println("AT+NAME=KailaideBluetooth");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);

  Serial.println("AT+ADDR?");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);

  Serial.println("AT+PSWD=0000");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);
  
}


void loop() {
    sendcmd();
}

烧录程序

这里需要注意的是,在烧制程序的时候,需要断开蓝牙模块与主板的连接。

开启AT状态

HC-05开启AT状态的方法是:按住HC-05的复位键的同时,为蓝牙模块上电。


复位键

这是,如果发现状态灯在缓慢闪烁,就可以认定已经打开了AT状态。

打开监视器,并将波特率调为38400,我们就可以看到相应的命令与返回结果。

监视器

这样,我们就将地址为98d3:36:9cdf的蓝牙密码改为0000,名字改为KailaideBluetooth:

蓝牙搜索结果

相关文章

网友评论

    本文标题:Arduino蓝牙模块HC-05的AT配置

    本文链接:https://www.haomeiwen.com/subject/treujttx.html