在上一教程中,我们介绍了如何使用Wi-Fi和Arduino控制机器人,并且在本文中,我们将使用下一个使用Wi-Fi的基于IOT的Project- RGB LED闪光灯。在这里,我们使用Arduino和ESP8266 Wi-Fi模块通过Android手机通过Wi-Fi控制RGB LED的颜色。
在此RGB闪光LED中,我们使用了一个名为“ Blynk ”的Android移动应用。Blynk是与Arduino非常兼容的应用程序,用于创建基于IoT的项目。该应用程序可以从Google Play商店下载,并且可以轻松配置。
配置Blynk应用的步骤:
1.首先从Google Play商店下载它,然后将其安装在Android手机中。
2.之后,需要创建一个帐户。您可以使用当前的Gmail帐户。
3.现在选择Arduino Board并为您的项目命名。
4.记下Auth令牌代码或直接将其邮寄到您的电子邮件帐户,然后将其复制并粘贴到Arduino Sketch(程序代码)中。
5.在Arduino草图中输入此身份验证令牌代码。
//您应该在Blynk应用中获取身份验证令牌。//转到项目设置(螺母图标)。char auth =“ a20b235cfa794f07981d050950fb4429”;
6.然后在Blynk应用程序中单击创建按钮。
7.现在,选择大滑块和两个按钮,对其进行配置(请参阅最后的视频),然后单击后退按钮。
8.之后,按屏幕右上方的“播放”按钮。
最后,在Video中清楚地解释了使用Blynk App的所有这些过程。
所需组件:
- Arduino UNO
- ESP8266 Wi-Fi模块
- USB电缆
- 连接线
- RGB LED
- 安卓手机
- Blynk应用
电路及工作说明:
RGB LED闪光灯的电路图如下。我们主要需要一个Arduino,ESP8266 Wi-Fi模块和RGB LED。ESP8266的Vcc和GND引脚直接连接到3.3V,Arduino的GND和CH_PD也连接到3.3V。ESP8266的Tx和Rx引脚直接连接到Arduino的引脚2和3。软件串行库用于允许在Arduino的引脚2和3上进行串行通信。我们已经详细介绍了ESP8266 Wi-Fi模块与Arduino的接口。
在这里,我们使用了一个公共阳极RGB LED。RGB LED引脚即R,G,B和阳极在11、10、9和+5伏特Vcc处连接。公共阳极引脚具有一个+5伏的1K电阻,用于保护LED不受损坏。
RGB LED的工作很简单,我们使用Blynk应用程序创建了三个Slider,用于控制RGB LED三种颜色的强度,即红色,绿色和蓝色。根据程序代码,还有一个按钮可以使RGB LED以不同的模式闪烁。
编程说明:
首先,我们需要下载并安装Arduino的Blynk库。
我们已经包含了所有需要的库,以便在Arduino IDE中运行此代码,然后从Blynk应用程序的 auth 字符串中输入Auth Token 。在这里,我们将Wi-Fi串行引脚与Arduino的Software Serial连接。选择引脚2作为RX,选择引脚3作为TX。
#define BLYNK_PRINT串行//将其注释掉以禁用打印并节省空间#include
之后,我们为RGB LED定义了输出引脚
#定义红色11#定义绿色10#定义蓝色9
此后,在 设置 功能中,我们初始化所有必需的设备,开始串行通信,并提供Wi-Fi用户名和密码。
void setup(){//设置控制台波特率Serial.begin(9600); 延迟(10); //设置ESP8266波特率//对于软件Serial EspSerial.begin(9600)建议使用9600; 延迟(10); Blynk.begin(auth,wifi,“用户名”,“密码”); // wifi用户名和密码}
然后,我们检查了按钮(虚拟引脚1)的条件。在这里,我们选择了虚拟引脚1(V1)从Blynk App获取输入以使RGB LED闪烁。
在这里我们应该注意,我们在下面的“代码”部分中附加了两个代码,第一个代码用于控制RGB LED中三种颜色的强度而不会使其闪烁,第二个代码用于使LED闪烁并控制三种颜色。 RGB LED。我们只需要在第二个程序(即LED闪烁程序)中定义RGB LED引脚,因为LED的闪烁由Arduino控制。另一方面,在第一个程序中,LED的颜色由Android手机中的Blynk应用程序控制,因此我们不需要定义RGB LED引脚。
可以说,如果我们只想通过Sliders更改颜色,并且不想将Button用于闪光器,则不需要定义RGB引脚。
当从Blynk应用程序按下按钮时,给定的功能用于使RGB LED闪烁。
BLYNK_WRITE(V1){int x = param.asInt(); while(x == 1){x = param.asInt(); int i = 0,j = 0,k = 0; AnalogWrite(red,255); AnalogWrite(绿色,255);……………
最后,我们需要循环运行 blynk函数 来运行系统。
void loop(){Blynk.run(); }
注意:以下给出了两个代码。一种是只在不使用闪光灯的情况下更改RGB LED的颜色,第二种是使用闪光灯来更改颜色。检查视频以获取更多清晰度。