在本文中,将演示如何使用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。
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/ 下载。如下图所示:
根据您的操作系统兼容性(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应用程序
- 打开蓝牙连接器应用程序,然后打开设备的蓝牙。
- 搜索蓝牙设备以进行配对。
- 与蓝牙HC-05模块配对,请输入:0000或1234。
- 选择配对设备HC-05以连接Android应用程序。
- 控制LED设备。
点击“ON”按钮,它将数据1
发送到蓝牙模块,这些数据从蓝牙模块传输到Arduino设备,并打开LED。点击“OFF”时,Android应用程序将数据0
发送到蓝牙模块,此数据从蓝牙模块传输到Arduino,并关闭LED。