我在九月底買了兩片 N16R8 (16MB Flash + 8MB 的 SPI RAM) 的 ESP32-S3 開發板, 內建 SRAM 為 512KB, 板上有一顆全彩 RGB LED (WS2812), 根據官網文件此 LED 在 v1.0 板子是接在 GPO48; 在 v1.1 板子則是接在 GPIO38 :
from machine import Pin
from time import sleep
from neopixel import NeoPixel
pin=Pin(48, Pin.OUT) # Pin 38 for v1.1, Pin 48 for v1.0
np=NeoPixel(pin, 1) # 1 for only one LED
while (True):
np[0]=(255,0,0)
np.write()
sleep(1)
np[0]=(0,255,0)
np.write()
sleep(1)
np[0]=(0,0,255)
np.write()
sleep(1)
搜尋了很多資料也問過 ChatGPT 都無法解決只好擱著ㄝ, 直到今天在下面這篇文章裡找到了線索, 原來是要用烙鐵將全彩 LED 旁有 "RGB" 字樣的焊點連接起來, LED 電路才會真正接到 GPIO8 或 GPIO36 上 :
按 here 會連到 Arduino 論壇上的文章 :
我檢查板子果然那兩個接點是分離的 :
焊好後是這樣 :
然後重新執行上面的程式就會看到 LED 持續閃爍紅黃綠三色了 :
哈哈, 終於解決困擾我一個多月的問題了.
參考 :
沒有留言:
張貼留言