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

描述

  Arduino Uno,电子爱好者和学生中最受欢迎的微控制器,使用 Arduino 很容易开始使用嵌入式系统 但是 Arduino 的一个缺点是它需要使用 USB 电缆连接到计算机才能上传代码,因为它已经完成了对无线通信有任何板载支持。有时,如果您的项目固定在某个地方,则很难将板与 PC 连接起来。解决这个问题的唯一方法是对 Arduino 进行无线编程。在 ESP8266 和 ESP32 中可以轻松完成无线编程或 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 稳压器。

Arduino

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

通过蓝牙对 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 命令模式。相同的电路图如下:

Arduino

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

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

  AT+ORGL

  AT+ROLE=0

  AT+POLAR=1,0

  AT+UART=115200, 0, 0

  AT+INIT

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

Arduino

Arduino

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

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

Arduino

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

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());
}

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分