2024年11月12日 星期二

MicroPython 學習筆記 : ESP32-S3 開發板的 RGB LED 測試

我在九月底買了兩片 N16R8 (16MB Flash + 8MB 的 SPI RAM) 的 ESP32-S3 開發板, 內建 SRAM 為 512KB, 板上有一顆全彩 RGB LED (WS2812), 根據官網文件此 LED 在 v1.0 板子是接在 GPO48; 在 v1.1 板子則是接在 GPIO38 :  


我的板子前後都沒看到版本訊息, 應該是舊版的 v1.0, 但我用下列程式去測試, 發現不論是用 GPIO48 還是 GPO38 都不會點亮此全彩 RGB LED :

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 持續閃爍紅黃綠三色了 : 




哈哈, 終於解決困擾我一個多月的問題了. 

參考 : 


沒有留言 :