範例二
點亮擴充板上內建的 WS2812 全彩 LED,R->G->B 輪流點亮
注意事項 : 由於 LED 的亮度很高,使用時眼睛請勿直視
// 範例二:
// 點亮 ESP32 Gryo shield 擴充板內建的 WS2812 全彩 LED,R->G->B 輪流點亮
// 使用 GPIO17
// 需要的 library : Adafruit_NeoPixel
// FB : https://www.facebook.com/mason.chen.1420
//
// 以下為常見的顏色設定值
// ledtape.setPixelColor(6, pixels.Color(100, 0, 0)); // red
// ledtape.setPixelColor(5, pixels.Color(130, 40, 20)); // orange
// ledtape.setPixelColor(4, pixels.Color(100, 100, 0)); // yellow
// ledtape.setPixelColor(3, pixels.Color(0, 100, 0)); // green
// ledtape.setPixelColor(2, pixels.Color(0, 0, 100)); // blue
// ledtape.setPixelColor(1, pixels.Color(100, 0, 230)); // indigo
// ledtape.setPixelColor(0, pixels.Color(200, 0, 230)); // violet
#include <Adafruit_NeoPixel.h>
#define PIN 17 //宣告 GPIO17
#define LED_NUM 1 //number of LEDs
Adafruit_NeoPixel ledtape = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800); //if the control IC of the LED tape used is WS2812, the third parameter is NEO_KHZ800 and if WS2811 then NEO_KHZ400
void setup(){
Serial.begin(115200);
ledtape.begin();
ledtape.show(); //reflects once in all OFF state
}
void loop() {
uint16_t i, j;
delay(1000);
for(i=0; i < ledtape.numPixels(); i++) {
ledtape.setPixelColor(i, ledtape.Color(100, 0, 0)); // 紅色
}
ledtape.show();
delay(1000);
for(i=0; i < ledtape.numPixels(); i++) {
ledtape.setPixelColor(i, ledtape.Color(0, 100, 0)); // 綠色
}
ledtape.show();
delay(1000);
for(i=0; i < ledtape.numPixels(); i++) {
ledtape.setPixelColor(i, ledtape.Color(0, 0, 100)); // 藍色
}
ledtape.show();
}