初出茅廬的小李第63部落格之FastLED庫的使用
阿新 • • 發佈:2021-02-11
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();
}
}