Casa / Internet / Indicatori alfanumerici sul microcontrollore. Indicatore a sette segmenti Indicatore a 14 segmenti

Indicatori alfanumerici sul microcontrollore. Indicatore a sette segmenti Indicatore a 14 segmenti

Buona giornata! Dopo la mia lunga e forzata pausa, continueremo a padroneggiare il corso di Programmazione Arduino. In uno dei nostri tutorial precedenti, abbiamo già lavorato con una sequenza di LED, ora è il momento di passare alla fase successiva dell'apprendimento. L'argomento dell'articolo di oggi sarà un indicatore a 7 segmenti.

L'introduzione all'indicatore a 7 segmenti sarà composta da due parti. Nella prima parte “ripasseremo” superficialmente la componente teorica, lavoreremo con l'hardware e scriveremo semplici programmi.

L'ultima volta che abbiamo lavorato con una sequenza di 8 LED, oggi ce ne saranno anche 8 (7 strisce LED e 1 punto). A differenza della sequenza precedente, gli elementi di questo set non sono allineati (uno dopo l'altro), ma sono disposti in un certo ordine. Grazie a questo, utilizzando un solo componente, è possibile visualizzare 10 cifre (da 0 a 9).

Un'altra differenza significativa che distingue questo indicatore dallo sfondo dei semplici LED. Ha un catodo comune (o meglio, due gambe equivalenti 3 e 8, su cui è collegato il catodo). Basta collegare uno dei catodi a terra ( GND). Gli anodi di tutti gli elementi indicatori sono individuali.

Una piccola digressione. Tutto quanto sopra si applica agli indicatori a 7 segmenti con un catodo comune. Tuttavia, ci sono indicatori con un anodo comune. La connessione di tali indicatori presenta differenze significative, quindi per favore non confondere "peccaminoso con giusto". È necessario capire chiaramente che tipo di sette segmenti hai tra le mani!

Oltre alle differenze tra LED semplici e display a 7 segmenti, ci sono anche somiglianze. Ad esempio: gli indicatori, come i LED, possono essere montati in fila (sequenza) per visualizzare numeri a due, tre, quattro cifre (cifre). Tuttavia, non ti consiglio di preoccuparti molto dell'autoassemblaggio dei kit di segmenti. In vendita "vicino" con indicatori a una cifra, si vendono anche quelli a più cifre.

Spero che tu non abbia dimenticato la necessità di utilizzare resistori di limitazione della corrente durante il collegamento dei LED. Lo stesso vale per gli indicatori: ogni elemento dell'indicatore deve avere la propria resistenza collegata. 8 elementi (7 + 1) - 8 resistori.

Avevo a portata di mano un sette segmenti marcato 5161AS (catodo comune). Piedinatura dei contatti:



schema elettrico

Come ho detto prima, per accendere il segmento "A", colleghiamo "terra" a qualsiasi contatto comune (3 o 8) e forniamo alimentazione 5V al pin 7. Se l'indicatore è con un anodo comune, forniamo 5 V all'anodo e all'uscita del segmento "terra"!

Raccogliamo banco di prova. Colleghiamo i fili in ordine, a partire dalla prima tappa, che va alla 2a uscita della scheda Arduino. Colleghiamo la terra all'ottava uscita dell'indicatore.

Dopo aver assemblato il supporto, puoi iniziare a scrivere il firmware.

Eseguiamo il programma scritto per controllare l'indicatore. Selezioniamo l'elemento "A" e gli facciamo l'occhiolino.


Ora facciamo lampeggiare il numero 2. Per fare ciò, accendiamo alcuni altri elementi.

Per visualizzare una cifra, è necessario scrivere n-numero di righe di codice. Difficile, non trovare.

C'è un altro modo. Per visualizzare qualsiasi numero sull'indicatore, deve prima essere rappresentato come una specifica sequenza di bit.

Tavola di corrispondenza.

Se il display ha un anodo comune, allora 1 deve essere sostituito con 0 e 0 con 1!

La colonna esadecimale è una rappresentazione in byte della cifra (ne parleremo più dettagliatamente nella seconda parte).

Un numero nel sistema binario si scrive così: 0b00000000. 0b- sistema binario. Gli zeri indicano che tutti i LED sono spenti.

