home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca
 
COME CREARE UN'IMMAGINE A PUNTI tipo: livello:
Tutorial che spiega come si crea un'immagine a punti su un display a matrice.
 
 



 

 

Come creare un'immagine a punti


Tutorial che spiega come si crea un'immagine a punti su un display a matrice.

Descrizione del tutorial


Vi è mai capitato di vedere in città quei grandi pannelli pieni di led che illuminandosi creano immagini e scritte? non vi siete mai chiesti come funzionano? In queso tutorial voglio togliervi ogni dubbio sul loro funzionamento.

I LED's e la matrice

Per prima cosa voglio mostrarvi come sono collegati i led in un display a matrice di punti:

clicca per ingrandire

Ogni singolo punto (LED) è collegato al micro per file e colonne. in questo caso rappresentato i led hanno l'anodo colegato sulle 10 file e il catodo collegato sulle 10 colonne. Il micro per accendere il led giusto "gioca" a battaglia navale, cioè accende una determinata riga e una determinata colonna e il il led di intersezione si accende.

La vera e propia composizione dell'immagine

Vi spiegherò come si compone l'immagine di una diagonale con una serie di immagini che commenterò.

clicca per ingrandire

Questo è il disegno che rappresenterò. è una diagonale che parte dal punto A1 e finisce nel punto L0 (ovviamente i pallinio verdi sono i LED accesi quelli bianchi spenti).

Se il micro volesse (cioè se io gli dico di) accendere tutti i LED che compongono la diagonale dovrebbe accendere le colonne 1, 2, 3, 4, 5, 6, 7, 8, 9 e 0, quindi tutte!!!! E accenderebbe le righe A, B, C, D, E, F, G, H, I e L, quindi tutte. Il display sarebbe in una situazione come questa:

clicca per ingrandire

Il display è tutto acceso!!!! come mai? Accendendo tutte le file e le colonne il display ovviamente si accende tutto. E come si fa allora a rappresentare la diagonale?? Le foto seguenti lo spiegano:

 

clicca per ingrandire

Supponiamo che in un tempo 0 il microcontrollore accende SOLO la fila A e solo la colonna 1 quindi in quel momento c'è acceso solo il LED A1.

 

 

clicca per ingrandire

Nel momento 1 invece il microcontrollore accende SOLO la fila B e la colonna 2 cioè led B2 acceso.

Seguendo questa logica il microcontrollore accenderà negli 8 successivi tempi (2, 3, 4, 5, 6, 7, 8, 9), SOLO i led rappresentati nelle 8 figure successive:

 

clicca per ingrandire

Momento n°2: Led C3 acceso.

 

clicca per ingrandire

Momento n°3: LED D4 acceso.

 

clicca per ingrandire

Momento n°4: LED E5 acceso.

 

clicca per ingrandire

Momento n°5: LED F6 acceso.

 

clicca per ingrandire

Momento n°6: LED G7 acceso.

 

clicca per ingrandire

Momento n°7: LED H8 acceso.

 

clicca per ingrandire

Momento n°8: LED I9 acceso.

 

clicca per ingrandire

Momento n°9: LED L0 acceso.

 

Se voi poteste unire queste immagini vi accorgereste subito che la diagonale sarebbe comparsa.

Però c'è un'altro fenomeno che aiuta l'elettronico a rappresentare questa diagonale: l'occhio umano riesce solo a vedere 25 fotogrammi al secondo quindi se si sta sopra a questa frequenza l'occhio umano non riesce a percepire se un led è acceso o spento e ancor meno capire a che velocità lampeggia. Quindi se facciamo scorrere le nostre immagini più di 25 volte in un secondo noi vedremo la diagonmale bella completa.

L'occhio però riesce a vedere uno sfarfallio dell'immagine fino a 50Hz, infatti se guardate i neon vecchi a tubo vicinino alle estremità a volte si nota uno sfarfallio. Se però si sta sopra alla frequenza di 50 Hz l'immagine è perfetta. voi magari state pensando: "Ma come faccio io a far scorrere quelle immagini 50 volte al secondo?". Be, vi rispondo io: voi non potete soprattutto perchè neanche le vostre mani ce la farebbero a cambiare le 10 immagini ogni 20ms. Ma secondo voi un micro come arduino che fa 16.000.000 di operazioni al secondo non ce la fa?

Cito arduino perchè è il micro più semplice da programmare per un principiante ed è un buono spunto di partenza anche per i più esperti può essere utile.

 

Ma arduino come fa realmente a gestire il display? cioè come fa a gestire 10 righe e 10 colonne? ci vogliono 20 pin! Arduino non basterebbe ne ha solo 14 di input-output.

E invece ce la facciamo perchè usiamo questo stratagemma: utilizziamo un divisore di frequenza come il 4017. Questo integrato a ogni impulso sul pin di clk (clock) che arduino gli manda accende in sequenza le sue 10 uscite quindi le 10 colonne che sono a lui collegate. Le colonne potrebbero essere anche 5 se il micro disponesse per il 4017 anche del pin di reset cioè un pin che resetta l'IC e accende l'uscita 0 e re-inizia il conteggio da capo. Quindi ad arduino bastano 12 pin per gestire un display 10 x 10.  

Per approfondire le poche informazioni che vi ho dato sul 4017 vi consiglio di guardare anche una guida che fetente a pubblicato qui per noi inesperti (un tempo lo eravamo tutti o no?) su grix. Ecola qui: http://www.grix.it/viewer.php?page=3823

Il signor quinto67 invece con lo stesso sistema ha costruito un bellissimo termometro di cui riporto il link alla pagina e lo schema:

clicca per ingrandire

Quinto usa invece che arduino un micro di casa microchip: il PIC16F876A. Controlla 3 display 8 x 8 le cui righe sono messe in serie e 3 4017 gestiscono le 24 colonne. Dei BC547 amplificano il piccolo segnale che il 4017 emette, questo brucerebbe se gli si collegassero le file direttamente e soprattutto va a logica opposta cioè il 4017 abilita la sua uscita potandola a livelli di Vcc e invece il transistor accende la colonna di led portandola verso massa. Il funzionamento è lo stesso che vi ho spiegato prima solo applicato su un display più grosso.

Per chi vuole provare una cosa simile esiste anche colorduino, un micro che gestisce un display 8 x 8 a colori. Eccovi il link della pagina in cui viene descritto: http://iteadstudio.com/product/ah-colorduino-debut/

 

Con questo chiudo il mio tutorial sulla rappresentazione di immagini su display a matrice. Appena avrò ultimato la mia creazione vi scriverò una pagina che spiega come realizzare un'orologio con un display di qusto tipo.

Accetto qualunque consiglio e critica se fatta a modo e vi ringrazio per aver letto questa pagina.

 

Elia 

 



  il parere della community
esprimi il tuo voto approvi questa pagina? promo


  non sei autenticato, per questo non puoi visualizzare i commenti sulla pagina. Se sei registrato accedi oppure registrati.


difficoltà
costo
informazioni
Questa pagina è stata creata da 1bisiimarconi
il 18/08/2011 ore 17:17
ultima modifica del 24/08/2011 ore 01:04
la pagina è stata visitata 6174 volte




Lo staff di www.grix.it non si assume responsabilità sul contenuto di questa pagina.
Se tu sei l'autore originale degli schemi o progetti proposti in questo articolo, e ritieni che siano stati violati i tuoi diritti, contatta lo staff di www.grix.it per segnalarlo.

   
 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale