ESP32 è una scheda IoT che può essere interfacciata con diverse periferiche esterne per generare uscite. ESP32 prende input da dispositivi come i pulsanti e genera risposte secondo l'input ricevuto. I pulsanti possono essere utilizzati per controllare più sensori e dispositivi come il controllo di un LED o il mantenimento della velocità dei motori. Qui in questa lezione, discuteremo dell'interfaccia del pulsante con ESP32.
Di seguito è riportato la tabella dei contenuti per questa lezione:
1: introduzione al pulsante
2: Pulsante a pressione
2.1: Modalità di lavoro del pulsante Push
3: pulsante di interfaccia con ESP32
3.1: pin di output di ingresso digitale in ESP32
3.2: come leggere gli input digitali in ESP32
3.3: pulsante di interfaccia con ESP32 utilizzando la funzione di lettura digitale
3.4: hardware richiesto
3.5: schema
3.6: codice per l'interfaccia ESP32 con pulsante
3.7: output
1: introduzione al pulsante
Un pulsante è un pulsante semplice con un meccanismo per controllare gli stati di macchine o processi diversi. Il pulsante è costituito da materiale duro come la plastica o il metallo e la superficie superiore è generalmente piatta, il che consente agli utenti di premerlo.
Nei progetti ESP32 il pulsante è ampiamente utilizzato per controllare gli stati di input e output del pin. Attiva interruttori e pulsanti a spinta funzionano su principi leggermente diversi. L'interruttore convenzionale o levetta si riposano una volta premuto mentre il pulsante è un dispositivo a due posizioni che di solito si riposano una volta rilasciato.
Entriamo in profondità nel principio di lavoro del pulsante in dettaglio:
2: Pulsante a pressione
Un pulsante normalmente ha 4 pin. Questi 4 pin sono collegati sotto forma di una coppia come due pin superiori sono collegati internamente in modo simile, anche gli altri due sono collegati internamente.
Per sapere quali due pin sono collegati, prendi un multimetro (DMM) e impostalo su Test di continuità, ora collega la sonda positiva con qualsiasi gamba del pulsante e quindi uno per uno attacca la sonda negativa del multimetro con altre gambe. Se la connessione è completa tra le due estremità, il suono del segnale acustico può essere ascoltato dal multimetro. Quelle due gambe che sono collegate internamente completeranno il circuito.
1: Modalità di lavoro del pulsante Push
Per utilizzare il pulsante Push in un circuito abbiamo bisogno di un pin da ciascuna coppia connessa internamente. Se prendiamo i pin del pulsante dalla stessa coppia che sono collegati internamente si tradurrà in un corto circuito poiché questi sono già collegati, aggirerà il meccanismo del pulsante.
Sulla base di questo meccanismo, il pulsante può funzionare nelle seguenti due modalità:
Se prendiamo un esempio della modalità mostrata nell'immagine seguente. Possiamo vedere che quando il pulsante non viene premuto è aperta la connessione interna una volta che il pulsante viene premuto il terminale interno A e B verrà collegato e il circuito completerà.
Ora abbiamo completato il principio di base dietro il funzionamento dei pulsanti. Successivamente interfacciamo un semplice pulsante con ESP32 e controlleremo un LED usandolo.
3: pulsante di interfaccia con ESP32
Prima di interfacciarsi il pulsante con ESP32, si devono conoscere i pin GPIO che possono essere utilizzati come input. Ora discuteremo dei pin di output di input digitali in ESP32.
1: pin di output di ingresso digitale in ESP32
ESP32 ha un totale di 48 pin ognuno dei quali è specifico per una determinata funzione, tra i 48 pin Alcuni non sono fisicamente esposti, il che significa che non possiamo usarli per scopi esterni. Questi pin sono integrati all'interno di ESP32 per diverse funzioni.
La scheda ESP32 ha 2 diverse varianti con 36 pin e 30 pin. Qui la differenza di 6 pin tra le due schede risiede a causa di 6 pin SPI flash integrati disponibili per la comunicazione SPI su a 36 Variante dei pin della scheda ESP32. Tuttavia, questi 6 pin SPI non possono essere utilizzati per altri scopi come l'uscita di input.
Il pinout indicato di seguito è di 30 pin Scheda ESP32:
Tra tutti i gpiO solo 4 pin (34, 35, 36 e 39) sono input solo mentre tutti gli altri pin possono essere utilizzati sia per l'ingresso che per l'output. Come accennato in precedenza, i 6 pin SPI non possono essere utilizzati per l'input o l'output.
2: come leggere gli input digitali in ESP32
L'ingresso del pulsante Push può essere letto su un pin GPIO definito per il quale una funzione pinMode () deve essere definito per primo all'interno del codice Arduino. Questa funzione imposterà il pin GPIO come input. pinMode () La sintassi della funzione è la seguente:
pinMode (GPIO, input);
Per leggere i dati da un pin GPIO definito DigitalRead () La funzione verrà chiamata. Di seguito è riportato il comando che si può utilizzare per prendere i dati dal pulsante su un pin GPIO:
DigitalRead (GPIO);
3: pulsante di interfaccia con ESP32 utilizzando la funzione di lettura digitale
Ora interfacciamo ESP32 con il pulsante usando il Lettura digitale funzione su qualsiasi pin GPIO. Prendendo l'input dal pulsante un LED verrà acceso o spento.
4: hardware richiesto
Di seguito è riportato l'elenco dei componenti richiesti:
5: schema
Sotto l'immagine è il diagramma schematico del pulsante con ESP32. Qui l'input viene letto dal pulsante Push al pin GPIO 15 e il LED è collegato al pin GPIO 14.
6: codice per l'interfaccia del pulsante con ESP32
Ora per caricare il codice su ESP32 Arduino IDE Editor verrà utilizzato. Apri l'IDE e collega la scheda ESP32 dopo che selezionare la porta COM dalla sezione Strumento. Una volta che la scheda ESP32 è pronta incollare il codice in IDE e fare clic su Carica:
const int pust_button = 15; /*Pin digitale 15 definito per pulsante*/
const int led_pin = 14; /*Pin digitale 14 definito per LED*/
int pulsante_state = 0;
void setup ()
Seriale.Inizia (115200);
pinMode (push_button, input); /*GPIO 15 Impostare come input*/
pinMode (led_pin, output); /*GPIO 14 imposta come output*/
void loop ()
Button_State = DigitalRead (push_button); /*Controlla lo stato a pulsante*/
Seriale.println (button_state);
if (button_state == high) /*se condizione per controllare lo stato del pulsante* /
DigitalWrite (LED_PIN, HIGH); /*Stato alto ha portato su*/
altro
DigitalWrite (LED_PIN, Low); /*Altrimenti è stato portato fuori*/
Codice avviato definendo i pin GPIO per LED e pulsante. Successivamente il LED GPIO viene dichiarato come output mentre il pulsante Push GPIO è impostato come input.
Nel pulsante di push end controllato utilizzando la condizione if. Lo stato del pulsante Push viene anche stampato sul monitor seriale utilizzando Seriale.println (button_state).
Se l'ingresso del pulsante è alto LED, si accenderà altro, rimarrà spento.
7: output
All'inizio, possiamo vedere che il LED è spento.
Ora premi il pulsante Push Un segnale alto verrà inviato a ESP32 GPIO 15 e il LED si accende.
Lo stesso output può essere visto anche sul monitor seriale Arduino.
Conclusione
ESP32 ha più pin GPIO in grado di leggere i dati digitali da sensori come Push Buttons. L'uso del pulsante della funzione di lettura digitale può essere facilmente interfacciato con ESP32 per controllare diversi dispositivi. Utilizzando questo articolo una volta può interfacciarsi il pulsante con qualsiasi pin GPIO di ESP32.