1. 程式人生 > 其它 >初出茅廬的小李第63部落格之FastLED庫的使用

初出茅廬的小李第63部落格之FastLED庫的使用

技術標籤:筆記arduinoESP32

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(); } }

效果在這裡插入圖片描述