Entradas y salidas digitales ESP32 con Arduino IDE

ESP32 es una placa de microcontrolador con múltiples pines de entrada y salida. ESP32 como Arduino puede leer y controlar entradas y salidas digitales. Entonces, en este artículo, cubriremos cómo controlar la salida ESP32 y cómo leer la entrada digital desde periféricos externos.
Cómo instalar ESP32 en Arduino IDE
Antes de pasar a nuestro tema principal, me gustaría recordarle que instale el IDE de Arduino en PC y si la placa ESP32 no está instalada en Arduino IDE, aquí está la guía para instalar ESP32 en Arduino IDE.
Pines de entrada-salida digital en ESP32
Las placas ESP32 vienen con un total 48 Pines que realizan diferentes funciones, no todos los pines están expuestos físicamente en las placas ESP32. Algunos bolígrafos no se pueden utilizar. ESP32 está disponible en dos variantes, una viene con 36 alfileres y el segundo con 30 lápices. La diferencia de seis pines aquí se debe a los pines SPI que están integrados para la comunicación SPI y no se pueden usar para ningún otro propósito. La siguiente imagen de distribución de pines muestra una placa ESP32 de 30 pines. La mayoría de estos pines son similares a otras versiones como la placa ESP32 de 36 pines. Sin embargo, la versión de 36 pines de ESP32 tiene 6 pines integrados SPI dedicados que no se recomiendan para usar como GPIO.
La siguiente tabla muestra el estado de entrada-salida de los pines de la placa ESP32:
PIN GPIO | ENTRADA | SALIDA | descripción |
GPIO0 | arrancados | OK | Salida PWM en el arranque |
GPIO1 | pasador de transmisión | OK | Volcado de depuración en el arranque |
GPIO2 | OK | OK | LED a bordo |
GPIO3 | OK | pin prescrito | Alto en el arranque |
GPIO4 | OK | OK | – |
GPIO5 | OK | OK | Salida PWM en el arranque |
GPIO6 | – | – | pasador de flash SPI |
GPIO7 | – | – | pasador de flash SPI |
GPIO8 | – | – | pasador de flash SPI |
GPIO 9 | – | – | pasador de flash SPI |
GPIO10 | – | – | pasador de flash SPI |
GPIO11 | – | – | pasador de flash SPI |
GPIO12 | OK | OK | Fallo de arranque en tiro alto |
GPIO13 | OK | OK | – |
GPIO14 | OK | OK | Salida PWM en el arranque |
GPIO15 | OK | OK | Salida PWM en el arranque |
GPIO16 | OK | OK | – |
GPIO17 | OK | OK | – |
GPIO18 | OK | OK | – |
GPIO19 | OK | OK | – |
GPIO21 | OK | OK | – |
GPIO22 | OK | OK | – |
GPIO23 | OK | OK | – |
GPIO25 | OK | OK | – |
GPIO26 | OK | OK | – |
GPIO27 | OK | OK | – |
GPIO32 | OK | OK | – |
GPIO33 | OK | OK | – |
GPIO34 | OK | Solo entrada | |
GPIO35 | OK | Solo entrada | |
GPIO36 | OK | Solo entrada | |
GPIO39 | OK | Solo entrada |
aquí OK significa que el pin correspondiente se puede utilizar 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 entradas.
Mira esto:
Cómo controlar salidas digitales con pines digitales en ESP32
Como estamos programando ESP32 en Arduino IDE, usamos las mismas funciones para declarar un pin como salida que en la placa Arduino. Para configurar cualquier pin digital, necesitamos declararlo con como salida pinMode() Función. Se sigue la siguiente sintaxis: Aquí hemos declarado un pin GPIO como salida usando la función anterior para ahora controlar la salida digital que vamos a usar escritura digital() Función. escritura digital (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 a definir. El estado puede ser BAJO o ALTO. Como ya se explicó, podemos usar todos los pines de ESP32 como salida excepto GPIO 6 a 11 (Flash SPI) 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 necesitamos declarar el pin como entrada pinMode() Función. La siguiente es la sintaxis que define un pin como entrada: Una vez que el pin se establece como entrada, el siguiente paso es definirlo lectura digital() Función para obtener datos de este pin. Así es como puede definir un pin como una entrada digital. Todos los pines GPIO se pueden usar como entrada excepto los pines flash SPI 6 a 11.
Nota: Faltan los pines SPI Flash del 6 al 11 en la versión de 30 pines de la placa ESP32.
Cómo controlar el LED con lectura y escritura digital ESP32
Ahora, para aclarar el concepto de lectura y escritura digital en ESP32, tomemos un ejemplo de LED. Usamos un botón para controlar el LED. ESP32 lee datos digitalmente desde el botón pulsador y activa un LED con el comando de escritura digital.
Hardware requerido
La siguiente es la lista de componentes necesarios:
- ESP32
- LED
- 2 resistencias de 220 ohmios
- presionar el botón
- tablero de circuitos
- cables de puente
esquema
La siguiente imagen muestra la conexión de ESP32 con LED y botón. El LED está conectado a GPIO 14 y la salida del botón está conectada al pin GPIO 15.

Código para controlar entradas/salidas digitales ESP32
Abra el IDE de Arduino y seleccione la placa ESP32 y el puerto COM. Ahora cargue el código dado. const int Push_Button = 15; /* GPIO PIN 15 para pulsador */ const int LED_Pin = 14; /* GPIO PIN 14 para LED */ int Button_State = 0; configuración vacía () { Serial.begin (115200); pinMode(Pulsar_Botón, ENTRADA); /* Establecer el pin del botón como entrada digital */ pinMode(LED_Pin, OUTPUT); /*Configurar LED como salida digital*/}void loop() {Button_State = digitalRead(Push_Button); /* función para verificar el estado del botón */ Serial.println(Button_State); if (Button_State == HIGH) { /* Comprobar el estado del botón con la condición if */ digitalWrite(LED_Pin, HIGH); /* si el estado es ALTO, enciende el LED */ si no { digitalWrite(LED_Pin, LOW); /*De lo contrario, el LED permanece APAGADO*/}} Aquí, en el código anterior, comenzamos a inicializar el pin GPIO para el LED y el botón. A continuación, declaramos el LED como salida y el botón como entrada para leer datos. Para almacenar los datos leídos desde el botón de imprimir se define una variable y finalmente tenemos el resultado impreso en el monitor serial.
producción
En el hardware podemos ver que el LED está APAGADO.
Al presionar el botón de la placa ESP32 se acepta la entrada del botón y se establece el estado de salida del LED en ALTO. Ahora el LED se enciende.
También podemos ver los datos digitales leídos por el botón pulsador en el monitor serie de IDE.
Conclusión
Las placas ESP32 tienen múltiples pines digitales para entrada y salida. Aquí en este artículo hemos discutido estos pines y controlado un LED con el botón pulsador. Además, mencionamos que ciertos pines solo se pueden usar como entrada, mientras que algunos pines como SPI flash del 6 al 11 (placa ESP32 con 36 versiones) no se pueden usar como entrada o salida.
Deja una respuesta