Led Matrix 16×16, un pannello di colori e possibilità

Il Led Matrix 16X16 è un pannello, composto da una matrice di un quadrato di 16 pixel per lato, per un totale di 256 Led RGB compatibili con il protocollo WS8212. Il controllo di questo pannello risulta, di conseguenza, alquanto elementare in fase di programmazione. Per questo può essere utilizzato in un ampia gamma di diversi progetti.

Oltre che una lampada RGB accattivante, può essere utilizzato come display di lettura per determinate informazioni. Le sue applicazioni possono ampliare dal semplice orologio o lettura di temperatura, per arrivare a semplici animazioni stile ‘retro’ o spettrometro audio. Può essere implementato anche per le notifiche, come per esempio le email, o visualizzatore dello stato di alcuni sensori collegati.

Le sue applicazioni sono più o meno infinite ed è utile in questo frangente conoscere le fasi di collegamento e programmazione, in modo da poter sviluppare autonomamente il proprio progetto.

Confezione ed Imballaggio (7)

Confezione nella norma e imballaggio abbastanza adeguato. Mi sarebbe piaciuto, come sempre, anche un semplice fogliettino di spiegazioni basilari. Ma il prodotto è abbastanza ‘standard’ e le informazioni si recuperano molto facilmente attraverso internet. La spedizione di Amazon come sempre impeccabile.

Hardware, Led Matrix 16×16 (9)

Il tipo di pannello ha 256 led disposti in 16 file di 16 righe. Compatibile con il protocollo WS2812B. La sequenza colori, come di solito nei dispositivi di questo genere, è G R B (e non RGB) a 24 bit.

Led Matrix 16x16

Il pannello è flessibile, necessita di una tensione di ingresso di 5V con una potenza per LED fra 0,1 e 0,3 W. Misura esattamente 16 cm di lato per un altezza di circa 2/3 millimetri.

Led Matrix 16x16

Per chi conosce il tutorial di Info4blog sulle luci colorate RGB compatibili con il protocollo WS8212 le cose saranno molto più semplici.

Il collegamento è semplicissimo. Sono presenti 2 gruppi di 3 fili, nel primo gruppo è presenti il pin in ‘entrata’, oltre che la GND e la VCC. Li collegheremo al modulo con l’ESP8266, in questo caso il NodeMCU. Nel secondo gruppo di tre fili sarà presente invece il D-OUT il segnale in uscita, e andranno eventualmente collegati nel caso si avranno altri pannelli o led WS2812 da collegare, per controllare tutti quanti i LED solo con un PIN del processore.

Led Matrix 16x16

Alimentazione

I due fili restanti, naturalmente, andranno collegati ad una fonte di alimentazione di 5V, o comunque che soddisfi le caratteristiche del pannello Led Matrix 16X16.

Nel nostro caso sono 256 Led, quindi il pannello va considerato come una striscia led a 256 led. Negli esempi potremmo collegare solo i ‘3 fili D-IN’ direttamente al modulo, facendo attenzione che la luminosità (Brightness) resti sotto la soglia minima. Tutti gli esempi di solito hanno proprio questo attributo all’inizio del codice, settato con un valore molto basso.

Questo perchè il modulo NodeMCU o compatibili, andrà collegato direttamente a un PC o Mac, per la programmazione. Settando una luminosità bassa si potrà usare solo la corrente della porta USB.

Naturalmente una volta concluse tutte le operazioni e scelto il codice definitivo, oltre che il modulo con il processore, andrà alimentato anche il panello con i famosi 2 fili aggiuntivi, quando verrà scollegato dall’USB.

Dal punto di vista hardware può essere considerata una striscia led RGB, con i led disposti linea per linea, come una ‘serpentina’, a “zig zag”.

La maggior parte dei pannelli 16×16 sono disposti in questo modo, e per alcuni esempi o librerie bisogna aggiungere una variabile di configurazione iniziale per far capire al programma che si tratta di una disposizione a ‘zig zag’. Altrimenti il risultato sarà falsato.

Per capire esattamente il tipo di pannello che si ha per le mani, basterà provare dei semplici esempi che si trovano nelle librerie corrispettive.

Software, Led Matrix 16×16 (8.5)

In generale le librerie per il pannello Led Matrix 16X16 sono facilmente disponibili, e si trovano gli esempi più comuni per lo sviluppo della maggior parte dei progetti.

Basterà comunque, attraverso il software Arduino Ide, cercare attraverso la ‘gestione librerie’, quella adatta per questo tipo di pannello. Inclusi i relativi esempi.

