ESP32 è una scheda microcontrollore con più pin di uscita di ingresso. ESP32 come Arduino può leggere e controllare l'ingresso digitale e l'output digitale. Quindi qui in questo articolo tratteremo come controllare l'output ESP32 e come leggere l'input digitale da periferiche esterne.
Come installare ESP32 in Arduino IDE
Prima di spostarci ulteriormente sul nostro argomento principale, vorrei ricordarti di installare il Arduino ide Nel PC e se la scheda ESP32 non è installata in Arduino IDE, allora ecco la guida su come installare ESP32 in Arduino IDE.
Pin di output di input digitale in ESP32
Le schede ESP32 sono dotate di un totale di 48 Pin che svolgono funzioni diverse, non tutti i pin sono fisicamente esposti su schede ESP32. Alcuni pin non sono disponibili per l'uso.
ESP32 è disponibile in due varianti, si arriva 36 pin e il secondo con 30 pin. La differenza di sei pin qui è dovuta a pin SPI che sono integrati per la comunicazione SPI e non possono essere utilizzate per nessun altro scopo.
L'immagine di Pinout di seguito è di una scheda ESP32 da 30 pin. La maggior parte di questi pin sono simili ad altre versioni come la scheda 36 pin ESP32. Tuttavia, la versione a 36 pin di ESP32 ha 6 speciali pin SPI integrati che non sono raccomandati per usarli come GPIO.
La tabella seguente illustra lo stato di output di input dei pin della scheda ESP32:
PIN GPIO | INGRESSO | PRODUZIONE | Descrizione |
GPIO 0 | Tirato su | OK | Output PWM all'avvio |
GPIO 1 | PIN TX | OK | Debug di output all'avvio |
GPIO 2 | OK | OK | A bordo di LED |
GPIO 3 | OK | Pin Rx | Alto allo stivale |
GPIO 4 | OK | OK | - |
GPIO 5 | OK | OK | Output PWM all'avvio |
GPIO 6 | - | - | PIN FLASH SPI |
GPIO 7 | - | - | PIN FLASH SPI |
GPIO 8 | - | - | PIN FLASH SPI |
GPIO 9 | - | - | PIN FLASH SPI |
GPIO 10 | - | - | PIN FLASH SPI |
GPIO 11 | - | - | PIN FLASH SPI |
GPIO 12 | OK | OK | L'avvio fallisce in alto tiro |
GPIO 13 | OK | OK | - |
GPIO 14 | OK | OK | Output PWM all'avvio |
GPIO 15 | OK | OK | Output PWM all'avvio |
GPIO 16 | OK | OK | - |
GPIO 17 | OK | OK | - |
GPIO 18 | OK | OK | - |
GPIO 19 | OK | OK | - |
GPIO 21 | OK | OK | - |
GPIO 22 | OK | OK | - |
GPIO 23 | OK | OK | - |
GPIO 25 | OK | OK | - |
GPIO 26 | OK | OK | - |
GPIO 27 | OK | OK | - |
GPIO 32 | OK | OK | - |
GPIO 33 | OK | OK | - |
GPIO 34 | OK | Solo input | |
GPIO 35 | OK | Solo input | |
GPIO 36 | OK | Solo input | |
GPIO 39 | OK | Solo input |
Qui OK significa che il pin corrispondente può essere utilizzato come ingresso o output. Tutti i pin GPIO di ESP32 possono essere utilizzati sia come input che come output. Solo i pin SPI da 6 a 11 non possono essere usati come ingresso o output. I pin GPIO 34, 35, 36 e 39 sono solo input.
Come controllare gli output digitali utilizzando i pin digitali in ESP32
Dato che stiamo programmando ESP32 in Arduino IDE, useremo le stesse funzioni per dichiarare un pin come output come abbiamo fatto nella scheda Arduino.
Per configurare qualsiasi pin digitale dobbiamo dichiararlo come output utilizzando pinMode () funzione.
Verrà seguita la sintassi seguente:
pinMode (GPIO, output);
Qui usando la funzione sopra abbiamo dichiarato un pin GPIO come output ora per controllare l'output digitale che useremo DigitalWrite () funzione.
DigitalWrite (GPIO, Stato);
Questa funzione prende due argomenti, uno è il numero PIN GPIO e il secondo è lo stato di quel pin che deve essere definito. Lo stato può essere basso o alto.
Come spiegato in precedenza possiamo usare tutti i pin di ESP32 come output tranne GPIO da 6 a 11 (SPI Flash) e GPIO 34, 35, 36 e 39 (Solo input).
Come leggere gli input digitali in ESP32
Leggere un input da pin digitali è simile al controllo di un'uscita di un pin. Per prima cosa dobbiamo dichiarare un pin come input usando il pinMode () funzione. Di seguito è riportata la sintassi che definisce un pin come input:
pinMode (GPIO, input);
Una volta impostato il pin come input, il passaggio successivo è definire il DigitalRead () funzione per ottenere dati da quel pin. Ecco come è possibile definire un pin come input digitale.
DigitalRead (GPIO);
Tutti i pin GPIO possono essere utilizzati come input tranne i pin flash SPI da 6 a 11.
Nota: I pin SPI Flash da 6 a 11 mancano nella versione a 30 pin della scheda ESP32.
Come controllare il LED utilizzando ESP32 Digital Read and Write
Ora per cancellare il concetto di lettura e scrittura digitale in ESP32 faremo un esempio di LED. Per controllare il LED, useremo un pulsante.
ESP32 leggerà digitalmente i dati da PushButton e controllerà un LED utilizzando il comando di scrittura digitale.
Hardware richiesto
Di seguito è riportato l'elenco dei componenti richiesti:
Schema
La seguente immagine illustra la connessione di ESP32 con LED e pulsante. Il LED è collegato a GPIO 14 e l'uscita del pulsante è collegata al pin GPIO 15.
Codice per controllare gli ingressi/output digitali ESP32
Apri Arduino IDE e seleziona la scheda ESP32 e la porta COM, ora carica il codice dato.
const int pust_button = 15; /*Pin GPio 15 per pulsante*/
const int led_pin = 14; /*Pin GPIO 14 per LED*/
int pulsante_state = 0;
void setup ()
Seriale.Inizia (115200);
pinMode (push_button, input); /*Imposta il pin pulsante come input digitale*/
pinMode (led_pin, output); /*Imposta LED come output digitale*/
void loop ()
Button_State = DigitalRead (push_button); /*Funzione per controllare lo stato del pulsante*/
Seriale.println (button_state);
if (button_state == high) /*Controlla lo stato del pulsante usando se condizione* /
DigitalWrite (LED_PIN, HIGH); /*Se lo stato è alto LED*/
altro
DigitalWrite (LED_PIN, Low); /*Else LED rimane fuori*/
Qui nel codice sopra, abbiamo iniziato inizializzando il pin GPIO per LED e pulsante. Successivamente, abbiamo dichiarato LED come output e pulsante come input per leggere i dati.
Per archiviare i dati di lettura dal pulsante è definita una variabile e alla fine abbiamo stampato il risultato sul monitor seriale.
Produzione
Sull'hardware possiamo vedere che il LED è spento.
Ora premendo la scheda Pustbutton ESP32 prenderà input dal pulsante e imposterà lo stato di uscita del LED ad alto livello. Ora il LED si accenderà.
Possiamo anche vedere i dati digitali letti dal pulsante sul monitor seriale dell'IDE.
Conclusione
Le schede ESP32 hanno più pin digitali per l'input e l'output. Qui in questo articolo, abbiamo discusso di questi pin e controllato un LED usando il pulsante. Anche.