Ciao a tutti!
Per interfacciare un microcontrollore con dei LED si hanno vari modi : Latching, Scanning e Multiplexed. Non riesco a capire perché, con gli ultimi due metodi, non è possibile accedere contemporaneamente ai LED.
Interfacciamento LED
Moderatore:
Paolino
5 messaggi
• Pagina 1 di 1
0
voti
Ciao e benvenuto nel forum.
Spero di non aver frainteso la domanda ma
I led sono connessi alle uscite dei latch che una volta programmati mantengono lo stato. Quindi ne puoi accendere quanti ne vuoi contemporaneamente ma ti costa un latch per ogni led o gruppo di led.
Supponi di avere 3 display 7 segmenti a led e di voler visualizzare il numero 123. la soluzione con i latch richiede 7x3=21 latch per controllare tutti i segmenti dei tre display, oppure dovresti utilizzare 21 uscite del microcontrollore per controllarli tutti insieme.
Alternativamente puoi connettere l'anodo o il catodo (dipende se il display è ad anodo o catodo comune) di ognuno dei 7 segmenti in parallelo a quello dello stesso segmento degli altri e poi ad una delle uscite del micro.
Poi connetti il pin comune a tutti i segmenti di ognuno dei display ad una uscita del micro.
In questo modo hai utilizzato solo 7+3 uscite contro le 21 di prima.
Il "trucco" è quello di mettere in uscita al micro la configurazione a 7 bit che serve a illuminare il numero (ad esempio l'1 nell'esempio) e configurare i restanti 3 bit in modo da permettere il passaggio di corrente in uno solo dei display. In questo modo visualizzi il numero su uno dei display.
Se però tu visualizzi la prima cifra per meno di 20ms e poi spegni il display e riconfiguri il micro per mostrare la cifra sul secondo display e poi sul terzo, l'occhio viene ingannato e vedi tutti e tre i display accesi.
In questo caso hai i led disposti a matrice e ne puoi accendere uno per volta.
Come nel caso scanning, se sei abbastanza veloce l'occhio viene ingannato e li vedi tutti accesi.
g.schgor è stato più veloce... ma ormai avevo scritto :)

Spero di non aver frainteso la domanda ma
Krylol94 ha scritto:Latching
I led sono connessi alle uscite dei latch che una volta programmati mantengono lo stato. Quindi ne puoi accendere quanti ne vuoi contemporaneamente ma ti costa un latch per ogni led o gruppo di led.
Krylol94 ha scritto:Scanning
Supponi di avere 3 display 7 segmenti a led e di voler visualizzare il numero 123. la soluzione con i latch richiede 7x3=21 latch per controllare tutti i segmenti dei tre display, oppure dovresti utilizzare 21 uscite del microcontrollore per controllarli tutti insieme.
Alternativamente puoi connettere l'anodo o il catodo (dipende se il display è ad anodo o catodo comune) di ognuno dei 7 segmenti in parallelo a quello dello stesso segmento degli altri e poi ad una delle uscite del micro.
Poi connetti il pin comune a tutti i segmenti di ognuno dei display ad una uscita del micro.
In questo modo hai utilizzato solo 7+3 uscite contro le 21 di prima.
Il "trucco" è quello di mettere in uscita al micro la configurazione a 7 bit che serve a illuminare il numero (ad esempio l'1 nell'esempio) e configurare i restanti 3 bit in modo da permettere il passaggio di corrente in uno solo dei display. In questo modo visualizzi il numero su uno dei display.
Se però tu visualizzi la prima cifra per meno di 20ms e poi spegni il display e riconfiguri il micro per mostrare la cifra sul secondo display e poi sul terzo, l'occhio viene ingannato e vedi tutti e tre i display accesi.
Krylol94 ha scritto:Multiplexed
In questo caso hai i led disposti a matrice e ne puoi accendere uno per volta.
Come nel caso scanning, se sei abbastanza veloce l'occhio viene ingannato e li vedi tutti accesi.

http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
-

posta10100
5.550 4 10 13 - Master EY

- Messaggi: 4832
- Iscritto il: 5 nov 2006, 0:09
0
voti
Grazie a tutti per aver risposto! :)
Sui miei appunti ho scritto che scansionando i LED ad una frequenza opportuna allora li vedrò tutti accessi (ma con una luminosità più bassa). Però perché non posso alimentare tutte le righe e colonne contemporaneamente, in genere per pilotare un solo LED della matrice devo mettere un 1 sulla porta corrispondente alla riga e uno 0 sulla colonna opportuna, però non posso far così per tutti? Posso solo accendere un LED per volta oppure una colonna per volta?
Sui miei appunti ho scritto che scansionando i LED ad una frequenza opportuna allora li vedrò tutti accessi (ma con una luminosità più bassa). Però perché non posso alimentare tutte le righe e colonne contemporaneamente, in genere per pilotare un solo LED della matrice devo mettere un 1 sulla porta corrispondente alla riga e uno 0 sulla colonna opportuna, però non posso far così per tutti? Posso solo accendere un LED per volta oppure una colonna per volta?
0
voti
Krylol94 ha scritto:Sui miei appunti ho scritto che scansionando i LED ad una frequenza opportuna allora li vedrò tutti accessi (ma con una luminosità più bassa).
Esatto, e la luminosità dipende dal duty cycle. Prova a ragionarci e vedrai che le cosi ti tornano.
Krylol94 ha scritto:Posso solo accendere un LED per volta oppure una colonna per volta?
Fa così: disegna una matrice 3x3 di led e supponi di collegarla alle uscite di un microcontrollore.
Scrivi le configurazioni delle uscite per far si che:
1 - Sia acceso solo il led al centro
2 - Sia accesa la colonna di sinistra
3 - Sia accesa la riga in basso
4 - Siano accesi il led in alto a sinistra e il led in basso a destra
Vedrai che poi troverai da solo la risposta

http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
-

posta10100
5.550 4 10 13 - Master EY

- Messaggi: 4832
- Iscritto il: 5 nov 2006, 0:09
5 messaggi
• Pagina 1 di 1
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

