📅  最后修改于: 2021-01-04 00:56:59             🧑  作者: Mango
让我们使用Arduino(Arduino UNO)和蓝牙模块HC-05构建一个IoT项目来控制LED灯。在此项目中,我们将使用Android智能手机将蓝牙信号发送到蓝牙模块。
在该项目中,使用了三个主要组件; Android智能手机,蓝牙收发器和Arduino。
Android应用程序的构建是通过按“打开”按钮将串行数据发送到蓝牙模块HC-05。由于蓝牙模块HC-05可以进行串行通信。它从应用程序接收数据,并通过蓝牙模块的TX引脚将其发送到Arduino的RX引脚。 Arduino内部上传的代码检查接收到的数据。如果接收数据为1,则LED点亮;如果接收数据为0,则LED熄灭。
蓝牙模块HC-05 Arduino UNO
LED引脚Arduino UNO
引脚1 ——————————–> GND
引脚2 ——————————–>引脚13
为了进行Arduino开发板编程,我们需要下载Arduino软件。这可以在Arduino官方网站https://www.arduino.cc/上完成
根据您的操作系统兼容性下载Arduino软件(Windows Installer)。
点击下载
成功下载后,运行安装程序并按照说明进行操作。
当要求安装驱动程序软件时,单击以安装
安装后,打开软件,如果它生成安全警报,则允许它。
为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应用程序的.apk文件并将其安装在Android智能手机上。点击这里下载
1.打开蓝牙连接器应用程序,并允许打开设备的蓝牙。
2.搜索用于配对的蓝牙设备。
3.要与Bluetooth HC-05模块配对,请输入PIN 0000或1234。
4.选择配对设备HC-05与Android应用连接。
5.控制LED设备。
在单击“ ON”按钮时,它将数据1发送到Bluetooth模块,并且该数据从Bluetooth模块传输到Arduino设备,并打开LED。单击“关闭”时,Android应用程序将数据0发送到蓝牙模块,并且此数据从蓝牙模块传输到Arduino,并且它关闭了LED。