PANNELLO DI SCRITTE SCORREVOLI

 

 

Progetto pubblicato sulla rivista Elettronica Flash  

 


 

IL PROGETTO

 

Descrivere l’utilizzo e il funzionamento di un pannello di scritte scorrevoli credo sia superfluo visto l’uso piuttosto frequente di questo tipo di mezzo pubblicitario e/o informativo. Il reperimento di un oggetto del genere è ormai semplice, altro discorso riguarda il suo prezzo. Un pannello in grado di visualizzare 16 caratteri costa attorno ai due milioni di lire (fate voi la conversione in euro). Certamente bisogna tenere conto di tutti gli effetti disponibili, di una libreria fornitissima e di una capacità di memoria a disposizione quasi illimitata, nel senso che non verrà mai pienamente utilizzata. Se ci necessita un’applicazione del genere per uso casalingo e personale risparmiando, non ci resta che l’autocostruzione. L’apparecchio che vi propongo ha un unico effetto: lo scorrimento della scritta verso sinistra. Ovviamente la frase da visualizzare è programmabile tramite un tastierino composto da  soli cinque pulsanti.

L’utilizzo del tastierino per programmare la frase non è delle migliori, ma risulta molto economico. Costruire un programmatore dedicato o un’interfaccia per PC con relativo programma per inserire nella memoria del pannello la scritta da visualizzare è senz’altro più comodo, ma terminata la programmazione, che c’e ne facciamo se non dimenticarcelo in un cassetto.

DISTINTA COMPONENTI


R1-24: 100 OHM 1/8W
R25-31: 470 OHM 1/8W
R32-35: 10 KOHM 1/8W

C1: 470 mF 25VL
C2: 47mF 16VL
C3: 0,1 mF

D1: 1N4004

L1-168: LED ALTA LUMINOSITA' (VEDI ARTICOLO)

IC1: PIC16F628 (A)
IC2-5: 74HC574
IC6: 7805

P1-4: PULSANTI PER CS

X1: MORSETTIERA 2 POLI

Il pannello in questione è composto da una matrice di 7 righe per 48 colonne per un totale di 336 LED. La lunghezza totale è di 550 mm e l’altezza è di 100 mm. La parte utile (quella con i soli LED) è di 480 x 65 mm. Ogni carattere è formato da 5 colonne, e il pannello è in grado di visualizzarne un massimo di 8 contemporaneamente. Il numero massimo di caratteri memorizzabili è di 125.

Il circuito di pilotaggio dei LED utilizza il sistema del Multiplexer, cioè le righe vengono accese alternativamente, cioè una alla volta, semplificando il circuito anche se i LED restando accesi per un settimo del tempo, rendono meno in termini di luminosità.

Per rendere fattibile la costruzione a chiunque sia in grado di usare un saldatore, ho preferito dividere il progetto in cinque schede. La matrice dei LED è composta da tre schede uguali, formato Eurocard (160 x 100 mm), dove trovano posto otre ai LED, anche il circuito di pilotaggio delle colonne formato da due economici 74HC574 per scheda. La quarta misura 68 x 100 mm e contiene il micro del tipo PIC16F628, il circuito di pilotaggio delle righe e l’alimentatore.

Il PIC deve essere caricato con il programma “PANNEL12.HEX”, contenente le varie routine che fanno funzionare in modo opportuno il microcomputer. Oltre a memorizzare la scritta da visualizzare, il compito principale del micro è gestire la matrice dei LED. In breve, la porzione di scritta da visualizzare, viene divisa in sette righe (vedi nel file “fonts.inc” come sono costruiti i caratteri) e invia la prima riga ai sei 74HC574 che gestiscono le 48 colonne. Subito dopo viene alimentata la prima riga tramite U3 e Q1. In questo modo vengono attivati solo i LED della prima riga interessati alla porzione di frase da visualizzare. Dopo un tempo fisso, viene spenta la prima riga e le colonne caricate con le informazioni per visualizzare la seconda riga della stessa porzione di frase e, quindi, attivata la seconda riga tramite U3 e Q2. Il ciclo prosegue fino alla settima riga e ricomincia da capo. Il numero di ripetizioni, cioè quante volte viene visualizzata la stessa porzione di frase, dipende da un contatore il cui valore possiamo aumentare o diminuire tramite i pulsanti P3 à DECREMENTA o P1 à INCREMENTA rispettivamente. Quindi aumentando il valore del contatore la velocità di scorrimento dimunuisce perché l’intero ciclo viene ripetuto più volte. Ovviamente diminuendo il valore del contatore la velocità di scorrimento aumenta. Arrivato a zero, la porzione di frase da visualizzare cambia e in particolare avviene uno slittamento di una sola colonna verso destra e quanto sopra descritto ricomincia da capo.

