classe LED – controllo portabile dei LED on-board

La classe LED è un sottile wrapper portabile attorno a machine.Pin che pilota un LED della scheda con nome, nascondendo la differenza di cablaggio active-low / active-high tra le schede. Viene fornita come modulo Python congelato dal firmware OpenMV (vedere scripts/libraries/machine.py) ed è quindi disponibile su ogni scheda supportata da OpenMV, indipendentemente dal port.

Il LED viene pilotato come un semplice GPIO on/off; non c’è controllo di intensità via PWM. Per i LED collegati a pin con supporto PWM, pilotarli direttamente tramite PWM.

Esempio di utilizzo:

from machine import LED

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

Costruttori

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

Costruisce un oggetto LED associato al LED identificato da pin_name. pin_name è una stringa LED della scheda OpenMV ("LED_RED", "LED_GREEN", "LED_BLUE", "LED_IR" – l’insieme esatto dipende dalla cam) oppure un oggetto Pin.

Il costruttore registra se il LED è cablato active-low o active-high (usando boardname() per cercare la convenzione del livello attivo per la scheda corrente), in modo che i chiamanti passino sempre livelli logici on/off senza preoccuparsi della polarità.

Metodi

on() None

Porta il LED nel suo stato acceso.

off() None

Porta il LED nel suo stato spento.

toggle() None

Inverte lo stato corrente del LED.

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

Legge o imposta lo stato del LED.

Senza argomenti, restituisce lo stato logico corrente (0 = spento, 1 = acceso).

Con un singolo argomento v, imposta il LED su quello stato. Il driver esegue lo XOR di v con la convenzione del livello attivo della scheda, quindi 1 è sempre «acceso» indipendentemente dalla polarità.

boardname() str

Restituisce la stringa del nome della scheda (il prefisso di os.uname().machine prima di " with "). Usato internamente per scegliere la corretta convenzione del livello attivo per il LED.