ESPTOP 10 entradas digitales y salidas digitales utilizando Arduino IDE

ESPTOP 10 entradas digitales y salidas digitales utilizando Arduino IDE

ESP32 es una placa de microcontrolador que tiene múltiples pasadores de salida de entrada. ESP32 como Arduino puede leer y controlar tanto la entrada digital como la salida digital. Entonces, aquí en este artículo cubriremos cómo controlar la salida ESP32 y cómo leer la entrada digital de periféricos externos.

Cómo instalar ESP32 en Arduino IDE

Antes de avanzar más a nuestro tema principal, me gustaría recordarle que instale el Arduino IDE en PC y si la placa ESP32 no está instalada en Arduino IDE, entonces aquí está la guía sobre cómo instalar ESP32 en Arduino IDE.

Pins de salida de entrada digital en ESP32

Los tableros ESP32 vienen con un total de 48 Pins que realizan diferentes funciones, no todos los pines están físicamente expuestos en tableros ESP32. Algunos alfileres no están disponibles para su uso.

ESP32 viene en dos variantes, uno viene con 36 alfileres y el segundo con 30 patas. La diferencia de seis pines aquí se debe a los pines SPI que están integrados para la comunicación SPI y no pueden usarse para ningún otro propósito.

La imagen de Pinout a continuación es de un tablero de 30 pines ESP32. La mayoría de estos alfileres son similares a otras versiones como el tablero de 36 pin ESP32. Sin embargo, la versión de 36 pin de ESP32 tiene 6 pines SPI especiales que no se recomiendan para usarlos como GPIO.

La siguiente tabla ilustra el estado de salida de entrada de los pines de placa ESP32:

Pasador de gpio APORTE PRODUCCIÓN Descripción
GPIO 0 Arrancados DE ACUERDO Salida PWM al arranque
GPIO 1 TX PIN DE ACUERDO DEPUMTA DE SALIDA EN BOOT
GPIO 2 DE ACUERDO DE ACUERDO A bordo de LED
GPIO 3 DE ACUERDO Pasador de rx Alto en el arranque
GPIO 4 DE ACUERDO DE ACUERDO -
GPIO 5 DE ACUERDO DE ACUERDO Salida PWM al arranque
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 DE ACUERDO DE ACUERDO FALLO DE BOOT A HIGH PILL
GPIO 13 DE ACUERDO DE ACUERDO -
GPIO 14 DE ACUERDO DE ACUERDO Salida PWM al arranque
GPIO 15 DE ACUERDO DE ACUERDO Salida PWM al arranque
GPIO 16 DE ACUERDO DE ACUERDO -
GPIO 17 DE ACUERDO DE ACUERDO -
GPIO 18 DE ACUERDO DE ACUERDO -
GPIO 19 DE ACUERDO DE ACUERDO -
GPIO 21 DE ACUERDO DE ACUERDO -
GPIO 22 DE ACUERDO DE ACUERDO -
GPIO 23 DE ACUERDO DE ACUERDO -
GPIO 25 DE ACUERDO DE ACUERDO -
GPIO 26 DE ACUERDO DE ACUERDO -
GPIO 27 DE ACUERDO DE ACUERDO -
GPIO 32 DE ACUERDO DE ACUERDO -
GPIO 33 DE ACUERDO DE ACUERDO -
GPIO 34 DE ACUERDO Solo entrada
GPIO 35 DE ACUERDO Solo entrada
GPIO 36 DE ACUERDO Solo entrada
GPIO 39 DE ACUERDO Solo entrada

Aquí DE ACUERDO significa que el pin correspondiente se puede usar como entrada o salida. Todos los pines GPIO de ESP32 se pueden usar como entrada y salida. Solo los pines SPI 6 a 11 no se pueden usar como entrada o salida. Los pines GPIO 34, 35, 36 y 39 son solo de entrada.

Cómo controlar las salidas digitales utilizando pines digitales en ESP32

Como estamos programando ESP32 en Arduino IDE, utilizaremos las mismas funciones para declarar un PIN tan salida como lo hicimos en el tablero de Arduino.

Para configurar cualquier pin digital, tenemos que declararlo como salida utilizando PinMode () función.

Se seguirá la siguiente sintaxis:

PinMode (GPIO, salida);

Aquí usando la función anterior hemos declarado un pin de GPIO como salida ahora para controlar la salida digital que usaremos DigitalWrite () función.

DigitalWrite (GPIO, Estado);

Esta función toma dos argumentos, uno es el número de pin GPIO y el segundo es el estado de ese pin que se debe definir. El estado puede ser bajo o alto.

Como se explicó anteriormente, podemos usar todos los pines de ESP32 como salida excepto GPIO 6 a 11 (SPI Flash) y GPIO 34, 35, 36 y 39 (Solo entrada).

Cómo leer entradas digitales en ESP32

Leer una entrada de pines digitales es similar a controlar una salida de un pin. Primero tenemos que declarar un pin como entrada utilizando el PinMode () función. La siguiente es la sintaxis que define un pin como entrada:

PinMode (GPIO, entrada);

Una vez que el pin se establece como entrada, el siguiente paso es definir el DigitalRead () función para obtener datos de ese pin. Así es como puede definir un PIN como entrada digital.

DigitalRead (GPIO);

Todos los pines GPIO se pueden usar como entrada, excepto los pasadores de flash SPI de 6 a 11.

Nota: Faltan los pines SPI Flash 6 a 11 en la versión de 30 pines de la placa ESP32.

Cómo controlar LED usando ESP32 Digital Read and Write

Ahora, para borrar el concepto de lectura digital y escribir en ESP32, tomaremos un ejemplo de LED. Para controlar el LED, usaremos un botón PUSH.

ESP32 leerá digitalmente los datos de PushButton y controlará un LED usando el comando de escritura digital.

Se requiere hardware

El siguiente es la lista de componentes requeridos:

  • ESP32
  • CONDUJO
  • Resistencia de 2x 220 ohmios
  • Presionar el botón
  • Tablero de circuitos
  • Cables de jersey

Esquemático

La siguiente imagen ilustra la conexión de ESP32 con LED y Pushbutton. El LED está conectado a GPIO 14 y la salida de botón de empuje está conectada al pin 15 de GPIO.

Código para controlar las entradas/salidas digitales ESP32

Abra Arduino IDE y seleccione la placa ESP32 y el puerto COM, ahora cargue el código dado.

const int push_button = 15; /*GPIO Pin 15 para el botón Push*/
const int led_pin = 14; /*GPIO Pin 14 para LED*/
int button_state = 0;
setup () void
De serie.comenzar (115200);
PinMode (push_button, entrada); /*Establezca el pin de botón como entrada digital*/
PinMode (LED_PIN, salida); /*Establecer LED como salida digital*/

bucle void ()
Button_state = digitalread (push_button); /*Función para verificar el botón de empuje*/
De serie.println (Button_state);
if (button_state == high) /*Verifique el estado del botón Push usando if condición* /
DigitalWrite (LED_PIN, High); /*Si el estado es alto encendido LED*/
demás
DigitalWrite (LED_PIN, Low); /*El más led permanece apagado*/

Aquí en el código anterior, comenzamos inicializando el pin GPIO para LED y botón de empuje. A continuación, declaramos LED como salida y botón de empuje como entrada para leer datos.

Para almacenar datos de lectura del botón Push se define una variable y al final imprimimos el resultado en el monitor en serie.

Producción

En el hardware podemos ver que el LED está apagado.

Ahora presionando la placa Botton ESP32 tomará la entrada del botón de empuje y establecerá el estado de salida del LED a alto. Ahora el LED se encenderá.

También podemos ver los datos digitales leídos del botón de empuje en el monitor en serie de IDE.

Conclusión

Los tableros ESP32 tienen múltiples pasadores digitales para entrada y salida. Aquí en este artículo, discutimos estos pines y controlamos un LED usando el botón PUSH. También hemos mencionado que hay ciertos pines que solo se pueden usar como entrada, mientras que algunos pines como SPI Flash de 6 a 11 (36 Versión ESP32 Board) no se pueden usar como entrada o salida.