Come collegare un display a 7 segmenti con porte logiche
I display a sette segmenti sono uno dei più vecchi ed efficaci tipi di display usati nelle applicazioni elettroniche. Questi display hanno 8 LED al loro interno disposti in un modo. Questi 8 LED sono separati in ogni segmento che può essere nominato come a, b, c, d, e, f, g, DP (punto decimale) come mostrato nella figura sottostante.
In questo tutorial impareremo come usare un display a sette segmenti. Inoltre, impareremo come inviare dati dall’Omega all’ATmega attraverso la connessione seriale. In questo modo non dovremo ri-flashare l’ATmega ogni volta che vogliamo mostrare qualcosa di nuovo sul display.
Se guardate da vicino un display a 7 segmenti, vedrete che ogni cifra è divisa in sette diversi segmenti, ognuno illuminato da un LED. Ogni segmento è collegato direttamente a un pin di ingresso ed è controllato individualmente. Un tipico schema di etichettatura è mostrato nel diagramma qui sotto:
I display a 7 segmenti con più di una cifra di solito hanno ogni segmento collegato in parallelo attraverso tutte le cifre; questo per risparmiare i pin sul modulo del display stesso. Per esempio, se si cerca di accendere i segmenti mostrerà un “1”, apparirà su tutte le cifre allo stesso tempo!
Come fare un display a 7 segmenti con i LED
Andiamo al sodo: come collegare un display a 7 segmenti? Come potete vedere nella foto, ha 5 perni nella parte superiore e altri 5 nella parte inferiore. Ci sono altri modelli sul mercato che hanno i perni sui lati. In questo secondo caso, questo articolo non vi aiuterà. Si dovrebbe sempre consultare il datasheed del componente.
E il perno dp? Questo è il punto decimale. Non tutti i display ce l’hanno. Se ce l’hanno, sarebbe un segmento in più e l’operazione sarebbe esattamente la stessa. Non lo userò in questo articolo.
L’array ha 10 elementi, uno per ogni cifra (0-9). Come sapete, le posizioni dell’array iniziano sempre da 0, quindi ogni posizione corrisponderà alla cifra che vogliamo visualizzare. Una volta acceduto alla posizione che ci interessa, troveremo in quella posizione un altro array con 7 elementi, uno per ogni segmento. Ogni posizione di questa matrice conterrà il valore 0 o 1 a seconda se dobbiamo accendere o spegnere il segmento. La combinazione dei 7 mostrerà la cifra sul display. Ho ordinato i segmenti da A a G, quindi la posizione 0 sarà A, 1 sarà B, e così via. Se preferite, potete fare il contrario.
Display a 7 segmenti 2 cifre
Questo decodificatore si discosta dalla definizione generale in quanto ogni combinazione di valori d’ingresso attiva diverse uscite, piuttosto che una sola. Ha quattro linee di ingresso in codice BCD e uscite in grado di pilotare un display a sette segmenti per rappresentare qualsiasi cifra da 0 a 9.
Qui sotto c’è un’immagine di quello che sarebbe un decoder BCD a 7 segmenti, 7447. Possiamo vedere che ha 16 “pin”, di cui 4 sono ingressi, 7 sono uscite, 2 sono per l’alimentazione e 3 sono per il funzionamento del decoder stesso.
Come collegare un display a 7 segmenti ad anodo comune
Chi non ha nel suo cassetto dei disastri, un set di display a LED con due, tre o quattro cifre. Questo è il momento di riutilizzare questo display (multiplexed) in un contatore la cui applicazione può migliorare una presentazione che era in sospeso. In questo articolo, vedremo come applicare il codice a un display multiplex e come dovrebbe funzionare.
Questo esempio mostra un codice migliorato rispetto a quello rappresentato nel primo esempio. Come si può vedere, ho usato gli stessi pin di Arduino in ogni esempio. Con questo, cerco di ridurre al minimo gli errori di assegnazione nei diversi elenchi di codice.
Il problema che il programmatore può incontrare con una rappresentazione multipla risiede nei tempi di campionamento di ogni cifra. Per questo motivo, vi consiglio di tenere conto, direi molto conto, di non usare o minimizzare i delay(), poiché questi tendono a produrre l’effetto “sfarfallio” che si vede nelle cifre.
In un multiplex, ci sarà sempre uno sfarfallio, anche se non è molto evidente, più cifre sono visualizzate, più sarà evidente. Per questo motivo, i tempi di campionamento dovrebbero essere ridotti il più possibile.