蓝牙模块HC-05的调试(利用LED灯来检验信号是否能正常传输)

蓝牙模块HC-05的调试(利用LED灯来检验信号是否能正常传输)

by hasyu

我所用到的硬件

BlueTooth HC-05,arduino 2560(uno也行吧) 电脑 手机

硬件的连接

不同步骤不一样,所以丢到后面。

蓝牙模块的不同模式解读

AT模式

首先按住蓝牙模块上的复位键然后再上电,看见蓝牙模块上的LED灯以2s间隔闪烁,就表示进入了AT模式 记住串口助手的波特率设置为38400,停止位1位,数据为8位,奇偶校验无,另外一定要勾上“发送新行”!

当然如果使用arduino 自带的串口调试器,你只需要9600→38400就完了,毕竟其他的都是默认的。

当模块处于命令响应工作模式(或者AT模式)时能才能执行 AT 命令,用户可向模块发送各种 AT指令,为模块设定控制参数或发布控制命令。(AT指令就是我们PC与一些终端设备(例如蓝牙,WiFi模块)之间进行通信的,配置这些终端设备参数的一套指令。)

在别的模块也可能会用到AT指令,虽然各有不同,但都是利用串口进行沟通的一套“预设”指令。相对来说HC05是相对友好的指令了。//UWB dw1000 nodemcu-BU01***没意见吧

链接模式

我们发送AT+RESET之后,当模块LED以0.5s间隔闪烁时表示进入自动连接模式。 在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。 当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输。

本模块需要的是从模式。

流程目录

  1. 进入AT模式,蓝牙模块接软串口并在此模式下修改蓝牙配置//未接触过AT模式和串口的话需要细心留意一下每一个步骤的先后顺序。
  2. AT模式跟蓝牙模块交流
  3. 退出AT模式,蓝牙模块连接0 1口(RX→TX,TX→RX),然后把led接到原本蓝牙模块的位置//想换也行,大不了重新声明个位置呗。。
  4. 写LED灯的代码,验证上传,手机下载个蓝牙串口调试的app(个人使用的是蓝牙调试器),连接你的蓝牙模块(蓝牙配置的时候改一个好辩认的名字),利用串口控制led。
一.进入AT模式

硬件连接

板子link蓝牙模块
软RX,引脚8TX
软TX,引脚9RX
3.3VVCC
GNDGND

arduino代码

#include <SoftwareSerial.h>//软串口通信的库
SoftwareSerial BT(8,9);//定义8,9为软串口,相对的0,1是默认的硬串口
void setup()
{
  //开启电脑通信串口,因为HC-05的波特率为38400,两者通信保持一致
  Serial.begin(38400);//开启蓝牙,设置波特率38400,进入AT模式
  BT.begin(38400);
  Serial.println("BT is ready!");// Serial.这里是电脑与板子交流的串口,BT.是板子和蓝牙模块的串口
}
char AT_Cmd,AT_Rec;
void loop()
{
  //若是电脑发送信息
  if(Serial.available()>0)
  {
    //读取信息,并且将信息发送给蓝牙,进行AT设置
    AT_Cmd = Serial.read(); 
    BT.print(AT_Cmd);
  }

  //若是接收到蓝牙返回的信息:一般设置后返回OK
  if(BT.available()>0)
  {
    AT_Rec = BT.read();
    Serial.print(AT_Rec);
  }
}

现实中的动作

1 .电脑接板子,代码上传,然后,,断掉电脑和板子的连接(为了断电)。

2 .长按蓝牙模块的按钮,接电,红灯2s为间隔闪烁,成功进入AT模式。

3 . 打开串口监视器,输入 AT 返回 OK 就算成功。

4 .开始利用电脑上的串口,借由板子作中转站和蓝牙模块进行AT对话。

二.AT模式跟蓝牙模块交流

//换句话说是配置

在arduino串口需要做的事

AT+ORGL # 恢复出厂模式

AT+NAME= **# 设置蓝牙名称 **//eg: AT+NAME=bendan

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

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

AT+PSWD= # 设置蓝牙匹配密码//eg: AT+PSWD=dabendan

一个一个来,它会回复你OK。

三.退出AT模式

拔掉电脑的USB,好了,断电退出了。

四.写LED灯的代码,验证

第二次硬件连接

板子link蓝牙模块
11LED灯
GNDLED灯
3.3VVCC
GNDGND
硬RX,引脚0蓝牙模块TX
硬TX,引脚1蓝牙模块RX

第二次代码

void setup() 
{
  Serial.begin(9600);
  pinMode(11,OUTPUT);
}
char ch;
void loop() {
  if(Serial.available()>0)
  {
    ch = Serial.read();
    if(ch=='1')
        digitalWrite(11,HIGH);  //开启小灯
    else
        digitalWrite(11,LOW); //关闭小灯
    Serial.print(ch);
  }
}

手机的蓝牙调试器连接蓝牙模块,输入1开灯,输入非1则关灯。

至此,用led验证了能正常输入输出。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
A:要控制led,你可以将led连接到arduino板上,并使用蓝牙模块hc-05来发送控制指令。以下是步骤: 1. 将蓝牙模块hc-05与arduino板连接。将hc-05的VCC接到arduino的5V口,GND接到arduino的GND口,TXD接到arduino的RX口,RXD接到arduino的TX口。 2. 将led连接到arduino的数字引脚上。例如,将led的正极连接到arduino的D7引脚,负极连接到arduino的GND口。 3. 安装蓝牙模块hc-05的串口库,可以在arduino官网或github上找到。将蓝牙模块hc-05与arduino板连接后,打开Arduino IDE软件,选择Tools->Port,选择当前使用的串口,然后打开Serial Monitor。设置Baud Rate为9600。 4. 在arduino IDE中编写代码。以下是一个示例: #include <SoftwareSerial.h> SoftwareSerial bluetooth(2, 3); //接收/发送蓝牙数据 int led = 7; //连接到led的数字引脚 void setup(){ pinMode(led, OUTPUT); //设置led的引脚为输出模式 bluetooth.begin(9600); //初始化蓝牙串口 } void loop(){ if(bluetooth.available() >= 1){ //如果接收到来自蓝牙的数据 int value = bluetooth.read(); //读取数据 if(value == '1'){ //如果接收到字符1 digitalWrite(led, HIGH); //点亮led } else if(value == '0'){ //如果接收到字符0 digitalWrite(led, LOW); //关闭led } } } 5. 将代码上传到arduino板上。点击Arduino IDE的“上传”按钮。 现在你可以使用安装了蓝牙模块hc-05的手机或电脑的蓝牙连接到arduino板,并发送字符1或0来控制led

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值