📜  blynk rgb led 灯条 (1)

📅  最后修改于: 2023-12-03 15:13:40.429000             🧑  作者: Mango

Blynk RGB LED 灯条介绍

Blynk是一款基于物联网的开源平台,可以用来控制硬件设备并与移动应用程序进行通信。在本篇文章中,我们将介绍如何使用Blynk和RGB LED灯条通过移动应用程序控制灯光。

硬件需求
  • Arduino板
  • RGB LED灯条
  • Blynk智能手机应用程序
软件需求
  • Arduino IDE
  • Blynk库
Arduino硬件连接

将RGB LED灯条连接到Arduino板上。连接方式如下:

  • 灯条的红色线连接到Arduino板的数字引脚6
  • 灯条的绿色线连接到Arduino板的数字引脚5
  • 灯条的蓝色线连接到Arduino板的数字引脚3
Blynk移动应用程序

在Blynk应用程序中创建新的项目,选择Arduino Uno作为硬件类型。在“Widgets”菜单下,选择“ZeRGBa”。将新的ZeRGBa小部件拖动到你的项目中。

在“ZeRGBa”上设置控制Arduino的数字引脚,并为灯条的各个颜色分配一个属性。这示例将灯条的每个颜色连接到控制其颜色的不同数字引脚。

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灯条的颜色。