#include "FastLED.h" // 此示例程序需要使用FastLED库
#define NUM_LEDS 11 // LED灯珠数量
#define DATA_PIN1 3 // Arduino输出控制信号引脚
#define DATA_PIN2 5
#define DATA_PIN3 6
#define LED_TYPE WS2812B // LED灯带型号
#define COLOR_ORDER GRB // RGB灯珠中红色、绿色、蓝色LED的排列顺序
uint8_t Brightness = 200; // LED灯带亮度
uint8_t beginHue = 80; // Hue起始色调
int stepHue = 7; // Hue色调变化步长
CRGB led1[NUM_LEDS]; // 建立灯带名称leds
CRGB led2[NUM_LEDS];
CRGB led3[NUM_LEDS];
void setup() {
Serial.begin(9600); // 启动串行通讯
delay(1000); // 稳定性等待
LEDS.addLeds<LED_TYPE, DATA_PIN1, COLOR_ORDER>(led1, NUM_LEDS); // 初始化光带
LEDS.addLeds<LED_TYPE, DATA_PIN2, COLOR_ORDER>(led2, NUM_LEDS);
LEDS.addLeds<LED_TYPE, DATA_PIN3, COLOR_ORDER>(led3, NUM_LEDS);
FastLED.setBrightness(Brightness); //设定初始亮度为Brightness(默认为最大值255)
}
void loop() {
beginHue+=stepHue; //让起始色调值以stepHue为步长在0~255范围内循环增加
fill_rainbow(led1, NUM_LEDS, beginHue, stepHue); //LED灯带基于HUE以彩虹色变化
//从第1个开始 同时 点亮11个灯
//起始色调为beginHue
//变化步长为stepHue
fill_rainbow(led2, NUM_LEDS, beginHue+3*stepHue, stepHue);
fill_rainbow(led3, NUM_LEDS, beginHue+6*stepHue, stepHue);
FastLED.show(); //更新LED色彩
delay(100);
}