In questo primo articolo analizzeremo le cosiddette “striscie LED intelligenti” WS2812 con Arduino con microchip a bordo.
In principio era il LED. L’acronimo di “Light Emitting Diode” rappresentava un modo geniale per sfruttare l’effetto fotoelettrico attraverso una giunzione elettrica e produrre luce a bassissimo consumo (un LED consuma tra i 10 ed i 20 mA).
Nato di color rosso, in breve tempo venne prodotto in diverse colorazioni: verde, giallo, blu, azzurro, ambra. E persino bianco, infrarosso o ultravioletto. Oltre alle diverse frequenze di emissione nello spettro visivo, ciascun LED era dotato in fabbrica di particolari caratteristiche elettriche che ne determinavano la luminosità ed il consumo: un’ottima cosa, se non fosse che acquistando i LED di seconda scelta confezionati nelle bustine di cellophane (quando si è giovani le si provano tutte pur di risparmiare qualcosa), potevano capitare LED con sfumature di rosso diverse, o addirittura pezzi “pregiati” ad alta intensita assieme ad elementi decisamente poco “vividi”. E questo era sicuramente un bel problema per chi progettava circuiti basati sui LED per stupire i propri potenziali clienti.
Il LED RGB
Il funzionamento del LED è simile a quello di qualsiasi altro diodo raddrizzatore: condurre la corrente in un verso e bloccarla nell’altro. In più, una sostanza aggiunta (solfuro di zinco, carburo di silicio, arseniuro di gallio, nitruto di gallio e così via) emette fotoni a specifiche frequenze al passaggio della corrente. Da notare che all’aumentare della frequenza luminosa emessa, aumenta anche la tensione di giunzione del diodo. Verso la fine degli Anni Settanta, iniziarono a comparire anche i LED “speciali”, intermittenti o a due diversi colori (effetti basati sulla polarizzazione). Ma il vero passo avanti si ebbe grazie alla produzione dei cosiddetti LED RGB.
Contrariamente al diodo classico, dotato di due soli reofori per anodo e catodo, un diodo RGB dispone (tipicamente) di un reoforo per il catodo ed un reoforo per ciascuno dei tre colori fondamentali: rosso (Red), verde (Green), blu (Blue). La piccola capsula trasparente del componente contiene al suo interno tre LED miniaturizzati che vengono controllati dalla corrente che attraversa ciascuno dei tre reofori di pilotaggio. Una piccola lente interna fa quidi convergere i fotoni per creare una serie praticamente infinita di colori cangianti. Le applicazioni del LED RGB furono innumerevoli. E tuttavia…
I LED e gli integrati
Tuttavia era necessaria comunque una grande perizia per lavorare su simili sistemi: ciascun LED doveva essere collegato a massa e (di solito) ad un resistore che ne limitasse la corrente assorbita, quindi volendo creare un VU-meter a 8 led erano necessari una cinquantina di collegamenti sulla “millefori“. Senza contare che ogni collegamento apriva la porta ad eventuali interferenze elettromagnetiche, quindi occorreva aggiungere condensatori di filtro.
Un notevole passo avanti nell’ingegnerizzazione dei circuiti con LED venne garantito dai circuiti integrati analogici di tipo LM3914 (lineari), LM3915 (logaritmici) e LM3916 (VU-meter). Tali integrati erano in grado di pilotare sino a 10 LED con un solo resistore, ed erano modulari: era infatti possibile aggiungere un nuovo integrato e pilotare una fila di 20 LED attraverso le variazioni del segnale fornito.
I LED intelligenti
L’avvento dei microcontrollori programmabili e delle schede Arduino ha elevato ulteriormente l’asticella della programmazione delle luci. Tramite un singolo MCU è ora possibile progettare e realizzare diversi giochi di luce, processare il segnale ed inviarne l’output su una scala di led, creare applicazioni che soddisfino l’occhio del geek più spinto utilizzando il software anziché i circuiti elettronici. Un programma in C o in Python è in grado di pilotare la luminosità e l’efficienza del segnale, mostrarne la potenza, filtrarlo in bande: è sufficiente fornire la materia prima (i LED, appunto), un array di resistori per ridurre lo spazio, magari qualche LED RGB e progettare i propri giochi di luce. L’apoteosi dell’edonismo visuale…
Le “striscie LED WS281x”
Esiste una ulteriore, sottile perversione collegata a questa insulsa ed irrefrenabile frenesia RGB: da qualche tempo sono presenti sul mercato nastri preconfezionati in cui sono posizionati ad intervalli fissi un LED RGB a montaggio superficiale, un circuito integrato pilota, due connessioni per l’energia ed una connessione (canale) per il pilotaggio del LED. Ciascun “pacchetto” hardware siffatto viene posto sulla striscia ad intervalli regolari, e la quantità d i LED per metro di striscia (la cosicddetta “densità”) va dai 30 ai 144 LED per metro. Ovviamente aumentando la densità diminuisce la misura del LED utilizzato, ma non la sua luminosità.
E’ ovviamente possibile “tagliare” la striscia a misura: se mi occorrono ad esempio 15 LED per il mio VU-meter, o se il mio telaio di supporto misura 70 cm, sono presenti indicatori tra una serie di componenti e l’altra che permette di sezionare la striscia senza alcun effetto collaterale. È evidente che,dato il consumo dei LED, conviene restare su striscie lunghe un metro, ed applicare su ciascuna la corretta alimentazione.
Ogni striscia dispone di una copertura autoadesiva che ne facilita il montaggio.
Esiste infine una categoria particolare di striscie LED impermeabili, dal costo elevato e dalla maneggevolezza molto limitata, ma ideali per chi desiderasse eseguire giochi di luce nell’acqua.
Uso delle striscie WS281x
L’immagine raprpesenta un colegamento di una striscia LED pilotata con Arduino. Se i led vengono pilotati a bassa potenza ed in numero sufficientemente basso, è possibile collegare l’alimentazione ai 5V ed al ground di Arduino, altrimenti sarà necessario prevedere per i LED una alimentazione separata (ricordare di collegare le masse dei circuiti!). Per il canale di pilotaggio, occorre portare un connettore ad una porta digitale di Arduino attraverso un resistore da 330 ohm.
È infine buona norma porre un condensatore elettrolitico sufficientemente carrozzato in parallelo alla linea elettrica, in funzione di filtro antidisturbo e protezione da sbalzi di corrente.
Per oggi ci fermiamo qui: abbiamo enunciato un po’ di storia dei LED, mostrato in che modo si è evoluto il concetto di striscia LED ed appreso come configurare il nostro test bed.
In una prossima puntata inizieremo quindi a presentare i programmi più comuni per la gestione dei singoli LED, ed impareremo a lavorare con concetti quali pattern, tinta, palette, onda e sfumatura. Correlati di interessanti video applicativi.
Continuate a seguirci!