La quinta scheda, più piccola, monta i cinque pulsanti, le cui funzioni sono riportate qui sotto.

P1: INCREMENTA carattere

P2: ENTER

P3: DECREMENTA carattere

P4: SALTA DI 10 caratteri

P5: FINE

Come già detto, P1 e P3 sono usati anche per aumentare o diminuire rispettivamente, la velocità di scorrimento della scritta.

MONTAGGIO DEL CIRCUITO

Tutti i disegni sono realizzati con il CIRCAD.

La scheda CPU non comporta particolare difficoltà. La basetta è disegnata in doppia faccia ma vi consiglio di realizzare una monofaccia e completarla con i sette ponticelli necessari. Unica raccomandazione riguarda il regolatore U4 che va opportunamente raffreddato con un radiatore.

I pulsanti utilizzati sono del tipo miniatura, molto usati e molto economici. Se avete a disposizione dei modelli diversi, dovrete apportare delle modifiche al CS o montarli in un scheda millefiori per montaggi sperimentali.

Più impegnativo è il montaggio delle tre schede LED. Il disegno prevede la doppia traccia, ma volendo senza troppi sforzi è possibile la costruzione monofaccia. Per ottenere un effetto gradevole, e importante montare i LED tutti alla stessa altezza e tutti allineati. Potete utilizzare i bastoncini dei gelati quelli classici di legno. Infilati tra i reofori tengono i LED alla stessa altezza. Uno dei due terminali dei LED va saldato dalla parte rame, mentre l’altro dal lato componenti. Se optate per i CS monotraccia, dovrete saldare tutti i terminali dal lato rame e provvedere ai collegamenti delle colonne con degli spezzoni di filo (vedi foto).

Nelle realizzazioni monofaccia, bisogna collegare i terminali dei LED delle colonne con degli spezzoni di cordina di rame isolata. Se avete a disposizione del tipo per collegamenti sperimentali, è possibile la saldatura senza dovere togliere l’isolante con una forbice, rendendo l’operazione molto semplice e rapida.

Nota particolare per i LED: per ottenere un buon effetto visivo, è necessario utilizzare il tipo ad alta luminosità. Esistono in commercio diversi modelli ad alta resa, è importante scegliere quello con un angolo di osservazione almeno di 40° (meglio se 60°). Nella fretta ho acquistato dei LED con un angolo molto piccolo, ottenendo un eccezionale visibilità posti di fronte al pannello, mentre è quasi nulla se ci si pone, anche di poco, lateralmente. Vi consiglio di non acquistare frettolosamente e informatevi del prezzo presso vari rivenditori. Personalmente li ho trovati in un negozio della mia zona (Padova) che vende soprattutto all’ingrosso e li ho pagati 0,09096 Euro + IVA (poco più di 200 delle vecchie lire, di 400 pezzi).

Le righe vengono pilotate con dei transistor NPN di media potenza. Per ottenere la massima luminosità, non è questa la soluzione ideale. Se non siete soddisfatti e volete ottenere il massimo della resa dai LED è necessario complicare il circuito di pilotaggio come descritto nel riquadro in alto a destra nello schema elettrico dello stadio CPU. Troverete lo stampato nel pacchetto con il nome “pannello_CPU_2.pcb”. ATTENZIONE: NON E’ STATO PROVATO.

Al termine del montaggio delle schede si procede al collegamento delle stesse.

Le schede vanno collegate tra loro con del filo di rame nudo, dopo averle allineate per bene. Particolare cura va posta nel collegare le tre schede LED, non appoggiate le basette tra loro ma tenerle distanziate in modo da misurare 10 mm tra i terminali dei LED dell’ultima colonna della prima scheda e la prima colonna della seconda scheda. Stessa cura tra la seconda e la terza.

Vanno collegate le righe tra scheda CPU e la prima scheda LED, tra la prima scheda LED e la seconda e tra la seconda scheda LED e la terza. Stesso discorso per i connettori (non perdete tempo con spine e prese, ma fate i collegamenti, dalla parte piste, con del rame nudo, come per le righe). Dal connettore X2 della scheda CPU, partono sei fili isolati per controllare le colonne. Dal pin 1 di X2, collegare il pin 11 di U1 del primo stadio LED, dal 2 di X2 al pin 11 di U2 sempre del primo stadio LED, il pin 3 di X2 collegato al pin 11 di U1 del secondo stadio LED, ecc.. Il disegno “pannello COLLEGAMENTI ” chiarisce ogni dubbio.

Da X3a della scheda CPU con un connettore o del cavetto con sei conduttori, collegare la piccola scheda dei pulsanti.

A questo punto, non ci resta che alimentare il circuito con 8/9 Vca o 10/12 Vcc ed almeno 1 A.

PROGRAMMAZIONE DELLA SCRITTA

La programmazione della scritta da visualizzare non è delle più agevoli. Del resto, in genere, non va cambiata molto spesso.

Nel programma del PIC, è memorizzato l’alfabeto delle lettere maiuscole, uno spazio (serve sempre), tutto l’alfabeto delle lettere minuscole, uno spazio, i numeri dallo 0 al 9, alcuni simboli (punto, virgola, ecc.), per un totale di 77 caratteri. 17 caratteri sono liberi e possono essere programmati a piacere. Per questo argomento rimando la spiegazione nel capitolo "programmazione di un nuovo carattere".

Per entrare in modalità programmazione è sufficiente premere il pulsante P2 à ENTER. A sinistra del pannello appare la prima lettera memorizzata nella EEPROM del PIC. Premendo P1 à INCREMENTA o P3 à DECREMENTA scorrono le lettere nell’ordine alfabetico. Per agevolare la ricerca di un carattere, ho inserito il pulsante P4 à SALTA  DI 10 che permette di saltare, in avanti, di 10 posizioni per volta. Per esempio: se dalla lettera B maiuscola dobbiamo saltare alla t minuscola, possiamo farlo semplicemente premendo alcune volte   P4 à SALTA  DI 10 invece di premere  P1 à INCREMENTA e scorrere noiosamente tutto l’alfabeto. Trovato il carattere da memorizzare, premere P2 à ENTER per la conferma.

 

ATTENZIONE: non premete subito P2 à ENTER ma aspettate alcuni istanti, perché il circuito di rivelamento pulsanti premuti è sincronizzato con il sistema Multiplexer e può succedere che il carattere venga visualizzato in ritardo e memorizzato quello sbagliato. Consiglio solo un po’ di pratica per famigliarizzare con i pulsanti.

 

Sulla parte destra del display, trova posto il contatore dei caratteri memorizzati. Funzione molto utile nel caso si debba modificare la scritta. Assicuratevi che premuto P2 à ENTER il contatore incrementi il valore. Il numero massimo di caratteri memorizzabili è di 125, limitati dalla capacità della EEPROM del PIC.

Terminata la frase, premere P5 à FINE per uscire dalla fase di programmazione e godersi lo spettacolo.

Se sbagliate memorizzare un carattere, premete P5 à FINE e rientrate in programmazione con P2 à ENTER, premete P2 à ENTER tante volte da arrivare al carattere sbagliato e continuate da questo punto la programmazione. Stesso discorso per aggiungere qualcosa ad una frase già memorizzata. Se vi accorgete di avere sbagliato un carattere a metà frase, dovrete premere P2 à ENTER fino ad arrivare al carattere sbagliato, ma da questo punto in poi dovrete riprogrammare il resto della frase.

Solo i pulsanti P1 à INCREMENTA o P3 à DECREMENTA se tenuti premuti scorrono in avanti o indietro i caratteri dei fonts memorizzati. Gli altri pulsanti devono essere rilasciati prima di accettare un nuovo comando.

 

La velocità di scorrimento viene scelta, secondo i gusti personali, premendo il pulsante P1 à INCREMENTA per aumentarla, il pulsante P3 à DECREMENTA per diminuirla. Anche in questo caso tenendo premuti i pulsanti l’incremento o la diminuzione avviene in maniera continua. Ovviamente la velocità scelta viene memorizzata automaticamente e richiamata all’accensione successiva del pannello.

 PROGRAMMAZIONE DI UN NUOVO CARATTERE

Come abbiamo detto, ci sono alcune locazioni di memoria riservate ai simboli che sono liberamente programmabili. Vediamo come.

I file interessati sono “ fonts.inc “ e “ code_car.inc “. Nel file “ fonts.inc “ alla sezione

;****************************************************************

;*                                1792 BYTE     max 21 caratteri                                           *

;****************************************************************

 

dopo il simbolo “ Car_per “, possiamo inventarci dei simboli, per un massimo di 21 caratteri per questa sezione compresi quelli già esistenti. Prendiamo come esempio il carattere A :

 

RETLW           B'10001111'               ;  .*** .

RETLW           B'01110111'               ; *  ... *

RETLW           B'01110111'               ; *  ... *

RETLW           B'00000111'               ; *****

RETLW           B'01110111'               ; *  ... *

RETLW           B'01110111'               ; *  ... *

RETLW           B'01110111'               ; *  ... *

 

La modifica riguarda i 5 bit più significativi di ogni Byte e sono gli zero ad accendere i LED del display. Quindi ci concentriamo nella parte del file dopo “ Car_per “ e con COPPIA E INCOLLA aggiungiamo un nuovo gruppo copiando e duplicando

 

Car_   

            bsf       PCLATH,2

            bsf       PCLATH,1

            bsf       PCLATH,0

            movf    riga,w

            ADDWF         PCL,f

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

            RETLW           B'11111111'    ; ........

 

Lavorando sulle 5 colonne di sinistra, sostituiamo il numero 1 con il numero 0 dove vogliamo che il LED si accenda.

Nell’ esempio creiamo il simbolo della PACE:

 

Car_   

            bsf       PCLATH,2

            bsf       PCLATH,1

            bsf       PCLATH,0

            movf    riga,w

            ADDWF         PCL,f

            RETLW           B'11011111'    ; ........

            RETLW           B'11011111'    ; ........

            RETLW           B'11011111'    ; ........

            RETLW           B'10001111'    ; ........

            RETLW           B'01010111'    ; ........

            RETLW           B'01010111'    ; ........

            RETLW           B'01010111'    ; ........

 

È importante dare un nome al simbolo appena costruito per esempio : “ Car_PACE “. Il lavoro completo sarà:

 

Car_PACE     

            bsf       PCLATH,2

            bsf       PCLATH,1

            bsf       PCLATH,0

            movf    riga,w

            ADDWF         PCL,f

            RETLW           B'11011111'    ; ........

            RETLW           B'11011111'    ; ........

            RETLW           B'11011111'    ; ........

            RETLW           B'10001111'    ; ........

            RETLW           B'01010111'    ; ........

            RETLW           B'01010111'    ; ........

            RETLW           B'01010111'    ; ........

 

A questo punto dobbiamo registrare il carattere nel file “ code_car.inc “ perché venga letto e richiamato dal programma principale:

 

goto     Car_freccia_dx

            goto     Car_euro                     ; 75

            goto     Car_per                        

            goto     Car 

            goto     Car                   

            goto     Car

            goto     Car                              ; 80

 

dobbiamo inserirlo nel primo richiamo vuoto (“ goto Car “ è un richiamo vuoto ed è importante che  nel file “ fonts.inc “ ce ne sia sempre uno). Quindi la nostra parte di programma diventerà:

 

goto     Car_freccia_dx

            goto     Car_euro                     ; 75

            goto     Car_per                        

            goto     Car_PACE                   

            goto     Car                   

            goto     Car

            goto     Car                              ; 80

 

come vedete il tutto è abbastanza facile.

Prima di caricare il programma modificato nel micro, bisogna assemblarlo con MPASMWIN.EXE.


Puoi scaricare il pacchetto completo dal sito di Fare Elettronica

Il pacchetto non è più raggiungibile dal sito della rivista: scaricalo QUI.

 

RITORNA ALLA MAIN PAGE