Le principali librerie che vengono utilizzate per controllare i LED RGB WS282X hanno sempre degli esempi o una ‘branca’ che si occupa proprio della gestione delle matrici.

Vediamo gli esempi principali delle librerie che abbiamo provato:

Adafruit NeoMatrix

La libreria Adafruit Neomatrix deriva direttamente dalla libreria Adafruit NeoPixel per la gestione del LED RGB compatibili WS282XX.

La potrete installare come le altre librerie, semplicemente andando nel menù “Strumenti” e cliccando su “Gestione Librerie…”. Nella casella inserirete la parola chiave “NeoMatrix”. La libreria ha come titolo appunto “Adafruit NeoMatrix” e cliccando sul pulsante ‘installa’, verrà integrata automaticamente nel programma.

L’esempio esplicativo più rappresentativo è MatrixGFXDemo che potrete trovare sotto il menu Esempi della medesima libreria.

Fra le linee di codice dovrete modificare la line “#define PIN” per impostare il GPIO del proprio NodeMCU o similare da collegare al pannello. Nel mio caso è 5, perchè assegnato a D1.

I valori da modificare per il funzionamento dovrebbero essere anche altri, ma in teoria il tutto è già impostato per il funzionamento di un pannello con matrice a ‘zigzag’. Modificate i valori in base al vostro pannello (NEO_MATRIX_ZIGZAG vs NEO_MATRIX_PROGRESSIVE).

Bisogna anche modificare il codice in base al modello, per esempio lasciando senza ‘slash’ la riga #define P16BY16X4, e più in basso modificando le dimensioni con #define mw 16 e #define mh 16. Fate delle prove e modificate, nel caso, le impostazioni della variabile “Adafruit_NeoMatrix *matrix” all’interno del “#elif defined” della definizione scelta (in questo caso dopo #elif defined(P16BY16X4)).

Le righe di codice sono comunque abbastanza facili da capire, probabilmente anche per persone che hanno una leggera infarinatura di programmazione. L’esempio è infatti spiegato molto bene, anche se in inglese, basta leggere il testo commentato.

La programmazione risulta assai semplice:

  • matrix->clear();//inizializza il pannello
  • matrix->fillRect(inizioX,inizioY, larghezza, lunghezza, LED_WHITE_HIGH); //riempie tutto il rettangolo di bianco
  • matrix->drawRect(inizioX,inizioY, larghezza,lunghezza, LED_BLUE_HIGH); //disegna il contorno di un rettangolo di blu
  • matrix->drawBitmap(inizioX,inizioY, array_con_valori_immagine_BMP, 8, 8, colore); //disegna un’immagine BMP
  • matrix->show(); //mostra il risultato

Leggete le righe di codice dell’esempio per altre funzioni della libreria.

FastLed NeoMatrix

La libreria FastLed NeoMatrix ha più o meno le stesse caratteristiche della precedente, utilizzando però, come base, la libreria FastLed.

Sono presenti molti più esempi, in particolare in ‘espgifread.ino’ è possibile visualizzare immagini gif animate direttamente sul nostro led.

Le gif andranno caricate direttamente tramite la cartella DATA e l’opzione nel menu ‘STRUMENTI’ : ‘ESP8266 Sketch Data Upload’. Questo permette di caricare il contenuto della cartella ‘data’ presente nella cartella dello sketch, direttamente nella memoria flash non volatile del processore. Per la lettura di queste informazioni verrà utilizzata una libreria per la creazione del file system ‘SPIFFS’ e la lettura di file nella memoria flash.

NeoPatterns

La libreria NeoPatterns permette invece delle simpatiche animazioni cicliche senza tanti sforzi, come per esempio quella del fuoco. Sicuramente da provare, molto ‘suggestiva’.

Da tenere in considerazione anche la libreria TJpg_Decoder, che permette sempre tramite SPIFFS di leggere piccole icone JPEG inserite accuratamente nella memoria Flash, decodificandoli velocemente in una variabile array BMP, digeribile per la maggior parte delle librerie elencate.

Prezzo (8)

Il prezzo è minore di quello di una striscia da 256 led e fino a poco tempo fa il costo di un pannello Led Matrix 16X16 era sensibilmente maggiore.

Ne consiglio sicuramente l’acquisto a chi ha già sperimentato, per esempio, NodeMCU con le strisce led WS8266. Qui trovate l’articolo nella sua pagina di Amazon. Dategli, se volete, un occhiata. Sono sicuro che vi darà tante soddisfazioni.

Naturalmente seguiranno vari tutorial specifici. Rimanete sintonizzati.

2 thoughts on “Led Matrix 16×16, un pannello di colori e possibilità

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *