暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Arduino】使用HC05蓝牙模块与手机连接

修电脑的杂货店 2021-04-27
1400

通过本文,可以了解到以下内容:

  • 进入 AT 模式进行蓝牙基本参数设置

  • Arduino 蓝牙控制 LED 电路设计以及代码编写

  • 利用 Andorid 蓝牙串口调试软件测试功能



进入 At 模式进行蓝牙基本参数设置


想要使用 Arduino 的蓝牙模块,首先要对蓝牙模块进行基本参数设置。基本参数设置主要包含:蓝牙名称、模式以及匹配密码等。设置蓝牙模块可以使用 USB-TTL 连接电脑使用串口调试软件进入 AT 模式进行设置,也可以使用 Arduino 连接蓝牙模块进行设置,本文主要介绍后一种方法。


注意事项


在连接蓝牙的时候,要注意线的连接是否正确,检查清楚再进行通电,除此之外,还要主要不要让针脚短路,我在首次使用蓝牙模块的时候,因为没注意接线,导致一个蓝牙模块损坏了,只能发信息不能收信息,所以为了避免不必要的损失,这里要注意。


Arduino HC05 AT模式接线


进入 AT 模式设置蓝牙的接线如下:

Arduino 5V - VCC

Arduino GND - GND

Arduino Pin10 - TXD

Arduino Pin11 - RXD

在通电前检查接线是否正确连接。



Arduino 进入 AT 模式代码

接下来,我们需要为使用 Arduino 设置蓝牙模块 AT 模式编写程序,这个程序是让我们可以通过 Arduino IDE 提供的串口监视器来设置蓝牙模块。详细的 Arduino 代码如下:



#include <SoftwareSerial.h> 


// Pin10为RX,接HC05的TXD

// Pin11为TX,接HC05的RXD

SoftwareSerial BT(10, 11); 

char val;


void setup() {

  Serial.begin(38400); 

  Serial.println("BT is ready!");

  // HC-05默认,38400

  BT.begin(38400);

}


void loop() {

  if (Serial.available()) {

    val = Serial.read();

    BT.print(val);

  }


  if (BT.available()) {

    val = BT.read();

    Serial.print(val);

  }

}



利用 Arduino IDE 串口监视器进行调试

首先,将 Arduino 断电,然后按着蓝牙模块上的黑色按钮,再让 Arduino 通电,如果蓝牙模块指示灯按2秒的频率闪烁,表明蓝牙模块已经正确进入 AT 模式。
打开 Arduino IDE 的串口监视器,选择正确的端口,将输出格式设置为 Both: NL & CR ,波特率设置为 38400 ,可以看到串口监视器中显示 BT is ready! 的信息。
然后,输入 AT ,如果一切正常,串口显示器会显示 OK。

接下来,我们即可对蓝牙模块进行设置,常用 AT 命令如下:


AT+ORGL    

# 恢复出厂模式 


AT+NAME=<Name>    

# 设置蓝牙名称 AT+ROLE=0    

# 设置蓝牙为从模式 AT+CMODE=1    

# 设置蓝牙为任意设备连接模式 


AT+PSWD=<Pwd>    

# 设置蓝牙匹配密码



正常情况下,命令发送后,会返回 OK ,如果没有返回任何信息,请检查接线是否正确,蓝牙模块是否已经进入 AT 模式,如果上述两点都没有问题,可能是蓝牙模块的问题,可以找蓝牙模块供应商咨询。

设置完毕后,断开电源,再次通电,这时,蓝牙模块指示灯会快速闪烁,这表明蓝牙已经进入正常工作模式。


利用 Andorid 手机连接 Arduino 并控制 LED灯开关

我们完成了对蓝牙模块的设置后,我们将做一个可以通过手机蓝牙连接,控制 Arduino 开关 LED 灯的小实验。


Arduino 电路设计

这里的电路设计比较简单,主要是两部分:



Arduino 与 HC05 模块连接

Arduino 与 LED 连接



这里有两点需要注意,Arduino 上的 TXD 应与 HC05 模块上的 RXD 端连接,Arduino 上的 RXD 应与 HC05 模块上的 TXD 连接。

在下面的图例中,我的 LED 是直接连接在 Arduino Pin13 上,而实际电路连接中,因根据连接的 Led 灯的设计考虑是否需要串联电阻。


Arduino 蓝牙控制 LED 灯 程序设计

Arduino 程序代码如下:


void setup()

{

  // 设置波特率为 38400

  Serial.begin(38400);

  pinMode(13, OUTPUT);

}



void loop()

{

  while(Serial.available())

  {

    char c=Serial.read();

      if(c=='1')

      {

        Serial.println("BT is ready!");

        // 返回到手机调试程序上

        Serial.write("Serial--13--high");

        digitalWrite(13, HIGH);

      }

     if(c=='2')

     {

       Serial.write("Serial--13--low");

       digitalWrite(13, LOW);

     }

  }

}




Android 手机端调试

在 Android 端上进行调试,需要下载蓝牙串口调试 APP,可以根据喜好在各大应用商场搜索下载

下载安装完成 APP 后,我们先打开手机的蓝牙设置,搜索并匹配好我们的蓝牙模块。然后打开 蓝牙串口调试APP ,让 APP 连接上蓝牙模块,然后我们可以在 APP 中输入 1,接下来可以看到 LED 等亮了,并且能在 APP 中看到 Serial--13--high 的返回(有些 APP 返回值可能不是返回在同一行)。我们再在 APP 中输入 2,可以看到 LED 熄灭, APP 中返回 Serial--13--low。



小结

在这篇文章中,我们了解了在 Arduino 中使用 HC05 蓝牙模块的两个主要步骤,首先是进入 AT模式 对蓝牙模块进行设置,这里要注意接线的正确性,设置完成后,就可以将蓝牙模块的 TX 与 Arduino RX 连接,RX 与 Arduino TX 连接,再通过 Arduino 程序中的 Serial 来实现数据的传输与读取。最后,在通过 Android 上的蓝牙串口调试APP,来测试我们的试验是否成功。




对这篇容对你有帮助,或者对本公众号内容有兴趣的同学可以加入官方QQ群详细交流探讨,互相学习共同进步,源码和具体操作流程,也会放到群里,如果有不懂得细节,群里也会有人回答。快加入我们的大家庭QQ群号:559369389  欢迎新成员的到来!


交流分享


官微君是一个立志于

实现电脑代替自己所有工作

而自己能躺在一边数钱的小人物

喜欢硬件编程

项目开发和各种有趣的想法

不管你是有梦想的孩子,还是算法大牛

君君都希望能和你共同进步




从今天起,

小编将在微信后台

以及评论区回复哦~ 

欢迎咨询问题!

小编定当知无不言

言无不尽!


长按以识别二维码关注~
你不主动,
我们怎么有故事~
文章转载自修电脑的杂货店,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论