FastLED库
这个库应该是大佬基于Adafruit NeoPixel的改进库。
红绿蓝测试
基于Blink Demo修改而来
#include <FastLED.h> //头文件
// How many leds in your strip?
#define NUM_LEDS 9 //灯珠数目
// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 0 //Neopixels 灯珠所在信号线
//#define CLOCK_PIN 13
// Define the array of leds
CRGB leds[NUM_LEDS]; //LED参数数组
void setup()
{
// Uncomment/edit one of the following lines for your leds arrangement.
// FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
//FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); //WS2812B灯珠选这个
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); //Neopixels灯珠选这个
// FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}
void loop()
{
//bool switch
for(uint8_t i = 0; i < NUM_LEDS ;i++) //红色测试
{
leds[i] = CRGB::Red;
delay(500);
FastLED.show();
}
delay(1000);
delay(1000);
for(uint8_t i = 0; i < NUM_LEDS ;i++)//绿色测试
{
leds[i] = CRGB::Green;
delay(500);
FastLED.show();
}
for(uint8_t i = 0; i < NUM_LEDS ;i++)//蓝色测试
{
leds[i] = CRGB::Blue;
delay(500);
FastLED.show();
}
//加两秒延时才能看到效果
delay(1000);
delay(1000);
for(uint8_t i = 0; i < NUM_LEDS ;i++)
{
leds[i] = CRGB::Black;
delay(500);
FastLED.show();
}
}