3.5. La classe LED¶
Il componente hardware più semplice della camera sono i suoi LED integrati. La maggior parte delle schede dispone di un LED RGB (rosso, verde, blu). machine.LED è la classe dedicata al loro controllo; nessun numero di pin, nessuna resistenza, nessun circuito – la ricerca, la limitazione della corrente e il cablaggio sono gestiti dalla camera stessa.
import time
from machine import LED
red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()
Un completo «hello world» hardware: importa la classe, costruisci un’istanza con il nome del colore, accendilo, attendi, spegnilo. Il LED è visibilmente acceso durante i cinque secondi di pausa.
Il red.off() di chiusura è simmetrico al red.on() di apertura e rende esplicita la pulizia. I LED integrati si reimpostano anche automaticamente all’uscita dello script. Man mano che gli script crescono, affidarsi alla pulizia all’uscita dello script diventa fragile; abbinare ogni .on() a un esplicito .off() è l’abitudine che mantiene prevedibili gli script lunghi.
3.5.1. Costruttore e metodi¶
Il costruttore accetta uno tra "LED_RED", "LED_GREEN" o "LED_BLUE". Ogni istanza espone quattro metodi:
on()– accendilo.off()– spegnilo.toggle()– inverte lo stato corrente.value()– senza argomenti, restituisce lo stato corrente (0o1); con un argomento, lo imposta.
Un lampeggiatore, che usa il pattern del main loop:
import time
from machine import LED
led = LED("LED_RED")
while True:
led.toggle()
time.sleep_ms(500)
Usa i LED integrati per scopi di indicazione e di stato: un heartbeat che lampeggia ogni secondo, un lampo rosso in caso di errore, un impulso verde quando una lettura del sensore rientra nell’intervallo.