#include "FastLED.h" // 此示例程序需要使用FastLED库
#define NUM_LEDS 120 // LED灯珠数量
#define LED_DT 5 // Arduino输出控制信号引脚
#define LED_TYPE WS2812 // LED灯带型号
#define COLOR_ORDER GRB // RGB灯珠中红色、绿色、蓝色LED的排列顺序
uint8_t max_bright = 128; // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高
CRGB leds[NUM_LEDS]; // 建立光带leds
CRGBPalette16 myColorPalette = CRGBPalette16( //用户自定义RGB色板
CRGB::Green, CRGB::Green, CRGB::Black, CRGB::Black,
CRGB::Purple, CRGB::Purple, CRGB::Black, CRGB::Black,
CRGB::Green, CRGB::Green, CRGB::Black, CRGB::Black,
CRGB::Purple, CRGB::Purple, CRGB::Black, CRGB::Black );
CHSVPalette16 myHSVColorPalette = CHSVPalette16 ( //用户自定义HSV色板
CHSV(0, 255, 200), CHSV(15, 255, 200), CHSV(31, 255, 200), CHSV(47, 255, 200),
CHSV(0, 255, 0), CHSV(15, 255, 0), CHSV(31, 255, 0), CHSV(47, 255, 0),
CHSV(0, 255, 200), CHSV(15, 255, 200), CHSV(31, 255, 200), CHSV(47, 255, 200),
CHSV(0, 0, 200), CHSV(15, 0, 200), CHSV(31, 0, 200), CHSV(47, 0, 200));
const TProgmemPalette16 myProgmemPalette PROGMEM = { //用户自定义PROGMEM色板
CRGB::Red, CRGB::Gray, CRGB::Blue, CRGB::Black,
CRGB::Red, CRGB::Gray, CRGB::Blue, CRGB::Black,
CRGB::Red, CRGB::Red, CRGB::Gray, CRGB::Gray,
CRGB::Blue, CRGB::Blue, CRGB::Black, CRGB::Black };
uint8_t colorIndex;
void setup() {
LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS);
FastLED.setBrightness(max_bright);
}
void loop () {
fill_palette (leds, NUM_LEDS, 128, 8, myProgmemPalette, 255, LINEARBLEND );
FastLED.show();
delay(25);
}