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 (0 o 1); 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.