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

2018-11-251.8万
AI 快速预览详细 收起
本文介绍了如何使用Arduino和HC05蓝牙模块进行连接。首先,通过按住蓝牙模块上的黑色按钮并通电,可以将HC05蓝牙模块正确进入AT模式,进行基本参数设置,如蓝牙名称、模式和匹配密码。然后,提供了详细的接线图和代码示例,帮助用户实现Arduino与HC05蓝牙模块的连接,并通过Android蓝牙串口调试软件进行功能测试。
Arduino使用HC05蓝牙模块与手机连接
通过本文,可以了解到以下内容:
  • 进入 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 代码如下:
1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

#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 命令如下:
1

2

3

4

5

AT+ORGL    # 恢复出厂模式

AT+NAME=<Name>    # 设置蓝牙名称

AT+ROLE=0    # 设置蓝牙为从模式

AT+CMODE=1    # 设置蓝牙为任意设备连接模式

AT+PSWD=<Pwd>    # 设置蓝牙匹配密码




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



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
txm派瑞深山锹🐛🐜🐞🦂
txm派瑞深山锹🐛🐜🐞🦂
为啥没显示ok,实验好多次了
gada888
gada888
支持
- 没有更多了 -