0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用蓝牙模块HC-05对Arduino进行无线编程

科技观察员 来源:circuitdigest 作者:Debasis Parida 2022-08-23 15:59 次阅读

在使用 Arduino 做项目时,我们总是需要将 Arduino 连接到 PC 以便将程序上传到其中。但有时总是将电路板与 PC 连接起来非常不舒服,就好像它是一个机器人项目一样,那么你总是必须将机器人移到 labtop 附近重新编程。这个问题可以通过对 Arduino 进行无线编程来解决。所以在这里我们正在构建一个电路来使用蓝牙模块 HC-05 对 Arduino 进行无线编程。

使用的组件:

Arduino UNO

HC05蓝牙模块

穿孔板

男、女头

跳线

1K、2.2K电阻

0.1uF电容

9V电池

HC-05 蓝牙模块

HC05 基本上是一个支持串行端口协议 (SPP) 的蓝牙模块,广泛用于许多无线应用中。HC05可用于主从模式切换,自由空间传输距离20-30米。我们之前用HC-05和其他蓝牙模块做了很多蓝牙项目。

引脚:

poYBAGMEiGGAWt8LAAQNeTnm2bU333.png

引脚说明:

+5V: HC05 的电源引脚,可以给+5V。

GND:接地引脚。

TX:用作 UART 中的发送器引脚。

RX:用作 UART 中的接收器引脚。

EN/KEY: HC05 的使能引脚。它可以保持浮空状态,也可以连接到 3.3V 电源以启用 HC05。如果它接地,则模块将被禁用。它也用于在 AT 命令模式下制作 HC05。

STATE:状态引脚,在未连接到任何设备时为低电平,在连接到任何设备时为高电平。

为 AT 命令编程 Arduino UNO:

首先,我们必须对Arduino 进行编程以通过串行监视器响应 AT 命令。程序很简单,附在本教程的最后,这里我们逐行解释程序。

首先包含软件串行库的头文件,并在 Arduino 中定义软件串行的发送器和接收器引脚,在本例中为引脚 3 和 2。

#include 
SoftwareSerial HC05(2,3);

接下来,在设置功能中,定义硬件串口和软件串口的波特率。这里我们将它们分别取为 9600 和 38400。

无效设置()
{
序列号.开始(9600);
Serial.println("输入AT指令:");
HC05.开始(38400);
}

在循环函数中,有两个条件 - 一个是向 HC05 发出任何命令并将它们写入 Arduino 串行监视器。另一个条件是当 Arduino 串行监视器发出任何命令时,它会将它们发送到 HC05。

无效循环()
{
  如果 (HC05.available())
    Serial.write(HC05.read());
  if (Serial.available())
    HC05.write(Serial.read());
}

AT命令模式下HC05的配置:

首先,按照下面的电路图连接组件。然后按照以下步骤将模块置于 AT 命令模式。

pYYBAGMEiFuAbZb9AAFkmKghgeI476.png

要进入HC05的AT模式,我们需要使用KEY键。首先长按按键直到模块 LED 开始以 2 秒的间隔闪烁。如果 LED 每 2 秒开始闪烁,则表示模块处于命令模式。我们现在可以使用 Arduino IDE 的串行监视器向它发出 AT 命令。

如果模块里面没有按键,那么我们可以将模块的KEY/EN引脚连接到3.3伏引脚,以将模块切换到命令模式。

AT 命令配置 HC05 进行无线编程:

将草图上传到 Arudino 后,以 9600 波特率打开串行监视器,选择 CR+NL,您应该能够向 HC-05 发送 AT 命令。

成功完成上述步骤后,现在发送相应的 AT 命令来配置 HC05。在 Arduino 串行监视器上一一发送以下 AT 命令,并返回 OK 响应。否则,请重新检查连接并重试。

这是HC05的基本测试命令。每次我们发送AT,它必须返回OK。

AT+ORGL

该命令将恢复 HC05 的默认设置。默认设置为从模式,密码=1234 和波特率=38400 位/秒。

AT+NAME= 电路文摘

此命令将设置 HC05 模块的名称。就我而言,我将其命名为“CIRCUIT DIGEST”。

AT+角色=0

此命令会将 HC05 配置为从属模式。

AT+POLAR=1,0

此命令设置 PIO LED 驱动配置。

AT+UART=115200,0,0

这会将波特率更改为 115200,停止位为 0,奇偶校验为 0。

AT+初始化

这将初始化模块的 SPP 配置文件。

Arduino无线编程的电路连接

成功向 Arduino 发送 AT 命令后,只需删除所有连接并按照下面的示意图重建它。

poYBAGMEiFSAQWXOAAKXF06l1Tw237.png

在我的情况下,我将它焊接在穿孔板上,以便它可以轻松地安装 Arduino 引脚并可以用作Arduino Shield。完成焊接后,如下图所示:

poYBAGMEiFCAIhNRAAmkYQOpLy4107.png

然后按照下图将这个屏蔽放在 Arduino 上,然后将 Arduino 连接到 9V 电池电源。

pYYBAGMEiEuAFyA6AAZ-baqYvck666.png

之后,在您的 PC 中搜索蓝牙设置,然后单击添加蓝牙设备。这将扫描新设备,结果我们将获得我们的蓝牙设备。选择设备并单击下一步。点击“输入设备配对码”选项。当它要求输入配对码时,输入“1234”作为您的密码。然后您将收到设备配对成功的确认。

pYYBAGMEiDaAJWPMAAEpNYIobao223.png

poYBAGMEiDKAF2gGAAHES9heWVk517.png

poYBAGMEiC6AHa4tAAFr4Lvy94M136.png

