範例二

點亮擴充板上內建的 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();

}