Pagina 1 di 1

Interfacciamento LED

MessaggioInviato: 11 giu 2016, 17:38
da Krylol94
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.

Re: Interfacciamento LED

MessaggioInviato: 11 giu 2016, 17:49
da g.schgor
Cosa intendi per contemporaneamente" ?
Se il tempo di scansione o di multiplexing è
(come normalmente) rapido, non si avverte
la successione.

Re: Interfacciamento LED

MessaggioInviato: 11 giu 2016, 18:04
da posta10100
Ciao e benvenuto nel forum.

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.

Foto Utenteg.schgor è stato più veloce... ma ormai avevo scritto :)
O_/

Re: Interfacciamento LED

MessaggioInviato: 12 giu 2016, 19:51
da Krylol94
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?

Re: Interfacciamento LED

MessaggioInviato: 14 giu 2016, 18:28
da posta10100
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 :ok:

O_/