设备配对成功后,接下来的任务就是找出HC05蓝牙模块的COM口。为此,请搜索Change Bluetooth Settings,然后单击选项卡COM Ports。这将显示两个 COM 端口,一个用于传入,另一个用于传出。我们必须记下传出的 COM 端口号,因为我们在上传程序时需要它。

pYYBAGMEiCqAS9BWAALUSdDl6QU486.png

最后一步是将示例程序无线上传到 Arduino,以检查这个Arduino 无线编程是否正常工作。为此,从 Arduino IDE 示例程序中选择任何 Arduino 程序,这里我选择了 LED 闪烁程序。在 board 中选择 Arduino UNO,然后在 Port 中选择正确的 COM 端口,如上图所示。之后单击上传按钮,它应该成功上传到您的 Arduino 板。

pYYBAGMEiCOAN59NAAkVGTn7WB8033.png

#include

SoftwareSerial HC05(2,3);

无效设置()

{

序列.开始(9600);

Serial.println("输入AT指令:");

HC05.开始(38400);

}

void loop()

{

if (HC05.available())

Serial.write(HC05.read());

if (Serial.available())

HC05.write(Serial.read());

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙模块
    +关注

    关注

    30

    文章

    573

    浏览量

    55735
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187034
  • HC-05
    +关注

    关注

    0

    文章

    34

    浏览量

    16922
收藏 人收藏

    评论

    相关推荐

    开源资料HC-05蓝牙模块Arduino入门参考方案

    `网上一份很不错的开源资料,HC-05蓝牙模块Arduino入门资料,现在把他分享给大家,有需要的可以下载!`
    发表于 12-25 14:00

    关于HC-05蓝牙模块的介绍

    兼容单片机系统。当主从模式两个蓝牙模块配对成功后,可以简单的,更改为无线蓝牙,让您设备或者产品更高级,更时尚。可以很容易的使用提供的蓝牙
    发表于 08-06 06:26

    蓝牙转串口模块HC-05怎么使用

    蓝牙转串口模块HC-05模块使用记录最近在弄一个需要无线传输数据的项目,虽然以前也接触过HC-05
    发表于 12-07 13:20

    HC-05 蓝牙模块 原理图 PCB 及指令说明

    stm32标准原理图,PCB板图;HC-05 蓝牙模块 原理图 PCB 及指令说明。
    发表于 05-20 14:28 0次下载

    如何使用HC-05蓝牙模块进行单片机通讯

    要想使用HC-05蓝牙模块进行单片机之间通讯或者单片机和蓝牙设备之间通讯,首先要配置好HC-05
    发表于 06-18 17:44 53次下载
    如何使用<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b><b class='flag-5'>进行</b>单片机通讯

    HC-05蓝牙模块介绍

    HC-05是一款蓝牙转串口转换器,可连接微控制器其他设备,允许他们无线通信。在本文中,我们将解释模块的工作原理,安全使用项目时需要了解的内容,并讨论操作基础知识。
    的头像 发表于 07-26 14:31 12.6w次阅读

    基于Arduino UNO和HC-05蓝牙模块控制伺服电机

    了解如何在移动设备,Arduino UNO和HC-05蓝牙模块中使用Android应用程序控制伺服电机。
    的头像 发表于 04-28 15:25 5060次阅读
    基于<b class='flag-5'>Arduino</b> UNO和<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>控制伺服电机

    stm32之蓝牙模块HC-05使用

    参考资料:【常用模块HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机)HC-05
    发表于 11-18 11:06 63次下载
    stm32之<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b><b class='flag-5'>HC-05</b>使用

    HC-05的使用-详细

    蓝牙转串口模块HC-05模块使用记录最近在弄一个需要无线传输数据的项目,虽然以前也接触过HC-05
    发表于 11-24 11:51 34次下载
    <b class='flag-5'>HC-05</b>的使用-详细

    HC-05模块使用

    是采用上电时KEY悬空,上电后再给KEY一个高电平的方式,因此此时的波特率是9600而不是38400。发送AT命令后要换行,否则蓝牙模块会认为发送的只是单纯的字符串。要将蓝牙模块设置为
    发表于 11-24 11:51 33次下载
    <b class='flag-5'>HC-05</b><b class='flag-5'>模块</b>使用

    HC-05使用经验

    使用一块HC-05让单片机与PC(自带蓝牙)无线通信是十分简单的,但对于第一次使用该类模块的新手来说会有很多不起眼的,网上其他大神都懒得说的坑,我当时就在这些坑中待了差不多一个星期。目
    发表于 11-24 12:36 79次下载
    <b class='flag-5'>HC-05</b>使用经验

    HC-05蓝牙AT指令无反应问题

    HC-05蓝牙AT指令无反应问题在使用HC-05蓝牙模块过程中,出现了进入命令响应工作模式后,不管怎么发生AT指令,都没有得到回应.在确定
    发表于 11-24 12:51 31次下载
    <b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b>AT指令无反应问题

    HC-05蓝牙模块原理图下载

    HC-05蓝牙模块原理图下载
    发表于 12-02 13:37 44次下载

    自制使用HC-05蓝牙模块与手机进行通信的蓝牙控制车

    这是一款使用HC-05蓝牙模块与手机进行通信的蓝牙控制车。
    的头像 发表于 08-11 14:43 6741次阅读
    自制使用<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>与手机<b class='flag-5'>进行</b>通信的<b class='flag-5'>蓝牙</b>控制车

    通过HC 05模块Arduino进行蓝牙对话

    电子发烧友网站提供《通过HC 05模块Arduino进行蓝牙对话.zip》资料免费下载
    发表于 01-03 10:28 2次下载
    通过<b class='flag-5'>HC</b> <b class='flag-5'>05</b><b class='flag-5'>模块</b>与<b class='flag-5'>Arduino</b><b class='flag-5'>进行</b><b class='flag-5'>蓝牙</b>对话