|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2005
Città: Genova
Messaggi: 2285
|
Matrice di led e PIC: mi spiegate un po come funziona?
Ciao raga
sto iniziando un progetto nel quale vorrei costruire un display a matrice di led, sul quale far scorrere (per il momento mi basta riuscire a visualizzarle, poi si vedrà ![]() Ora innanzi tutto vorrei capire bene, se qualcuno riesce a spiegarmi, come funziona una matrice a led, ovvero come pilotare tutti quei led semplicemente con poche uscite a disposizione. Da quel poco che ne so il trucco dovrebbe essere nella velocità di accensione dei led che a causa della persistenza dell'img sembrano poi tutti accesi (almeno quelli che devono esserlo), però non capisco come posso, con poche uscite, comandare anche tanti led (ad esempio QUI con 5 uscite comanda 20 led ![]() ![]() ![]()
__________________
Lego ™ Fans Club |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2003
Città: venezia
Messaggi: 18646
|
Le matrici di led vengono pilotate su righe e su colonne .
Sulle righe in genere sono inviati i dati per accendere i led , mentre le colonne vengono accese in sequenza dalla prima all' ultima , e alla fine il ciclo ricomincia e si ripete all' infinito . Sincronizzando l' accensione delle righe con l' accensione delle colonne puoi ottenere l' accensione solo dei led che desideri . |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2005
Città: Genova
Messaggi: 2285
|
quindi ad esempio se voglio scrivere uno zero supponiamo di 5 colonne devo fare una cosa di questo tipo giusto?
![]() buttando giù un codice moooolto veloce potrei fare una routine di questo tipo? Codice:
...declarations... int zero[]={126,129,129,129,126,0}; //126=01111110 e 129=10000001 // lo zero finale è lo spazio tra un carattere e l'altro void main(){ while(true){ for(int i=0,i<6,i++){ PORTB=zero[i]; //incrementa colonna } } } Codice:
void display_char(*int ptr){ for(int i=0,i<6,i++){ PORTB=ptr[i]; //incrementa colonna } } ....code...... display_char(zero);
__________________
Lego ™ Fans Club Ultima modifica di Dani88 : 12-09-2008 alle 07:57. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:22.