【发布时间】:2020-11-21 19:06:12
【问题描述】:
是否可以为 LED 分配随机颜色? 如果两个或多个 LED 具有相同的颜色,这不是问题。
我尝试过这样的事情: 尝试为数字分配颜色,并给 LED 一个随机数。 代码无法验证,无法将 int 与随机数组合(至少不是我尝试的方式)
randNumber 之后的 CRGB:: 是 FastLED 库的一部分,用于为 LED 提供颜色。在 Fastled 中,您可以为颜色命名。
#include "FastLED.h"
#define NUM_LEDS 10
CRGB leds[NUM_LEDS];
#define DATA_PIN 2
long randNumber;
long randNumber0 = CRGB::Red;
long randNumber1 = CRGB::White;
long randNumber2 = CRGB::Blue;
long randNumber3 = CRGB::Red;
long randNumber4 = CRGB::White;
long randNumber5 = CRGB::Blue;
long randNumber6 = CRGB::Red;
long randNumber7 = CRGB::White;
long randNumber8 = CRGB::Blue;
long randNumber9 = CRGB::Red;
#define INTERVAL_MESSAGE1 5000
unsigned long time_1 = 0;
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
Serial.begin(9600);
}
void loop() {
if (millis() >= time_1 + INTERVAL_MESSAGE1) {
time_1 += INTERVAL_MESSAGE1;
leds[0] = randNumber.random(0,9);
leds[1] = randNumber.random(0,9);
leds[2] = randNumber.random(0,9);
leds[3] = randNumber.random(0,9);
leds[4] = randNumber.random(0,9);
leds[5] = randNumber.random(0,9);
leds[6] = randNumber.random(0,9);
leds[7] = randNumber.random(0,9);
leds[8] = randNumber.random(0,9);
leds[9] = randNumber.random(0,9);
FastLED.show(55);
}
}
【问题讨论】:
标签: arduino