Alcune parti di questo sito web non sono ancora disponibili nella tua lingua. Stiamo lavorando per risolvere questo problema e ci scusiamo per eventuali disagi.
Tutorial ESP32 33/55 - Dadi digitali utilizzando il kit di apprendimento IoT ESP32 di SunFounder
In questo tutorial, creeremo un dado digitale utilizzando un display a sette segmenti e l'ESP32 del kit di apprendimento IoT di SunFounder. Il progetto ti permetterà di lanciare un dado virtuale, generando numeri da 1 a 6 premendo un pulsante. Questo è un modo fantastico per esplorare le capacità dell'ESP32 mentre si impara a interfacciarsi con display e pulsanti. Per ulteriore chiarezza, assicurati di controllare il video (nel video a 0:00).
ESP32-33_dadi-digitali-principale
Hardware Spiegato
I principali componenti di questo progetto includono il microcontrollore ESP32, un registro di traslazione 74HC595, un display a sette segmenti e un pulsante. L'ESP32 è un potente microcontrollore che integra Wi-Fi e Bluetooth, rendendolo adatto per applicazioni IoT. Il registro di traslazione 74HC595 ci consente di controllare il display a sette segmenti utilizzando meno pin rispetto al collegamento diretto di ciascun segmento.
Il display a sette segmenti mostra numeri ed è controllato inviando dati dal registro di scorrimento. Il pulsante è utilizzato per attivare il lancio dei dadi, generando un numero casuale che verrà visualizzato. Quando premuto, il pulsante si collega al pin 13 sull'ESP32, che ha una resistenza di pull-up interna per mantenerlo in uno stato alto quando non è premuto.
Dettagli del foglio dati
Produttore
Texas Instruments
Numero di parte
74HC595
Tensione logica/IO
da 2 V a 6 V
Tensione di alimentazione
da 4,5 V a 5,5 V
Corrente di uscita (per canale)
6 mA max
Corrente di picco (per canale)
35 mA max
Indicazioni sulla frequenza PWM
Non applicabile
Soglie logiche di ingresso
VIH≥ 2 V, VIL≤ 0,8 V
Caduta di tensione / RDS(on)/ saturazione
0,5 V max
Limiti termici
150 °C
Pacchetto
DIP-16
Note / varianti
Comunemente usato nei display digitali
Assicurati di avere livelli di tensione adeguati (da 4,5 V a 5,5 V) per un funzionamento affidabile.
Limitare la corrente di uscita per evitare di danneggiare il registro di scorrimento.
Usa condensatori di disaccoppiamento vicino ai pin di alimentazione per stabilizzare la tensione.
Collega correttamente il display a sette segmenti per evitare la rappresentazione errata dei numeri.
Controllare i cablaggi per connessioni allentate che potrebbero portare a un comportamento imprevisto.
Istruzioni di cablaggio
ESP32-33_digital-dice-wiring
Per cablare i dadi digitali, inizia impostando le connessioni di alimentazione. Collega il ground (linea blu) sulla tua scheda di prototipazione al pin di massa sull'ESP32 e assicurati che tutti i punti di massa siano interconnessi. Successivamente, collegati un pin da 3,3V dall'ESP32 al rail di alimentazione (linea rossa) sulla scheda di prototipazione.
ESP32-33_schema_dadi_digitale
Per il registratore di spostamento 74HC595, assicurati che il pin 1 sia collegato al rail da 3,3V e il pin 8 a terra. Collega il pin di uscita dati (DS) al pin 25 dell'ESP32, il pin dell'orologio di spostamento (SHCP) al pin 26 e il pin dell'orologio di memorizzazione (STCP) al pin 27. Il pulsante dovrebbe essere collegato tra il pin 13 dell'ESP32 e terra, consentendo di tirare il pin a basso quando viene premuto.
Esempi di codice e guida passo passo
Nel codice, definiamo prima i pin utilizzati per il registro di scorrimento e il pulsante. Il pin del pulsante è definito comebuttonPine è collegato al pin 13 sull'ESP32. L'array datidatArraycontiene le rappresentazioni binarie dei numeri 0-9 per il display a sette segmenti.
const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP
const int DS = 25; //DS
const int buttonPin = 13;
int datArray[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
Nellasetup()nella funzione, impostiamo il pin del pulsante in modalità input e i pin del registro di scorrimento in modalità output. Questo prepara i pin per leggere l'input dal pulsante e per inviare dati al display.
La logica principale del programma si trova nelloop()funzione. Controlla se il pulsante è premuto, genera un numero casuale e chiama ilshow_number()funzione per visualizzare il numero sul display a sette segmenti.
Ilshow_number()La funzione invia il valore appropriato dall'array di dati al registro di scorrimento, che poi controlla i segmenti del display per mostrare il numero generato. Questa funzione è cruciale per il feedback visivo quando il pulsante viene premuto.
Display LED 74HC595: Segmento Settoriale spiegato
Dimostrazione / Cosa Aspettarsi
Quando l'impostazione è completa e il codice è caricato, premere il pulsante genererà un numero casuale tra 1 e 6, che verrà visualizzato sul display a sette segmento. Se tutto è cablato correttamente, il display dovrebbe mostrare un numero ogni volta che il pulsante viene premuto. Fai attenzione agli ingressi flottanti; assicurati che il pulsante sia correttamente collegato a terra per evitare comportamenti erratici (nel video a 1:30).
Timestamp video
00:00 Inizio
1:48 Introduzione del progetto
3:40 Spiegazione del cablaggio per dadi digitali
13:16 Codice Arduino per dadi digitali spiegato
19:19 Selezione della scheda ESP32 e della porta COM nell'Arduino IDE
21:00 Dimostrazione di Dadi Digitali
22:15 Correzione del codice Arduino
Immagini
Display LED 74HC595: Segmento Settembre spiegato
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-main
ESP32-33_digital-dice-schematic
Display LED 74HC595: Segmento Settembre spiegato
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-main
ESP32-33_digital-dice-schematic
834-ESP32 Tutorial 33/55- Arduino code for digital dice