#include <FastLED.h>
// WS2812B数据线连接到ESP32的GPIO引脚,比如GPIO 18
#define DATA_PIN 25
// 定义LED数量
#define NUM_LEDS 10
// 创建LED数组
CRGB leds[NUM_LEDS];
void setup() {
// 初始化FastLED库,设置数据引脚和LED数量
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
// 设置所有LED为白色并中等亮度
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(0, 255, 128); // 使用HSV色彩空间,0表示红色色调,255表示最大饱和度,128表示中等亮度
}
// 发送数据到LED灯条
FastLED.show();
}
void loop() {
// 在这里你可以编写代码来动态控制LED灯条,比如颜色变化、动画等
// 以下是一个简单的例子,每次循环时增加色调值,从而创建彩虹效果
static uint8_t hue = 0;
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(hue++, 255, 255); // 增加色调值,饱和度和亮度设为最大
}
// 如果色调超过最大值,则重置为0
if (++hue > 255) {
hue = 0;
}
// 发送更新后的数据到LED灯条
FastLED.show();
// 稍作延迟以便看到变化
delay(100);
}