📅  最后修改于: 2023-12-03 15:13:40.429000             🧑  作者: Mango
Blynk是一款基于物联网的开源平台,可以用来控制硬件设备并与移动应用程序进行通信。在本篇文章中,我们将介绍如何使用Blynk和RGB LED灯条通过移动应用程序控制灯光。
将RGB LED灯条连接到Arduino板上。连接方式如下:
在Blynk应用程序中创建新的项目,选择Arduino Uno作为硬件类型。在“Widgets”菜单下,选择“ZeRGBa”。将新的ZeRGBa小部件拖动到你的项目中。
在“ZeRGBa”上设置控制Arduino的数字引脚,并为灯条的各个颜色分配一个属性。这示例将灯条的每个颜色连接到控制其颜色的不同数字引脚。
使用下面的Arduino代码将RGB LED灯条连接到Blynk应用程序。
/* Blynk RGB LED Strip */
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
// Virtual pins for the Arduino
#define V_RED_PIN V1
#define V_GREEN_PIN V2
#define V_BLUE_PIN V3
// Digital pins for the Arduino
#define RED_PIN 5
#define GREEN_PIN 6
#define BLUE_PIN 3
char auth[] = "YOUR-AUTH-TOKEN";
char server[] = "blynk-cloud.com";
char port[] = "80";
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, server, port);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop()
{
Blynk.run();
}
BLYNK_WRITE(V_RED_PIN)
{
int redValue = param.asInt();
analogWrite(RED_PIN, redValue);
}
BLYNK_WRITE(V_GREEN_PIN)
{
int greenValue = param.asInt();
analogWrite(GREEN_PIN, greenValue);
}
BLYNK_WRITE(V_BLUE_PIN)
{
int blueValue = param.asInt();
analogWrite(BLUE_PIN, blueValue);
}
此代码的作用是将Blynk应用程序的数字RGB LED颜色值转换为三个不同的数字引脚上的模拟PWM值(使灯光变得更加平滑)。在“void setup()”函数中设置几个数字引脚,并在“void loop()”中运行Blynk。
在“BLYNK_WRITE()”函数中,将来自Blynk的数字RGB颜色值转换为数字引脚上的模拟PWM值。该代码包括三个“BLYNK_WRITE()”函数,一个为每个颜色。
现在,当你移动ZeRGBa小部件的指针时,RGB LED灯条的颜色将相应地更改。使用Blynk的ZeRGBa小部件,您可以轻松控制RGB LED灯条的颜色。