How can we help you today?
【顯示】全彩LED | dual2s-mini | MPY-LLM
簡介:
WS2812B 是一種內建驅動IC的RGB LED,能透過程式控制而產生各種的彩色燈效,如燈帶、燈墻、LED矩陣等。每一顆 WS2812B LED 都有獨立的三原色(紅、綠、藍)輸出,可以通過控制程式設置不同的亮度和顏色,從而實現豐富的燈光效果。
技術面向上,WS2812B 是基於 單線數據傳輸協議 (Single-Wire Data Transmission Protocol) 的電路控制模式,工作電壓落於4.5V – 5.5V之間,每顆LED最大功耗60mA。常見函數庫為:
- neopixel (microPython)。
- FastLED(C++/Arduino)。
- Adafruit_NeoPixel(Arduino)。
範例電路:
實作 | practice
本影片以dual2s-mini為示範,跟著影片實作完成後,應當可建立下列認知:
- 如何使用LLM獲取更多ws2812b有用資訊
- 如何使用neopixel函數庫與基本MPY程式
- 基本範例:
範例:使用microPython(MPY)控制1個ws2812b(GPIO 2)。範例程式:每一秒更新一種顏色,至少7種顏色。
import machine
import neopixel
import time
# 設定 GPIO 2 為控制 WS2812B 的腳位
pin = 2
num_leds = 1 # 控制的 LED 數量
np = neopixel.NeoPixel(machine.Pin(pin), num_leds)
# 定義 7 種顏色的 RGB 值
colors = [
(255, 0, 0), # 紅色
(0, 255, 0), # 綠色
(0, 0, 255), # 藍色
(255, 255, 0), # 黃色
(255, 0, 255), # 紫色
(0, 255, 255), # 青色
(255, 255, 255) # 白色
]
# 切換顏色
while True:
for color in colors:
np[0] = color # 設定 LED 顏色
np.write() # 更新 LED
time.sleep(1) # 等待 1 秒