• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
led interfacciare display

Interfacciare display LED
#1
Buongiorno a tutti.
Proseguendo con la sperimentazione della GPIO, avevo tra le mani un display LED a 3 digit e mezzo, ovvero tre cifre più una cifra con la possibilità di visualizzare solamente un uno.

Di provenienza sconosciuta (probabilmente preso da un pannello di un elettrodomestico) ho pensato come poterlo utilizzare ed ecco qui:




Dove il raspberry comanda ognuno dei sette segmenti della prima cifra che al momento ho utilizzato.
Quindi Raspberry si preoccupa di accendere opportunamente il singolo segmento, in modo da comporre tutte le 16 cifre esadecimali.

Ma come poter usare questi display?
Purtroppo in generale non si dispone del loro schema elettrico, quindi occorre fare un po' di prove.
Di questi display ne ho due molto simili e in genere sono collegati in questo modo.


Ciascuna cifra ha i sette segmenti in comune con gli altri digit, e ciascun digit ha il catodo (o l'anodo) separati. In gergo si dice multiplexati per evitare di avere u sacco di collegamenti che escono dal display.

Per chi non lo sapesse funzionano in questo modo. Un ciclo abbastanza rapido, alimenta a rotazione il terminale comune di ciascun digit e quando è alimentato, accende i giusti segmenti e poi passa al successivo.
La velocità è tale che l'occhio non se ne accorga, ma in un istante solo un digit è acceso alla volta. Se lo fotografaste con una macchinetta fotografica con otturatore abbastanza rapido, vedreste un solo DIGIT acceso.

Nel mio caso, non ho fatto il programma in C che facesse questa cosa, ma non credo sia complesso da realizzare, mi sono occupato solo di accendere un solo DIGIT e farlo contare in esadecimale.

Se a qualcuno interessa, ovviamente aggiungo il codice.
Un saluto a tutti.

Dimenticavo, anche senza avere lo schema del LCD, c'è una tecnica che permette di individuarli, con un po' di pazienza.

Rimediate un alimentatore da 5 volt 8magari quello che utilizzate per un telefonino ed una resistenza da 330 470 ohm o, collegata in serie ad uno dei due fili con cui proverete ad accendere i segmenti del display.
La resistenza serve oltre che per limitare la corrente sui led che compongono il display a salvaguardare l'alimentatore in caso di corti accidentali.

A rotazione alimentate una coppia di terminali fino a quando vi si accenderà un segmento. La comodità di questo approccio è che nel caso vi sbagliaste (cosa ovvia visto che andate a caso) se invertire un led dei sette, non succede nulla, non si accende, se avete preso una coppia qualsiasi di segmenti non succede nulla (ma non si accende nulla) se avete preso a caso la coppia giusta, si accende e cominciate a segnarvi i collegamenti.
A questo punto significa che la coppia è corretta e su un foglio vi segnate il segmento acceso.
Poi togliete uno dei due collegamenti e lo passate su un altro terminale qualunque, fino a quando non si accende un altro segmento.

Se ci accende un altro segmento dello stesso display, significa che avete trovato il terminale comune di quel DIGIT e avete anche capito se il terminale comune è un catodo (negativo) o anodo (è il terminale che non avete spostato), altrimenti se si accende un segmento identico di altro digit, significa che avete appena trovato l'altro terminale comune del dgit che avete appena acceso.

Vi fate una mappa di tutti i segmenti e li collegate a sette porte del raspberri, mentre quella comune a GND o ai 3,3 volt a seconda se il terminale comune era catodo o anodo con in serie la resistenza di prima, per limitare la corrente.

I collegamenti si fanno sempre a raspberry spento.
Risposta
#2
Dimenticato un passaggio: prima che il terminale "non comune" o quello di Enable (se esistente) venga "attivato" nel ciclo di multipex, vanno correttamente polarizzati (High o Low) i segmenti che si dovranno successivamente illuminare formando la cifra. E' comunque vera l'altra possibilità: polarizzo prima i segmenti e poi il comune: il risultato non cambia. Sempre nell'ottica di ridurre il numero di fili tra GPIO e display di questo tipo è possibile utilizzare degli IC da BCD a 7 segmenti (con 4 input controlli i 7 segmenti).
Risposta
#3
(24/05/2020, 20:46)ippogrifo Ha scritto: ...Sempre nell'ottica di ridurre il numero di fili tra GPIO e display di questo tipo è possibile utilizzare degli IC da BCD a 7 segmenti (con 4 input controlli i 7 segmenti).

Beh sicuramente !  Big Grin 

Usare un raspberry per fare un decoder, quando ne esistono da una vita già fatti a costi irrisori, in realtà sarebbe demenziale.

Ma anche usare un Raspberry per fare un contatore lo è.

Si tratta di semplice sperimentazione, quindi qualcosa che serve per chi è alle prime armi di studiare la GPIO e relativo linguaggio, per altri per stimolare qualche idea e fare qualcosa di interessante.
Risposta
#4
Ed è proprio nell'ottica della sperimentazione che avevo aggiunto questa possibilità. In definitiva un sistema di IO multiplessato, anche utilizzando decoder HW, può risultare utilissimo (e forse conveniente) nell'ambito della gestione di periferiche tramite i GPIO, ovvero non utilizzando comunicazioni seriali od altro.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect