Arduino使用HC05蓝牙模块与手机链接(转载)

经过本文,能够了解到如下内容:git

  • 进入 AT 模式进行蓝牙基本参数设置
  • Arduino 蓝牙控制 LED 电路设计以及代码编写
  • 利用 Andorid 蓝牙串口调试软件测试功能

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

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

注意事项

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

Arduino HC05 AT模式接线

进入 AT 模式设置蓝牙的接线以下:
Arduino 5V - VCC
Arduino GND - GND
Arduino Pin10 - TXD
Arduino Pin11 - RXD
在通电前检查接线是否正确链接
测试

Arduino 进入 AT 模式代码

接下来,咱们须要为使用 Arduino 设置蓝牙模块 AT 模式编写程序,这个程序是让咱们能够经过 Arduino IDE 提供的串口监视器来设置蓝牙模块。详细的 Arduino 代码以下ui

#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 命令以下:google

AT+ORGL    # 恢复出厂模式
AT+NAME=<Name>    # 设置蓝牙名称
AT+ROLE=0    # 设置蓝牙为从模式
AT+CMODE=1    # 设置蓝牙为任意设备链接模式
AT+PSWD=<Pwd>    # 设置蓝牙匹配密码

正常状况下,命令发送后,会返回 OK ,若是没有返回任何信息,请检查接线是否正确,蓝牙模块是否已经进入 AT 模式,若是上述两点都没有问题,多是蓝牙模块的问题,能够找蓝牙模块供应商咨询。
设置完毕后,断开电源,再次通电,这是,蓝牙模块指示灯会快速闪烁,这代表蓝牙已经进入正常工做模式。url

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

咱们完成了对蓝牙模块的设置后,咱们将作一个能够经过手机蓝牙链接,控制 Arduino 开关 LED 灯的小实验。spa

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模式 对蓝牙模块进行设置,这里要注意接线的正确性,设置完成后,就能够将蓝牙模块的 TXArduino RX 链接,RXArduino TX 链接,再经过 Arduino 程序中的 Serial 来实现数据的传输与读取。最后,在经过 Android 上的蓝牙串口调试APP,来测试咱们的试验是否成功。

参考资料

蓝牙模块HC05
Arduino Bluetooth Basic Tutorial

做者:speculatecat 连接:https://www.jianshu.com/p/4ebf1a01df51 來源:简书 简书著做权归做者全部,任何形式的转载都请联系做者得到受权并注明出处。