Led Matrix Revenge: il progetto Oriolo

Diversi mesi dopo la pubblicazione del progetto Led Matrix Display Multiplexed² mi contatta l'amico Vittorio (allora sconosciuto) dicendomi che sta costruendo un esemplare modificato del mio display, ma si è accorto che le sue matrici di led sono a catodo comune, mentre lo schema di partenza prevedeva matrici con le colonne a anodo comune. Ci confrontiamo sulle modifiche da apportare alo schema e al firmware del PIC, Vittorio mi mostra la sua realizzazione, ed in breve nasce una collaborazione per ciò che sarebbe diventato un nuovo progetto: Oriolo. In realtà il "lavoro sporco" l'ha fatto lui, io mi sono occupato del firmware.
Schema elettrico
UNITA' MCU UNITA' DISPLAY
L'impostazione generale è la stessa del progetto precedente, dunque sei matrici di led da 5 x 7, una catena di integrati 74HC164 a formare lo shift register per il comando delle colonne, due bus dati per il comando delle righe e il fedele PIC16F877A a gestire la visualizzazione. In questo caso però tutti i segnali hanno polarità opposta, quindi lo sono anche tutti i transistor utilizzati come buffer. Nell' Oriolo i transistor di comando delle colonne sono NPN e hanno l'emettitore a massa, quelli dei bus dati sono PNP ed il loro emettitore è connesso a +5 volt. Lo schema della scheda contenente il PIC è inalterato, in quanto l'inversione di polarità dei segnali è effettuata dal firmware.
Montaggio
Vittorio ha introdotto una interessante variazione al mio progetto, suddividendo la scheda display in tre stampati distinti; uno per le matrici, uno con lo shift register e i buffer delle colonne, un terzo per i buffer delle righe. In questo modo è possibile assemblare meccanicamente le varie parti avendo un ingombro frontale di poco superiore a quello delle matrici, vale a dire circa sei centimetri.
VERSIONE ANODO COMUNE
LATO RAME DISPOSIZIONE COMPONENTI
VERSIONE CATODO COMUNE
LATO RAME DISPOSIZIONE COMPONENTI
UNITA' DI CONTROLLO MCU
LATO RAME DISPOSIZIONE COMPONENTI
All'assemblaggio!
Nell'ordine: la scheda con lo shift register...


...la scheda display...


... e la scheda co i buffer dei bus dati.


Con la nuova disposizione meccanica l'ingombro frontale è di poco superiore a quello delle matrici.


Le schede sono assemblate una sull'altra trattenute da distanziatori.


I collegamenti elettrici sono affidati a cavi flat e connettori a pettine.


Il firmware

Nei primi test il firmware dell'Oriolo era quello del precedente progetto con le sole modifiche rese necessarie dalle nuove matrici, quindi orologio/calendario/termometro oppure scritta scorrevole, poi Vittorio mi ha proposto di modificarlo per combinare le due funzioni. Sulle prime l'idea non mi convinceva più di tanto, pensando che il tempo necessario alla scansione completa di tutte le informazioni avrebbe annoiato l'osservatore. Ho comunque compilato una versione con una modalità di visualizzazione aggiuntiva che comprende la scritta e quando ho visto questo video:

ripreso durante i test mi sono ricreduto, tanto che ho apportato la stessa modifica anche al mio prototipo. Di seguito i link per la versione con matrici a catodo comune e quella a anodo comune. Ricapitolando le funzioni dei due tasti presenti sulla scheda mcu:
  • SW1: cicla fra le seguenti visualizzazioni:
    1. ora-minuti, giorno-mese, temperatura (scorrevole)
    2. ora-minuti, giorno/mese, temperatura, scritta scorrevole
    3. ora-minuti (fissa)
    4. minuti-secondi (fissa)
    5. giorno-mese (fissa)
    6. temperatura (fissa)
    7. scritta scorrevole personalizzabile
  • SW2: una pressione breve nelle visualizzazioni (esclusa la 1) riporta alla visualizzazione 1; la pressione lunga consente l'impostazione di ora e data. Nella visualizzazione 7 la pressione lunga avvia la routine di impostazione del messaggio visualizzabile (max 86 caratteri). Le lettere si modificano con il tasto SW1, confermandole con il tasto SW2. Il carattere "°c" è assunto come codice di fine messaggio e termina la procedura.

Operare a distanza sul codice non avendo la possibilità di testare immediatamente gli effetti delle modifiche apportate è stato strano ma interessante. Abbiamo dovuto superare qualche imprevisto, come la tendenza dell'orologio ad anticipare nonostante la matematica glielo impedisse, ma alla fine ne siamo usciti (credo di poterlo affermare anche a nome di Vittorio) pienamente soddisfatti con tanto di reciproca pacca virtuale sulla spalla.
Il mobile
Nota dolente... il mio esemplare è tutt'ora in versione "naked" con due squadrette per reggere le schede, Vittorio è meno pigro di me e ha realizzato un bellissimo mobile in legno e plexiglass. Chapeau.


praz2004 chiocciola libero punto it