from machine import Pin
from time import sleep

#控制 ESP32的 GPIO腳需從 neopixe 模組匯入 NeoPixel 類別(中文名稱:七彩燈條)
from neopixel import NeoPixel

#設定一個名稱為rainbow清單(list)存放RGB燈的顏色值.R:8bit(0-255).G:8bit(0-255).B:8bit(0-255)
rainbow = [
  (126 , 1 , 0),(114 , 13 , 0),(102 , 25 , 0),(90 , 37 , 0),(78 , 49 , 0),(66 , 61 , 0),(54 , 73 , 0),(42 , 85 , 0),
  (30 , 97 , 0),(18 , 109 , 0),(6 , 121 , 0),(0 , 122 , 5),(0 , 110 , 17),(0 , 98 , 29),(0 , 86 , 41),(0 , 74 , 53),
  (0 , 62 , 65),(0 , 50 , 77),(0 , 38 , 89),(0 , 26 , 101),(0 , 14 , 113),(0 , 2 , 125),(9 , 0 , 118),(21 , 0 , 106),
  (33 , 0 , 94),(45 , 0 , 82),(57 , 0 , 70),(69 , 0 , 58),(81 , 0 , 46),(93 , 0 , 34),(105 , 0 , 22),(117 , 0 , 10)]

#定義七彩燈條的腳位及燈數
pixels = NeoPixel(Pin(12), 16)

while True:
  rainbow = rainbow[-1:] + rainbow[:-1] #由清單取值
  for i in range(16): #重複16次
    pixels[i] = rainbow[i] #將rainbow清單(list)值給pixels清單(list) 
  pixels.write() #pixels清單(list) 值寫入七彩燈條
  sleep(0.1) #延遲0.1秒