Nota
Ciao, benvenuto nella Community di Appassionati di Raspberry Pi & Arduino & ESP32 di SunFounder su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché Unirsi?
Supporto da Esperti: 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 agli annunci dei nuovi prodotti e alle anteprime.
Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Giveaway Festivi: Partecipa ai giveaway e alle promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
5.2 Visualizzazione dei Numeri
I display a 7 segmenti sono ovunque nella vita quotidiana. Ad esempio, su un condizionatore d’aria, possono essere utilizzati per visualizzare la temperatura; su un indicatore di traffico, possono essere utilizzati per visualizzare un timer.
Il display a 7 segmenti è essenzialmente un dispositivo composto da 8 LED, di cui 7 LED a forma di striscia formano una figura a «8», e c’è un LED puntiforme leggermente più piccolo che funge da punto decimale. Questi LED sono contrassegnati come a, b, c, d, e, f, g e dp. Hanno i loro pin di anodo e condividono i catodi. Le loro posizioni dei pin sono mostrate nella figura qui sotto.
Questo significa che ha bisogno di essere controllato da 8 segnali digitali contemporaneamente per funzionare completamente e il 74HC595 può farlo.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kepler Kit |
450+ |
Puoi anche acquistarli separatamente dai link sottostanti.
SN |
COMPONENTE |
QUANTITÀ |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Cavo Micro USB |
1 |
|
3 |
1 |
||
4 |
Diversi |
||
5 |
1 (220Ω) |
||
6 |
1 |
||
7 |
1 |
Schema
Qui il principio di cablaggio è fondamentalmente lo stesso di 5.1 Microchip - 74HC595, l’unica differenza è che Q0-Q7 sono collegati ai pin da a ~ g del display a 7 segmenti.
Display a Segmenti LED |
|
|---|---|
Q0 |
a |
Q1 |
b |
Q2 |
c |
Q3 |
d |
Q4 |
e |
Q5 |
f |
Q6 |
g |
Q7 |
dp |
Cablaggio
Codice
Nota
Apri il file
5.2_number_display.pynel percorsokepler-kit-main/micropythonoppure copia questo codice in Thonny, quindi clicca su «Run Current Script» o semplicemente premi F5 per eseguirlo.Non dimenticare di selezionare l’interprete «MicroPython (Raspberry Pi Pico)» nell’angolo in basso a destra.
Per tutorial dettagliati, fai riferimento a Aprire ed Eseguire Codice Direttamente.
import machine
import time
SEGCODE = [0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f]
sdi = machine.Pin(0,machine.Pin.OUT)
rclk = machine.Pin(1,machine.Pin.OUT)
srclk = machine.Pin(2,machine.Pin.OUT)
def hc595_shift(dat):
rclk.low()
time.sleep_ms(5)
for bit in range(7, -1, -1):
srclk.low()
time.sleep_ms(5)
value = 1 & (dat >> bit)
sdi.value(value)
time.sleep_ms(5)
srclk.high()
time.sleep_ms(5)
time.sleep_ms(5)
rclk.high()
time.sleep_ms(5)
while True:
for num in range(10):
hc595_shift(SEGCODE[num])
time.sleep_ms(500)
Quando il programma è in esecuzione, vedrai il Display a Segmenti LED visualizzare i numeri da 0 a 9 in sequenza.
Come Funziona?
hc595_shift() fa sì che il 74HC595 produca 8 segnali digitali.
Esso invia l’ultimo bit del numero binario a Q0, e il primo bit a Q7. In altre parole, scrivendo il numero binario «00000001» si fa in modo che Q0 emetta un livello alto e Q1~Q7 emettano un livello basso.
Supponiamo che il Display a 7 segmenti mostri il numero «1», dobbiamo impostare un livello alto per b e c, e un livello basso per a, d, e, f, g e dg.
Questo significa che dobbiamo scrivere il numero binario «00000110». Per leggibilità, useremo la notazione esadecimale come «0x06».
Allo stesso modo, possiamo anche far visualizzare altri numeri al Display a Segmenti LED 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 hc595_shift() per far visualizzare al Display a Segmenti LED i numeri corrispondenti.



