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.

Contenidos

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.

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

Tu dirección de correo electrónico no será publicada.