ESPTOP 10 Input digitali e output digitali utilizzando Arduino IDE

ESPTOP 10 Input digitali e output digitali utilizzando Arduino IDE

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:

  • ESP32
  • GUIDATO
  • Resistenza 2x 220 ohm
  • Premi il bottone
  • Breadboard
  • Fili jumper

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.