Go Down

Topic: Matrice LED (Read 2952 times) previous topic - next topic

Angelo9999

Salve a tutti, mi sta scoppiando la testa. Non riesco a capire una cosa in questa matrice di led:



Il problema è questo: se voglio accendere il led di incrocio tra colonna 2 e riga 2 e voglio anche accendere il led di incrocio tra col 5 e riga 5, si accendono anche i led col 5 riga 2 e col 2 riga5??

piu facilmente: quelli cerchiati di rosso sono quelli che voglio accendere e quelli cerchiati di verde sono quelli che si dovrebbero anche accendere (perchè si incrociano i circuiti dei due led)...


quello che voglio sapere è se quello che vi ho chiesto avviene davvero e se non avviene, perche?
https://github.com/sngl

pelletta

Salve, tra breve tempo anche io dovrei cimentarmi con una matrice di led come la tua, purtroppo ancora non ho iniziato a lavorarci su.
Ho cercato diverse informazioni in rete su come gestirle dall'arduino e devo dire che ci sono molti progetti a riguardo. Da quello che ho capito ti posso dire che si può comandare distintamente ogni singolo led della matrice, quindi puoi fare tutto ciò che vuoi. Ti metto questo link preso dal playground, dovrebbe esserti d'aiuto:
http://www.arduino.cc/playground/Main/LEDMatrix
Saluti

matteo.

il trucco e' quello di attivare una riga per volta. dai corrente alla colonna 2, accendi e spegni la riga 2, poi dai corrente alla colonna 5, accendi e spegni la riga 5. fallo almeno 20 volte al secondo e non ti accorgi dello sfarfallio

Angelo9999

Vero! Non ci avevo pensato xD
Grazie mille!! Ma una cosa...non ci sono altre tecniche?
https://github.com/sngl

matteo.

non credo che ce ne siano altre,
questa e' la funzione che uso per controllare la mia griglia 8x8.
sostanzialmente l'algoritmo e' questo:
legge i dati della riga 1 accende le colonne interessate, poi accende e spegne la riga 1, poi passa alla riga successiva. lo ripete fino all riga 8 e poi finisce.
i dati li prende da una matrice di char, la funzione fa un giro completo per volta, quindi va chiamata almeno 20 volte al secondo.
i televisori lcd di vecchia generazione utilizzano lo stesso principio.
Code: [Select]

int V[8]={19,18,17,16,2,3,4,15}; //i pin delle colonne
int H[8]={5,6,7,8,13,12,11,10};//i pin dell righe
char G[8][8]; //la griglia

int fotogramma(char G[8][8]){
int i,j;
     for(i=0;i<8;i++){
     for(j=0;j<8;j++){
                 if(G[i][j])
                 pinMode(H[j],OUTPUT);
                 else
                 pinMode(H[j],INPUT);
           }
           digitalWrite(V[i],HIGH);
           delay(1);
           digitalWrite(V[i],LOW);
     }
}

void setup(){
}
void loop(){
G[5][3] = 1;
for(;;)
fotogramma(G);
}




Angelo9999

Grazie mille! Gentilissimo!
https://github.com/sngl

king

ciao a tutti,qualcuno sa come si calcola valore dei resistori x questo matrice 8x8  con LED 3.2 v 20mA currente 5v? l'ho calculato x una riga di 8 LED ma vale anche x tutto matrice? se uso la batteria 9v invece di USB non cambia valore dei resistori? voglio connessere arduno 2009 modo diretto°(senza registori o transistori) con matrice! Aiuto! :-/

uccio

hai letto questo?
http://www.arduino.cc/playground/Main/DirectDriveLEDMatrix

scunucchiuz

Uccio la libreria del link da te postato sembrerebbe non funzionasse guardati pure i commenti miei e l'aiuto prezioso  che  mi ha dato Pitusso.
Ma purtroppo di librerie frequency timer2 giuste io ancora non ne ho trovate .

Se dovessi avere novita' ti aggiorno

Go Up