Messaggi scorrevoli a matrice di LED

Un pannello a LED dalle dimensioni 52 per 17 centimetri composto da 256 LED ultra luminosi di colore verde smeraldo, consente di visualizzare scritte scorrevoli alfanumeriche a distanza di svariati metri con un’ottima visibilità del messaggio programmato. La programmazione del messaggio ha luogo tramite un’applicazione realizzata appositamente per Android utilizzabile su qualsiasi smartphone provvisto di Bluetooth e del sistema operativo appena menzionato. E’ possibile creare messaggi personalizzati tramite l’apposita applicazione, all’occorrenza salvare il messaggio creato e richiamarlo in qualsiasi momento per poterlo aggiornare e modificare e dopo rinviarlo al pannello per la visualizzazione; è possibile eventualmente spegnere e accendere il pannello sempre tramite la medesima App.

Introduzione

In un mondo sempre più orientato alla proposta d’informazioni rapide e ad impatto diretto, la comunicazione visiva riveste un’importanza tutt’altro che trascurabile. Tra gli strumenti maggiormente efficaci in tal senso, figurano sicuramente le scritte luminose a LED: poste in luoghi strategici, come ambienti altamente frequentati e punti di passaggio, catturano l’attenzione dei passanti, offrendo loro uno stimolo decisamente più efficace e a più alto impatto emozionale rispetto ai tradizionali cartelloni pubblicitari. Il progetto (Figura 1) che ci rechiamo a realizzare e a descrivere nelle prossime pagine è di facile realizzazione perché usa componenti agevolmente reperibili nel web, e anche perché è basato sulla piattaforma Arduino UNO che ormai è abbastanza conosciuta sia in ambito hobbistico che professionale.

Figura 1: foto del progetto finito

Il display driver MAX7219

In questo progetto è stato utilizzato un modulo con a bordo quattro driver MAX7219. Il MAX7219 è stato progettato (vedi Figura 2) per controllare display a LED a segmenti o matrice di punti. In questo caso utilizzato in modalità matrice di LED, ogni driver controlla una matrice composta da otto (colonne) per otto LED (righe). Il MAX7219 in modalità matrice scandisce le 8 righe di 8 colonne LED uno dopo l’altro. Accende sempre i LED di una riga per un certo tempo per poi spegnerli e proseguire con la riga successiva. Ha un oscillatore intero per temporizzare le operazioni di multiplexing. La modalità (pilotaggio display sette segmenti) Decode fa la stessa cosa solo che i dati trasmessi non vengono interpretati bit per bit (ogni bit per un LED acceso o spento) ma come codice BCD e visualizzato la combinazione di segmenti per corrispondente numero.

Figura 2: pinout dell’integrato MAX7219

La luminosità dei display può essere controllata con un resistore esterno connesso tra il piedino 19 (V+) e il piedino 18 (ISET). La corrente nei LED è circa 100 volte la corrente nel pin 18 (ISET). Modificando il valore del resistore al pin 18 è possibile cambiare questa corrente. La corrente di picco nelle matrici di LED può essere fissa o variabile (tramite Trimmer) ma deve comunque essere maggiore o uguale a 9,53 ohm. Si sconsiglia di non superare i 40 mA per LED; se sono necessarie correnti maggiori occorrerà inserire buffer esterni. In ogni caso la corrente complessiva massima (tutti i LED accesi) non dovrà superare i 330 mA. La luminosità del display può essere controllata anche in modo digitale utilizzando l’intensity register (per approfondimenti vedi il Datasheet). Il controllo viene effettuato mediante il registro, il quale agisce su un circuito PWM interno. Il modulatore suddivide la corrente media nelle matrici di LED in 16 passi, da un massimo di 31/32 fino a un minimo di 1/32 della corrente di picco imposta al piedino 18.

Figura 3: schema elettrico della scheda

Il circuito elettrico

Analizziamo ora in dettaglio lo schema elettrico (Figura 3) della scheda di controllo. Il circuito rende indispensabile una tensione di alimentazione in corrente continua di 5 V, prelevata attraverso il connettore micro USB (X1); esso fornisce i 5 V necessari ad alimentare il microcontrollore IC1, il modulo Bluetooth J3 e il modulo display connesso sul connettore J4. Il circuito assorbe una corrente di circa 1500 mA, dunque è necessario che la sorgente di alimentazione ovvero l’alimentatore USB sia in grado di fornire tale intensità di corrente o una maggiore corrente. E’ possibile utilizzare anche un alimentatore diverso da uno USB che è eventualmente collegabile con due fili al connettore X4. Il connettore J4 (connesso ad IC1) implementa un’interfaccia seriale sincrona che controlla il modulo display, dove sono contenuti i driver MAX7219 (uno per display) che pilotano le matrici di LED. Si conclude così la trattazione e descrizione dello schema elettrico, nel prossimo paragrafo invece passiamo alla realizzazione pratica del nostro display a matrice di LED.

Figura 4: piano di montaggio

Realizzazione pratica e collaudo

Per la realizzazione di questo dispositivo (Figura 6) abbiamo approntato un circuito stampato a doppia faccia (vedi Figura 5) le cui dimensioni sono 93,5 mm x 60,5 mm. Per la costruzione di questa scheda si devono impiegare i master di Figura 5. L’operazione di montaggio di questo circuito non presenta particolari difficoltà: per l’integrato abbiamo utilizzato l’apposito zoccolo, per evitare di surriscaldarli durante gli interventi di saldatura. Prima d’iniziare a montare i componenti a montaggio tradizionale occorre montare il connettore (in SMD) micro USB X1, che va saldato adoperando un saldatore con punta sottile e stagno dal diametro di 0,5 mm. Prima di posizionarlo sulle piazzuole occorre applicare un sottile strato di pasta saldante per SMD, in seguito si può passare alle saldature delle due alette laterali, ed infine alla saldatura dei quattro terminali. Per gli altri componenti è sufficiente rispettare le indicazioni del piano di montaggio di Figura 4, specie per quanto riguarda l’orientamento nel caso di elementi polarizzati, ad esempio condensatori elettrolitici e il microcontrollore IC1. Per quanto concerne il quarzo Y1 esso va saldato sollevato dal circuito stampato almeno due millimetri per evitare che la base vada in contatto con le piazzuole sottostanti del PCB pregiudicando il funzionamento del circuito stesso.


Figura 5: a sinistra il master del lato componenti, a destra il master del lato saldature del circuito stampato

Finite tutte le operazioni di costruzione della scheda possiamo eseguire il collegamento al modulo display come è visibile in Figura 8, e dopo passare alla programmazione del microcontrollore. Il firmware per la gestione della scheda è stato scritto in linguaggio C per Arduino UNO ed è possibile scaricarlo al link che troverete a fine articolo completo delle librerie usate per la realizzazione del software del pannello a matrice di LED. Per svolgere la compilazione del firmware è consigliabile utilizzare IDE di Arduino UNO 1.0.1. La programmazione del microcontrollore IC1 si compie eseguendo queste operazioni: realizzata la compilazione con l’IDE di Arduino UNO 1.0.1 si può programmare la scheda, e se si dispone di un ATMEGA328P (IC1) già con Bootloader caricato, si può passare al caricamento del firmware tramite un convertitore seriale USB/TTL da collegare al connettore J2 presente sulla scheda (senza inserire il modulo HC-06), altrimenti prima necessita caricare il Bootloader tramite un programmatore che va collegato al connettore J1 (vedi Figura 8). Prima di passare al collaudo definitivo della scheda bisogna programmare il modulo HC-06 come descritto nel prossimo paragrafo.

Finite le fasi di programmazione si può compiere un primo collaudo verificando il collegamento Bluetooth e l’invio dei caratteri (vedi paragrafo "L’APP Android") al modulo a matrice di LED (in quando provvisto di display a matrice di LED rossi). [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2409 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend