Nota
Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e omaggi: Partecipa a promozioni e omaggi durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!
5.10 ShiftOut(Display a Segmenti)¶
In precedenza, abbiamo utilizzato la funzione shiftout() per accendere otto LED; qui la usiamo per visualizzare i numeri da 0 a 9 sul Display a 7 segmenti.
Il Display a 7 segmenti è essenzialmente un dispositivo composto da 8 LED, di cui 7 LED a forma di striscia formano un «8», e c’è un piccolo LED puntiforme come punto decimale. Questi LED sono etichettati come a, b, c, d, e, f, g e dp. Hanno i propri pin di anodo e condividono i catodi. Le loro posizioni sono mostrate nella figura sottostante.
Componenti necessari
In questo progetto, ci servono i seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
3 in 1 Starter Kit |
380+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Schema
Collegamenti
74HC595 |
Display a Segmenti LED |
|---|---|
Q0 |
a |
Q1 |
b |
Q2 |
c |
Q3 |
d |
Q4 |
e |
Q5 |
f |
Q6 |
g |
Q7 |
dp |
Codice
Nota
Apri il file
5.10.shiftout_segment.inonel percorso3in1-kit\basic_project\5.10.shiftout_segment.Oppure copia questo codice nell”Arduino IDE.
Oppure carica il codice tramite l”Arduino Web Editor.
Dopo aver caricato con successo il codice, sarai in grado di vedere il Display a 7 segmenti visualizzare i numeri da 0 a 9 in sequenza.
Come funziona?
shiftOut() consente al 74HC595 di emettere 8 segnali digitali.
Emette l’ultimo bit del numero binario a Q0,
e il primo bit a Q7. In altre parole,
scrivendo il numero binario «00000001», Q0 emetterà un livello alto e Q1~Q7 emetteranno un livello basso.
Supponiamo che il Display a 7 segmenti visualizzi il numero «2». Dobbiamo scrivere un livello alto per a, b, d, e e g, e un livello basso per c, f e dp. Cioè, è necessario scrivere il numero binario «01011011». Per leggibilità, useremo la notazione esadecimale «0x5b».
Allo stesso modo, possiamo far visualizzare altri numeri al Display a 7 segmenti nello stesso modo. La tabella seguente mostra i codici corrispondenti a questi numeri.
Numeri |
Codice Binario |
Codice Esadecimale |
|---|---|---|
0 |
00111111 |
0x3f |
1 |
00000110 |
0x06 |
2 |
01011011 |
0x5b |
3 |
01001111 |
0x4f |
4 |
01100110 |
0x66 |
5 |
01101101 |
0x6d |
6 |
01111101 |
0x7d |
7 |
00000111 |
0x07 |
8 |
01111111 |
0x7f |
9 |
01101111 |
0x6f |
Scrivi questi codici in shiftOut() per far visualizzare i numeri corrispondenti sul Display a 7 segmenti.