Nota
Ciao, benvenuto nella Community di SunFounder per appassionati di Raspberry Pi, Arduino ed 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 consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime speciali.
Sconti Speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Omaggi Festivi: Partecipa a omaggi e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!
5.1 Lettura del Valore del Pulsante¶
In questo progetto interattivo, esploreremo il controllo dei pulsanti e la manipolazione degli LED.
Il concetto è semplice ma efficace. Leggeremo lo stato di un pulsante. Quando il pulsante viene premuto, registra un livello di tensione alto, o “stato alto”. Questa azione attiverà l’accensione di un LED.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un intero kit, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit di Partenza ESP32 |
320+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK DI ACQUISTO |
|---|---|
Pin Disponibili
Pin Disponibili
Ecco un elenco di pin disponibili sulla scheda ESP32 per questo progetto.
Per Input
IO14, IO25, I35, I34, I39, I36, IO18, IO19, IO21, IO22, IO23
Per Output
IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23
Pin ad Uso Condizionale (Input)
I seguenti pin hanno resistori di pull-up o pull-down integrati, quindi non sono necessari resistori esterni quando vengono utilizzati come pin di ingresso:
Pin ad Uso Condizionale
Descrizione
IO13, IO15, IO2, IO4
Il pull-up con un resistore da 47K imposta il valore su alto di default.
IO27, IO26, IO33
Il pull-up con un resistore da 4.7K imposta il valore su alto di default.
IO32
Il pull-down con un resistore da 1K imposta il valore su basso di default.
Pin Strapping (Input)
I pin Strapping sono un set speciale di pin utilizzati per determinare specifiche modalità di avvio durante l’accensione del dispositivo (ad es. reset all’accensione).
Pin Strapping
IO5, IO0, IO2, IO12, IO15
In generale, non è consigliato utilizzarli come pin di ingresso. Se desideri utilizzare questi pin, considera il potenziale impatto sul processo di avvio. Per ulteriori dettagli, consulta la sezione Pin di Strapping.
Schema Elettrico
Per garantire un funzionamento corretto, collega un lato del pin del pulsante a 3.3V e l’altro lato a IO14. Quando il pulsante viene premuto, IO14 verrà impostato su alto, facendo accendere il LED. Quando il pulsante viene rilasciato, IO14 tornerà al suo stato sospeso, che può essere alto o basso. Per garantire un livello basso stabile quando il pulsante non è premuto, IO14 dovrebbe essere collegato a GND tramite un resistore pull-down da 10K.
Cablaggio
Nota
Un pulsante a quattro pin è progettato a forma di H. Quando il pulsante non viene premuto, i pin sinistro e destro sono scollegati e la corrente non può fluire tra di essi. Tuttavia, quando il pulsante viene premuto, i pin sinistro e destro sono collegati, creando un percorso per il flusso di corrente.
Codice
Nota
Apri il file
5.1_read_button_value.pysituato nel percorsoesp32-starter-kit-main\micropython\codes, oppure copia e incolla il codice in Thonny. Poi, clicca su «Esegui Script Corrente» o premi F5 per eseguirlo.Assicurati di selezionare l’interprete «MicroPython (ESP32).COMxx» nell’angolo in basso a destra.
import machine
import time
button = machine.Pin(14, machine.Pin.IN) # Pin del pulsante
led = machine.Pin(26, machine.Pin.OUT) # Pin del LED
while True:
# Se il pulsante viene premuto leggendo il suo valore
if button.value() == 1:
# Accendi il LED impostando il suo valore a 1
led.value(1)
# time.sleep(0.5)
else:
# Spegni il LED
led.value(0)
Durante l’esecuzione dello script, il LED si accende quando premi il pulsante e si spegne quando lo rilasci.