3.5. LED 類別¶
相機上最簡單的硬體就是它的板載 LED。大多數電路板都有一顆 RGB LED(紅、綠、藍)。machine.LED 是用來控制它們的專用類別;不需要接腳編號、不需要電阻、不需要電路——查找、限流與接線都由相機本身處理。
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
一個完整的硬體「hello world」:匯入該類別,以色彩名稱建構一個實例,將它打開,等待,再將它關閉。在五秒的休眠期間,LED 會明顯地亮著。
結尾的 red.off() 與開頭的 red.on() 對稱,並使清理動作明確化。板載 LED 在指令碼結束時也會自動重置。隨著指令碼變大,依賴指令碼結束時的清理會變得脆弱;讓每個 .on() 都搭配一個明確的 .off(),是讓長指令碼保持可預測的好習慣。
3.5.1. 建構子與方法¶
建構子接受 "LED_RED"、"LED_GREEN" 或 "LED_BLUE" 其中之一。每個實例都提供四個方法:
一個採用主迴圈模式的閃爍器:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
可將板載 LED 用於指示與狀態用途:每秒閃爍一次的心跳訊號、發生錯誤時的紅色閃光、感測器讀數在範圍內時的綠色脈動。