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

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

3天内不再提示

如何通过蓝牙对Arduino进行编程

科技观察员 来源:circuitdigest 作者:Ashish Choudhary 2022-08-09 17:48 次阅读

Arduino Uno,电子爱好者和学生中最受欢迎的微控制器,使用 Arduino 很容易开始使用嵌入式系统 但是 Arduino 的一个缺点是它需要使用 USB 电缆连接到计算机才能上传代码,因为它已经完成了对无线通信有任何板载支持。有时,如果您的项目固定在某个地方,则很难将板与 PC 连接起来。解决这个问题的唯一方法是对 Arduino 进行无线编程。在 ESP8266ESP32 中可以轻松完成无线编程或 OTA(无线)编程,因为它们内置了 Wi-Fi 支持。但在 Arduino 中,我们必须使用蓝牙模块对其进行无线编程。所以在这里我们将学习如何通过蓝牙对 Arduino 进行编程。

所需组件

Arduino UNO

HC05蓝牙模块

跳线

1K、2.2K 电阻器

电容 (0.1uF)

电源适配器

面包板

HC05蓝牙模块

HC-05模块是蓝牙串口协议模块,专为微控制器之间的无线通信而设计。HC-05蓝牙模块提供主从模式配置之间的切换模式,并通过9600波特率的串行通信进行通信,便于与控制器接口。HC05 模块在 3.3 V 上工作,但我们可以将其连接到 5V 电源电压,因为该模块带有板载 5v 至 3.3 V 稳压器。

poYBAGLyLPGARKv8AAQIKcnkQ68992.png

蓝牙是最简单的无线通信方式,我们用它构建了许多有趣的项目,如 蓝牙控制机器人、 蓝牙语音控制、 蓝牙家庭自动化等。您可以在此处查看所有基于蓝牙的项目。

通过蓝牙对 Arduino 进行编程

要对 Arduino 进行无线编程,首先,我们必须对 Arduino 进行编程以响应 AT 命令。为此,将 Arduino 连接到笔记本电脑的串口并上传以下代码:

#include 
SoftwareSerial HC05(2,3);
无效设置()
{
序列号.开始(9600);
Serial.println("输入AT指令:");
HC05.开始(38400);
}
无效循环()
{
  如果 (HC05.available())
    Serial.write(HC05.read());
  if (Serial.available())
    HC05.write(Serial.read());
}

代码的前两行用于包含SoftwareSerial库并定义连接蓝牙的发送器和接收器引脚。SoftwareSerial库用于允许与 Arduino 的硬件 Tx 和 Rx 引脚以外的数字引脚进行串行通信。多个软件串行端口可用于使用SoftwareSerial库进行串行通信。

#include 
SoftwareSerial HC05(2,3);

现在在setup 函数中,定义硬件和软件串行端口的波特率。硬件和软件串行端口的波特率分别为 9600 和 38400。

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

循环函数内部使用了两个if条件。第一个条件检查是否向 HC05 发出任何命令,如果是,则将其写入 Arduino 串行监视器。第二个条件检查是否有任何命令发送给 Arduino 串行监视器,如果是,则将其发送给 HC05。

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

接下来,在 HC05 上连接 Arduino,使其进入 AT 命令模式。相同的电路图如下:

poYBAGLyLOuAKmePAADZTxpj0oA289.png

在将 Arduino 连接到计算机之前,先按下按键,然后将 Arduino 连接到计算机。按住按键直到蓝牙模块 LED 开始以 2 秒的间隔闪烁。蓝牙模块 LED 在命令模式下的闪烁速度比正常模式下慢。

现在打开一个串行监视器并输入以下命令,作为回报,每次命令成功运行时,板都会以“ OK ”响应。

AT+ORGL

AT+ROLE=0

AT+POLAR=1,0

AT+UART=115200, 0, 0

AT+INIT

成功测试 AT 命令后,只需移除所有连接并按照下面的示意图连接即可。

pYYBAGLyLOaAEvB0AAJCONO9GQ8695.png

poYBAGLyLOKAYyqYAAWjhKEbPkY879.png

使用适配器或 9V 电池为 Arduino 供电。之后,转到笔记本电脑中的“设备”,打开蓝牙,然后将蓝牙模块连接到笔记本电脑。

设备配对成功后,接下来的任务就是找到HC05蓝牙模块的COM口。为此,请转到“设备管理器”,然后检查 COM 端口选项。它将显示两个 COM 端口,一个用于传入,另一个用于传出。在上传程序时,我们需要选择第二个 COM 端口号。

pYYBAGLyLN6AH3kwAABh_aZHJnM201.png

现在打开 Arduino IDE 并选择闪烁程序,选择正确的 com 端口,然后点击上传按钮。如果一切顺利,Arduino 板载 LED 将以 1 秒的间隔开始闪烁。

poYBAGLyLNqAY9FpAACm3ag937A673.png

#include
SoftwareSerial HC05(2,3);
无效设置()
{
序列号.开始(9600);
Serial.println("输入AT指令:");
HC05.开始(38400);
}
无效循环()
{
如果 (HC05.available())
Serial.write(HC05.read());
if (Serial.available())
HC05.write(Serial.read());
}

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

    关注

    112

    文章

    5392

    浏览量

    165268
  • 编程
    +关注

    关注

    88

    文章

    3431

    浏览量

    92174
  • Arduino
    +关注

    关注

    184

    文章

    6421

    浏览量

    184570
收藏 人收藏

    评论

    相关推荐

    Arduino与labview蓝牙通信

    Arduino通过蓝牙模块将数据发往labview,设计VI时用VISA串口通信还是用蓝牙协议进行编辑?能不能用VISA串口通信来设计
    发表于 05-21 16:08

    如何使用Arduino开发板通过蓝牙方式控制伺服电机

    在机器人中使用伺服电机进行精确控制很常见。在本文中,我们将向您展示如何使用Arduino UNO开发板无线连接一个伺服电机,并且通过蓝牙连接一台Android设备。我们已经介绍过
    发表于 06-28 08:01

    如何在Arduino进行编程

    接上篇关于Arduino基础环境配置、界面介绍和C语言基础,这一篇的内容为具体如何在Arduino进行编程。在VSCode上配置Arduino
    发表于 07-13 09:07

    Arduino是什么?如何对Arduino进行编程

    Arduino是什么?如何对Arduino进行编程呢?
    发表于 12-08 07:57

    怎样通过Arduino IDE对Arduino UNO进行编程

    Arduino UNO是什么呢?怎样通过Arduino IDE对Arduino UNO进行编程
    发表于 01-24 06:57

    matlab如何通过蓝牙连接arduino?

    用的是BT04A蓝牙模块连接到arduino,然后matlab也连接上了蓝牙模块,但不能通过蓝牙连接到a
    发表于 06-28 09:52

    Arduino项目进行无线蓝牙控制和编程

      通过 Arduino 的 RX 和 TX 引脚进行蓝牙控制既简单又有效,但如果您想通过 USB 重新
    的头像 发表于 06-23 15:46 3048次阅读

    如何使用Arduino Uno对ATtiny85进行编程

    在本文中,我将引导您完成在 Arduino Uno 的帮助下从 Arduino IDE对 ATtiny85 进行编程的过程。基本上,我们将使用 Ar
    发表于 08-05 16:35 4899次阅读
    如何使用<b class='flag-5'>Arduino</b> Uno对ATtiny85<b class='flag-5'>进行</b><b class='flag-5'>编程</b>

    如何使用Arduino IDE对ESP32进行无线编程

    在本教程中,我们将使用Arduino IDE 中的 OTA Web Updater对 ESP32 进行无线 (OTA) 编程
    发表于 08-11 15:42 3889次阅读
    如何使用<b class='flag-5'>Arduino</b> IDE对ESP32<b class='flag-5'>进行</b>无线<b class='flag-5'>编程</b>

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

    将机器人移到 labtop 附近重新编程。这个问题可以通过Arduino 进行无线编程来解决。所以在这里我们正在构建一个电路来使用
    的头像 发表于 08-23 15:59 9073次阅读
    如何使用<b class='flag-5'>蓝牙</b>模块HC-05对<b class='flag-5'>Arduino</b><b class='flag-5'>进行</b>无线<b class='flag-5'>编程</b>

    使用Arduino通过USB串行对ESP32S3进行编程和调试

    电子发烧友网站提供《使用Arduino通过USB串行对ESP32S3进行编程和调试.zip》资料免费下载
    发表于 10-19 14:50 1次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>通过</b>USB串行对ESP32S3<b class='flag-5'>进行</b><b class='flag-5'>编程</b>和调试

    使用Arduino对虚拟爪机进行编程

    电子发烧友网站提供《使用Arduino对虚拟爪机进行编程.zip》资料免费下载
    发表于 11-14 10:55 0次下载
    使用<b class='flag-5'>Arduino</b>对虚拟爪机<b class='flag-5'>进行</b><b class='flag-5'>编程</b>

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

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

    QM:以现代方式对Arduino进行编程

    电子发烧友网站提供《QM:以现代方式对Arduino进行编程.zip》资料免费下载
    发表于 06-15 10:21 0次下载
    QM:以现代方式对<b class='flag-5'>Arduino</b><b class='flag-5'>进行</b><b class='flag-5'>编程</b>

    使用智能手机对arduino进行编程

    电子发烧友网站提供《使用智能手机对arduino进行编程.zip》资料免费下载
    发表于 07-05 11:10 0次下载
    使用智能手机对<b class='flag-5'>arduino</b><b class='flag-5'>进行</b><b class='flag-5'>编程</b>