Durante la connessione, abbiamo utilizzato i pin da 2 a 9. Per attivare il pin 2, scriviamo uno su di esso = 0b00000001. Il quarto bit da destra è responsabile del punto. L'ultimo bit è responsabile del trattino al centro dell'indicatore.

Scriviamo un esempio di emissione del numero 0.

Per ridurre il numero di stringhe digitate, utilizziamo un ciclo che consente di "provare" tutti gli 8 bit. variabile enable_segment viene assegnato il valore del bit letto. Successivamente, l'uscita corrente viene impostata sulla modalità appropriata ( la presenza o l'assenza di un segnale).

Nota: la funzione bitRead() legge lo stato del bit specificato e restituisce il valore dello stato (0 o 1).bitLettura(x, n)dove, x è il numero il cui bit deve essere letto; n è il numero del bit di cui si vuole leggere lo stato. La numerazione inizia dal bit meno significativo (più a destra) con il numero 0.

E alla fine della prima parte scriveremo un piccolo contatore.

Ci sono parametri per i quali sarebbe più conveniente dare un'informazione oggettiva che una semplice indicazione. Ad esempio, la temperatura dell'aria esterna o l'ora della sveglia. Sì, tutto questo potrebbe essere fatto con lampadine o LED accesi. Un grado: un LED acceso o una lampadina e così via. Ma contare queste lucciole - beh, no! Ma, come si suol dire, di più soluzioni semplici- il più affidabile. Pertanto, senza pensarci a lungo, gli sviluppatori hanno preso semplici strisce LED e le hanno disposte nell'ordine corretto.

All'inizio del XX secolo, con l'avvento dei tubi a vuoto, apparvero i primi indicatori di scarica di gas.

Con l'aiuto di tali indicatori è stato possibile dedurre informazioni digitali in numeri arabi. In precedenza, era su tali lampade che venivano fatte varie indicazioni per strumenti e altro dispositivi elettronici. Al momento, gli elementi di scarico del gas non vengono quasi mai utilizzati da nessuna parte. Ma il retrò è sempre di moda, quindi molti radioamatori collezionano orologi eccellenti per sé e per i propri cari sugli indicatori di scarica di gas.


Lo svantaggio delle lampade a scarica di gas è che consumano molta elettricità. La durata è discutibile. Nella nostra università, i frequenzimetri sono ancora in funzione nelle sale di laboratorio a indicatori di scarico del gas.

Sette indicatori di segmento

Con l'avvento dei LED, la situazione è cambiata radicalmente in meglio. I LED stessi assorbono poca corrente. Se li metti nella giusta posizione, puoi visualizzare assolutamente qualsiasi informazione. Per mettere in risalto tutti i numeri arabi bastano solo sette strisce LED luminose - segmenti impostati in un certo modo:

A quasi tutti questi indicatori a sette segmenti viene aggiunto anche un ottavo segmento, un punto, per poter mostrare il valore intero e frazionario di qualsiasi parametro

In teoria, otteniamo un indicatore a otto segmenti, ma alla vecchia maniera è anche chiamato indicatore a sette segmenti.

Qual'è il risultato? Ogni striscia sul display a sette segmenti è illuminata da un LED o da un gruppo di LED. Di conseguenza, evidenziando alcuni segmenti, possiamo visualizzare un numero da 0 a 9, oltre a lettere e simboli.

Tipi e designazione sul diagramma

Esistono indicatori a sette segmenti a una cifra, due cifre, tre cifre e quattro cifre. Non ho mai visto più di quattro ranghi.

Nei diagrammi, un indicatore a sette segmenti è simile a questo:

In realtà, oltre alle conclusioni principali, ogni indicatore a sette segmenti ha anche un terminale comune con un anodo comune (OA) o un catodo comune (OK)

Il circuito interno di un indicatore a sette segmenti con un anodo comune sarà simile al seguente:


e con un catodo comune come questo:


Se abbiamo un indicatore a sette segmenti con un anodo comune (OA), allora nel circuito dobbiamo fornire potenza "più" a questa uscita, e se con un catodo comune (OK), quindi "meno" o terra.

Come testare un indicatore a sette segmenti

Abbiamo a disposizione i seguenti indicatori:


Per controllare un moderno indicatore a sette segmenti, ci basta un multimetro con funzione di continuità a diodi. Per cominciare, stiamo cercando una conclusione generale: può essere OA o OK. Qui solo a caso. Bene, allora controlliamo le prestazioni dei restanti segmenti dell'indicatore secondo gli schemi sopra.

Come puoi vedere nella foto qui sotto, il segmento testato ha preso fuoco. Controlliamo altri segmenti allo stesso modo. Se tutti i segmenti sono accesi, tale indicatore è intatto e può essere utilizzato nei tuoi sviluppi.


A volte la tensione sul multimetro non è sufficiente per testare il segmento. Pertanto, prendiamo l'alimentatore e lo impostiamo su 5 volt. Per limitare la corrente attraverso il segmento, controlliamo attraverso un resistore da 1-2 Kiloom.


Allo stesso modo, controlliamo l'indicatore dal ricevitore cinese


Nei circuiti, indicatori a sette segmenti sono collegati a resistori su ciascuna uscita.

Nel nostro mondo moderno gli indicatori a sette segmenti sono sostituiti da indicatori a cristalli liquidi in grado di visualizzare assolutamente qualsiasi informazione

ma per usarli sono necessarie determinate abilità nei circuiti di tali dispositivi. Pertanto, gli indicatori a sette segmenti sono ancora utilizzati oggi, a causa del loro basso costo e facilità d'uso.

Gli indicatori a sette segmenti sono talvolta chiamati "numerici" (ing. "display numerico"), dato che sono progettati principalmente per visualizzare numeri arabi 0 ... 9. Tuttavia, possono essere utilizzati per indicare maiuscole stilizzate e lettere maiuscole Alfabeto russo e latino, ad esempio "E", "P", "C", "F", "c", "d", ecc.

Immagini più chiare si ottengono nei display alfanumerici (ing. "display alfanumerico"), che hanno segmenti radiali aggiuntivi e, di conseguenza, Di più conclusioni (Fig. 2.27, a ... c). Di conseguenza, tali indicatori mostrano quasi tutte le lettere dell'alfabeto latino, cirillico e alcuni caratteri speciali.

Riso. 2.27. Disposizione dei segmenti in caratteri alfanumerici Indicatori LED: a) 9 segmenti; b) 14 segmenti; c) 16 segmenti.

Sfortunatamente, non esiste una standardizzazione armoniosa nella designazione dei segmenti per gli indicatori alfanumerici, ogni produttore "esercita" a modo suo. L'unica cosa è che i punti decimali sono contrassegnati in modo coerente con due lettere, e non una, "DP" (punto decimale).

L'unica differenza tra i display a 16 segmenti è che il display a 16 segmenti divide i segmenti superiore e inferiore in due parti, il che migliora aspetto alcune lettere e simboli (Fig. 2.28).

Riso. 2.28. Formazione di lettere e simboli in un display a 16 segmenti.

Poiché le uscite per tali indicatori sono molte e potrebbero non essere disposte in ordine, è consigliabile suonarle con un tester o una batteria galvanica da 4,5 V con una resistenza in serie da 300 ... 390 Ohm prima di installarle sulla scheda.

Nel gergo dei radioamatori, i display a 16 segmenti sono chiamati "asterischi" o "fiocchi di neve" per la loro forma bizzarra. Un'altra versione del nome è "indicatori inglesi" per la somiglianza del contorno con la bandiera nazionale della Gran Bretagna.

In generale, la circuiteria per il collegamento degli indicatori alfanumerici a MK è la stessa utilizzata negli indicatori a sette segmenti. La differenza principale è il doppio del numero di pin (Fig. 2.29, a, b).

Riso. 2.29. Schemi di collegamento indicatori MK a 14 segmenti:

a) i resistori R1 ... R14 limitano le correnti che scorrono attraverso i segmenti dell'indicatore HG1. Il resistore R15 è incluso nel circuito di controllo automatico della luminosità. A causa dell'azione del negativo feedback, questo resistore, quando l'indicatore HG1 è completamente “illuminato”, riduce la tensione applicata ai segmenti (e quindi riduce la corrente e la luminosità);

b) DA1 è un driver specializzato con un'interfaccia SCK, SDI, SDO a tre fili. Il resistore R1 regola la luminosità, più precisamente, la corrente stabilizzata attraverso tutti i segmenti cambia. Invece di singoli indicatori Yab7…#b! 6 è possibile utilizzare "coppie" di indicatori a 14 segmenti con un punto decimale, ad esempio LTP-3786G di Lite-OnTechnology.