Sommario:

Display a matrice di punti LED: 5 passaggi
Display a matrice di punti LED: 5 passaggi

Video: Display a matrice di punti LED: 5 passaggi

Video: Display a matrice di punti LED: 5 passaggi
Video: Display a matrice di LED con MAX7219 e scheda di memoria SD con Arduino - Video 440 2024, Dicembre
Anonim
Display a matrice di punti LED
Display a matrice di punti LED

In questo progetto, utilizzerai ancora due serie di registri a scorrimento. Questi saranno collegati alle righe e alle colonne del display a matrice di punti. Quindi mostrerai un semplice oggetto, o sprite, sul display e lo animerai. L'obiettivo principale di questo progetto è mostrarti come funziona un display a matrice di punti e introdurre il concetto di multiplexing perché questa è un'abilità inestimabile da avere.

Passaggio 1: cose necessarie

Cose necessarie
Cose necessarie

per questo progetto avrai bisogno di: 1. 1 matrice LED 2. 8 resistori 1k ohm 3. 8 557 transistor 4. 1 ULN2803 IC 5 Arduino 6. 2 registro a scorrimento 74HC595 7. 2 breadboard 8. cavi di collegamento

Passaggio 2: lavoro

Le unità a matrice di punti in genere sono disponibili in una matrice di LED 5x7 o 8x8. I LED sono cablati nella matrice in modo tale che l'anodo o il catodo di ciascun LED sia comune in ciascuna riga. In altre parole, in un'unità a matrice di punti LED ad anodo comune, ogni fila di LED avrebbe tutti i loro anodi in quella fila collegati insieme. I catodi dei LED sarebbero tutti cablati insieme in ciascuna colonna. La ragione di ciò apparirà presto. Una tipica unità a matrice di punti 8x8 monocolore avrà 16 pin, 8 per ogni riga e 8 per ogni colonna. Il motivo per cui le righe e le colonne sono tutte cablate insieme è ridurre al minimo il numero di pin richiesti. Se così non fosse, un'unità a matrice di punti 8x8 a colore singolo avrebbe bisogno di 65 pin, uno per ciascun LED e un connettore comune per anodo o catodo. Collegando le righe e le colonne insieme, sono necessari solo 16 pin. Tuttavia, questo ora rappresenta un problema se si desidera che un particolare LED si accenda in una determinata posizione. Se, ad esempio, avessi un'unità anodica comune e volessi accendere il LED in X, Y posizione 5, 3 (5a colonna, 3a riga), allora applicheresti una corrente alla 3a riga e metti a terra il pin della 5a colonna. Il LED nella 5a colonna e nella 3a riga ora si accenderà. Ora immaginiamo di voler accendere anche il LED alla colonna 3, riga 6. Quindi applichi una corrente alla 6a riga e metti a terra il pin della 3a colonna. Il LED alla colonna 3, riga 6 ora si accende. Ma aspetta… anche i LED alla colonna 3, riga 6 e colonna 5, riga 6 si sono accesi. Questo perché si sta applicando l'alimentazione alla riga 3 e 6 e alla messa a terra delle colonne 3 e 5. Non è possibile spegnere i LED indesiderati senza spegnere quelli che si desidera accendere. Sembrerebbe che non sia possibile accendere solo i due LED richiesti con le righe e le colonne collegate insieme così come sono. L'unico modo in cui funzionerebbe sarebbe avere un pinout separato per ciascun LED, il che significa che il numero di pin salterebbe da 16 a 65. Un'unità a matrice di punti a 65 pin sarebbe molto difficile da cablare e controllare perché avresti bisogno un microcontrollore con almeno 64 uscite digitali. C'è un modo per aggirare questo problema? Sì, c'è, e si chiama multiplexing (o muxing). Il multiplexing è la tecnica per accendere una riga del display alla volta. Selezionando la colonna che contiene la riga che contiene il LED che si desidera accendere, e quindi accendendo l'alimentazione a quella riga (o viceversa per i display a catodo comune), i LED scelti in quella riga si illumineranno. Quella riga viene quindi spenta e viene attivata la riga successiva, sempre con le colonne appropriate scelte e i LED nella seconda riga si illumineranno ora. Ripeti con ogni riga fino ad arrivare in fondo e poi ricomincia dall'alto. Se questo viene fatto abbastanza velocemente (a più di 100Hz, o 100 volte al secondo) allora il fenomeno della persistenza della visione (dove un'immagine residua rimane sulla retina per circa 1/25 di secondo) significherà che il display apparirà essere stabile, anche se ogni riga viene attivata e disattivata in sequenza. Utilizzando questa tecnica, si aggira il problema della visualizzazione dei singoli LED senza che siano accesi anche gli altri LED della stessa colonna o riga. Scansionando le righe e illuminando i rispettivi LED in ciascuna colonna di quella riga e facendo ciò molto velocemente (più di 100 Hz) l'occhio umano percepirà l'immagine come stabile e l'immagine del cuore sarà riconoscibile nel modello LED. Stai usando questa tecnica di multiplexing nel codice del progetto. Ecco come visualizzare l'animazione del cuore senza visualizzare anche LED estranei.

Passaggio 3:

Immagine
Immagine

devi calcolare il valore dei resistori che puoi usare Dovresti prima ottenere alcune specifiche sui tuoi LED, dovresti conoscere la loro tensione diretta e la corrente diretta, puoi ottenere queste informazioni dalla scheda tecnica. Il circuito funziona a 5 V, quindi la tensione della tua sorgente è 5 V che può essere ottenuta da un adattatore 5 V Scarica il file originale per vedere meglio gli schemi. (premi l'icona "i" nell'angolo in alto a sinistra dell'immagine)

Passaggio 4: farlo funzionare

Ho realizzato il programma che visualizza la frase dal monitor seriale arduino sulla matrice, il mio codice è molto semplice. Ho realizzato un'applicazione Android per creare il carattere per il display. Si prega di visitare la seguente pagina per installare l'app

Passaggio 5: tutto fatto!!!!!!!

Tutto fatto !!!!!!!!!
Tutto fatto !!!!!!!!!

Congratulazioni la tua matrice led 8x8 è pronta. Puoi visualizzare tutto ciò che desideri. Ora puoi giocarci e creare una matrice led 8x8 saldando manualmente la matrice Led o 16x8 e così via !!!!!!

Consigliato: