当前位置: 首页 > 教程 > 物联网(IoT) >

Arduino和蓝牙模块控制LED项目

精华
小牛编辑
171浏览
2023-03-14

在本文中,将演示如何使用Arduino(Arduino UNO)和蓝牙模块HC-05构建一个物联网项目来控制LED灯。在这个项目中,我们将使用Android智能手机将蓝牙信号发送到蓝牙模块。

硬件要求

  • Arduino UNO主板
  • 用于连接器Arduino UNO的USB电缆
  • 蓝牙模块HC-05
  • 跳线电线公对母线
  • LED
  • AC 220v/120v家用电器或9v Hi-Walt电池

软件要求

  • Arduino软件
  • Android Studio

Arduino蓝牙模块的工作原理

在这个项目中,使用了三个主要组件; Android智能手机,蓝牙收发器和Arduino。

Arduino蓝牙模块的工作原理

Android应用程序可通过按ON按钮将串行数据发送到蓝牙模块HC-05。蓝牙模块HC-05用于串行通信。它从应用程序接收数据并通过蓝牙模块的TX引脚发送到Arduino的RX引脚。Arduino中上传的代码检查收到的数据。如果接收数据为1,则LED变为ON,如果接收的数据为0,则LED变为OFF

数字电路图

Bluetooth Module HC-05        Arduino UNO

TX  --------------------------------> RX (Pin 0)
RX  --------------------------------> TX (Pin 1)
VCC  --------------------------------> 5v
GND  --------------------------------> GND

LED Pin                             Arduino UNO
Pin 1  --------------------------------> GND
Pin 2  --------------------------------> Pin 13

数字电路图

要进行Arduino板的编程,需要下载Arduino软件。可以从Arduino官方网站: https://www.arduino.cc/ 下载。如下图所示:

Arduino下载

根据您的操作系统兼容性(Windows Installer)下载Arduino软件。

点击下载(Download),如下所示:

下载成功后,运行安装程序并按照说明进行操作。

当它要求安装驱动程序软件时,单击然后安装:

安装后,打开软件,如果它生成安全警报,则允许它。

为Arduino UNO主板写一个程序,如果接收的数据等于1,LED亮,如果数据等于0,则LED熄灭。参考代码如下:

char data = 0; //Variable for storing received data  
void setup()  
{  
    Serial.begin(9600); //Sets the baud for serial data transmission                                 
    pinMode(13, OUTPUT); //Sets digital pin 13 as output pin  
}  
void loop()  
{  
   if(Serial.available() > 0)  // Send data only when you receive data:  
   {  
      data = Serial.read();        //Read the  incoming  data and store it into variable data  
      Serial.print(data);          //Print Value inside data in Serial monitor  
      if(data == '1')              // Checks whether value of data is equal to 1  
         digitalWrite(13, HIGH);   //If value is 1 then LED turns ON  
      else if(data == '0')         //  Checks  whether value of data is equal to 0  
         digitalWrite(13, LOW);    //If value is 0 then LED turns OFF  
   }  
}

保存上面程序并进行编译。

通过Arduino UNO USB线将Arduino设备连接到笔记本电脑(或显示器)。在Arduino UNO上传程序时,删除Arduino UNO设备(如蓝牙模块和LED)的所有其他连接。

编译代码后,将其上传到Arduino UNO设备中。在Arduino上传代码之前,UNO设备确保选择了Arduino串口,否则会生成错误消息“未选择串口”。

要选择串行端口,请打开“设备管理器” -> “端口” -> “Arduino Uno”,然后上传代码。

蓝牙模块连接Android应用程序

  1. 打开蓝牙连接器应用程序,然后打开设备的蓝牙。

  1. 搜索蓝牙设备以进行配对。

搜索蓝牙

  1. 与蓝牙HC-05模块配对,请输入:0000或1234。

蓝牙配对

  1. 选择配对设备HC-05以连接Android应用程序。

连接Android应用程序

  1. 控制LED设备。

控制LED设备

点击“ON”按钮,它将数据1发送到蓝牙模块,这些数据从蓝牙模块传输到Arduino设备,并打开LED。点击“OFF”时,Android应用程序将数据0发送到蓝牙模块,此数据从蓝牙模块传输到Arduino,并关闭LED。

LED关闭

LED开启