#include <Adafruit_NeoPixel.h>

// 定義資料控制端腳位
#define PIN 15

// 定義 LED 數量
#define NUMPIXELS 32

// 建立燈條的物件,參數包含 LED燈數、控制腳位
// NEO_GRB: RGB資料的順序爲 G-R-B
// NEO_KHZ800: 資料傳送速度爲 800KHz,另一個速度選項爲 NEO_KHZ400

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 50; // 延遲 0.05 秒

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("Hello, ESP32!");
  pixels.begin(); // 啓動 LED 燈條

}

void loop() {
  // put your main code here, to run repeatedly:
  
  int red = random(0, 255);
  int green = random(0,255);
  int blue = random(0, 255);

  for(int i=0;i<NUMPIXELS;i++){  // 設定每一個 LED,從編號 0 開始,到最後一個 LED

    // 每個LED燈的顏色RGB值從(0,0,0)到(255,255,255)

    pixels.setPixelColor(i, pixels.Color(red,green,blue)); // 中間綠

    pixels.show(); // 點亮 LED 

    delay(delayval); // 延遲

  }

}