class LED —— 可攜式板載 LED 控制

LED 類別是 machine.Pin 的輕量可攜式包裝,用於驅動具名的板載 LED,並隱藏各開發板之間主動低態/主動高態的接線差異。它由 OpenMV 韌體以凍結 Python 模組的形式提供(參見 scripts/libraries/machine.py),因此可用於每一片 OpenMV 支援的開發板,無論其 port 為何。

LED 以簡單的開/關 GPIO 方式驅動;不具備 PWM 強度控制。對於接至支援 PWM 之接腳的 LED,請改為直接透過 PWM 驅動。

使用範例:

from machine import LED

red = LED("LED_RED")
red.on()
red.toggle()
red.off()

建構函式

class machine.LED(pin_name: str | Pin) LED

建構一個繫結至以 pin_name 識別之 LED 的 LED 物件。pin_name 可以是 OpenMV 開發板 LED 字串("LED_RED""LED_GREEN""LED_BLUE""LED_IR"——確切的組合取決於相機),或是一個 Pin 物件。

建構函式會記錄該 LED 是以主動低態還是主動高態接線(使用 boardname() 查詢目前開發板的主動電位慣例),因此呼叫者一律傳入邏輯上的開/關電位,而無需顧慮極性。

方法

on() None

將 LED 驅動至其開啟狀態。

off() None

將 LED 驅動至其關閉狀態。

toggle() None

翻轉 LED 目前的狀態。

value(v: int | None = None, /) int | None

取得或設定 LED 狀態。

若不帶引數,則返回目前的邏輯狀態(0 = 關,1 = 開)。

若帶單一 v 引數,則將 LED 設為該狀態。驅動程式會將 v 與開發板的主動電位慣例做 XOR 運算,因此無論極性為何,1 一律表示「開」。

boardname() str

返回開發板名稱字串(os.uname().machine" with " 之前的字首)。內部用於為 LED 選取正確的主動電位慣例。