Matrice Led 8x8

Buon Pomeriggio a tutti cari arduiner!

Allora ho da poco scoperto l'esistenza delle matrici led,oggi su un sito ne ho vista una 8x8 a catodo comune,questa:


allora,non so come funziona una matrice ma lo chiedo a voi,anche se ho visto che ha 8 piedini da un lato e 8 dall'altro...andando per logica mi viene da pensare che i piedini stanno per le righe e le colonne e che forse accendendo in contemporanea un piedino delle righe e uno delle colonne si accenda un led,ma questo non permetterebbe l'accensione dei led nella stessa riga o nella stessa colonna...quindi,chiedo a voi,come funziona l'alimentazioni di queste matrici? (con arduino e senza)

Normalmente, in multiplexing (accendi una colonna alla volta, con le righe dei led di quella colonna, poi la successiva, e cosi via) ... oppure, dipende dal tuo codice, multiplexi le righe e piloti i led con le colonne, quello e' una scelta di chi fa il codice ...

Etemenanki:
Normalmente, in multiplexing (accendi una colonna alla volta, con le righe dei led di quella colonna, poi la successiva, e cosi via) ... oppure, dipende dal tuo codice, multiplexi le righe e piloti i led con le colonne, quello e' una scelta di chi fa il codice ...

e se io volessi fare una scritta su una matrice led? cioè mi spiego meglio.
Avendo una matrice 8x8,vorrei che nella prima colonna si accendano i primi 2 led,poi nella seconda gli ultimi 3 ecc ecc,ma devono rimanere accessi sempre,è possibile fare una cosa del genere?

razielmitico:
... ma devono rimanere accessi sempre,è possibile fare una cosa del genere?

Normalmente, in tutti questi sistemi si sfrutta il fenomeno della "persistenza dell'immagine sulla retina".

Tu accendi solo una colonna alla volta, ma lo fai così velocemente che all'occhio umano sembrano sempre accese tutte. :wink:

Guglielmo

gpb01:

razielmitico:
... ma devono rimanere accessi sempre,è possibile fare una cosa del genere?

Normalmente, in tutti questi sistemi si sfrutta il fenomeno della "persistenza dell'immagine sulla retina".

Tu accendi solo una colonna alla volta, ma lo fai così velocemente che all'occhio umano sembrano sempre accese tutte. :wink:

Guglielmo

in pratica,dovrei accendere una colonna,poi un altra e poi un altra,fino al completamento della figura? il problema è che se io vorrei che rimanesse una figura fissa visibile,non si può,altrimenti dopo un certo lasso di tempo si vedrebberò solo i led dell'ultima colonna,o sbaglio?

Devi fare il refresh dell'immagine.

yoshi93:
Devi fare il refresh dell'immagine.

ovvero una sorta di lampeggio? XD scusatemi se non sono abbastanza bravo,sto proprio cercando di imparare facendo piccolo "esperimenti".

Per essere più chiari,per esempio,sulla matrice 8x8 vogliorealizzare questa immagine:

metto la prima colonna e accendo i 3 led,poi metto la seconda e accendo i 2 led,ma nel frattempo (effettivamente) i 3 led sono spenti,anche se noi li dovremmo vedere accesi,dovrei comunque finire l'immagine e poi rifarla? Ma mi chiedo,secondo voi,è possibile finire l'immagine prima che non si veda più la prima colonna?

Sì, devi richiamare la funzione che ti ridisegna l'immagine ad intervalli regolari. Dipende anche dalla lunghezza del tuo programma. Se fai troppe cose tra una chiamata e l'altra non vedi più l'immagine corretta.

Tutte le matrici e le scritte scorrevoli che vedi in giro usano questo sistema ... dipende tutto dalla velocita' ...

Ad esempio, se tu tieni accesa ogni colonna per 1ms, in poco piu di 8ms (contando anche i tempi di commutazione) la figura e' completata e riparti dalla prima colonna (non e' che la fai scorrere una volta sola, devi continuare) ... conta 10mS, per comodita', sarebbero 100 Hz ... l'occhio umano ha un fenomeno di "persistenza dell'immagine" dove gia a 50Hz (un po meno in realta') il lampeggio non viene percepito, quindi in quel periodo tutti i led appaiono accesi all'occhio, anche se in realta' si accendono e spengono a scansione ...

Etemenanki:
Tutte le matrici e le scritte scorrevoli che vedi in giro usano questo sistema ... dipende tutto dalla velocita' ...

Ad esempio, se tu tieni accesa ogni colonna per 1ms, in poco piu di 8ms (contando anche i tempi di commutazione) la figura e' completata e riparti dalla prima colonna (non e' che la fai scorrere una volta sola, devi continuare) ... conta 10mS, per comodita', sarebbero 100 Hz ... l'occhio umano ha un fenomeno di "persistenza dell'immagine" dove gia a 50Hz (un po meno in realta') il lampeggio non viene percepito, quindi in quel periodo tutti i led appaiono accesi all'occhio, anche se in realta' si accendono e spengono a scansione ...

Ok ho capito,geniale!
Ma adesso avrei bisogno di un altro consiglio,come posso programmarlo?
Potrei di certo,ovviamente,usare arduino (e forse sarebbe una cosa intelligentissima) ma se io non voglio usare arduino,quale altri metodi ci sono? Pic? non c'è altro?

razielmitico:
.... ma se io non voglio usare arduino,quale altri metodi ci sono? Pic? non c'è altro?

Se non vuoi usare Arduino ... hai sbagliato forum XD XD XD XD

Guglielmo

gpb01:

razielmitico:
.... ma se io non voglio usare arduino,quale altri metodi ci sono? Pic? non c'è altro?

Se non vuoi usare Arduino ... hai sbagliato forum XD XD XD XD

Guglielmo

Ok scusate mille era solo per un consiglio! XD grazie a tutti dei chiarimenti siete stati esaustivi e molto chiari! :smiley:

Una matrice 8x8 non puoi pilotarla direttamente dal controller (ATmega, PIC o altri) perché non da abbastanza corrente per accendere 8 LED contemporaneamente. Ti servono dei transistor oppure usi un integrato apposito come il MAX7219.
Ciao Uwe