Acerca de este tutorial:
Conceptos básicos de ESP32
1. Introducción a ESP32
2. Entorno de desarrollo integrado ESP32 Arduino
3. Código VS y PlatformIO
4. pines ESP32
5. Entrada y salida ESP32 ☑
6. Modulación de ancho de pulso ESP32
7. Entrada analógica ESP32
8. Temporizador de interrupción ESP32
9 .ESP32 sueño profundo
Protocolo ESP32
servidor web ESP32
ESP32 LoRa
ESP32 BLE
ESP32 BLE Cliente-Servidor
Bluetooth ESP32
ESP32 MQTT
ESP32 ESP-AHORA
Wifi ESP32
ESP32 WebSocket
ESP32 ESP-MALLA
buzón ESP32
SMS ESP32
ESP32 HTTP obtener POST
HTTP GET Web API
API web HTTP POST
Artículos del servidor ESP32
¡Sigue actualizando, sigue a los bloggers y no te pierdas! ! !
Módulo sensor ESP32
¡Sigue actualizando, sigue a los bloggers y no te pierdas! ! !
Combate definitivo ESP32
Más de 100 proyectos prácticos ESP32, ¡presta atención! ! !
En esta guía de inicio, aprenderá a leer entradas digitales como interruptores de botón y controlar salidas digitales como LED utilizando el ESP32 con Arduino IDE.
requisitos previos
Programaremos el ESP32 utilizando el IDE de Arduino. Así que asegúrese de tener instalado el complemento de la placa ESP32 antes de continuar:
Salida digital de control ESP32
Primero, debe configurar el GPIO que desea controlar como una salida.Use la función pinmode() de la siguiente manera:
pinMode(GPIO, SALIDA);
Para controlar una salida digital, basta con utilizar la función digital write() , que acepta como parámetros un GPIO (número int) y un estado, ya sea alto o bajo .
escritura digital (GPIO, ESTADO);
Todos los GPIO se pueden usar como salidas, excepto los GPIO 6 a 11 (conectados a la memoria flash SPI integrada) y los GPIO 34, 35, 36 y 39 (GPIO solo de entrada);
Más información sobre ESP32 GPIO: Guía de referencia de ESP32 GPIO
ESP32 leer entrada digital
Primero, configure el GPIO para que se lea como una entrada , usando la función pinmode() de la siguiente manera:
pinMode(GPIO, ENTRADA);
Para leer una entrada digital, como un botón, puede usar la función digitalread() , que acepta como argumento el GPIO (entero) al que se refiere.
lectura digital (GPIO);
Todos los GPIO ESP32 se pueden usar como entradas, excepto GPIO 6 a 11 (conectado al flash SPI integrado).
Más información sobre ESP32 GPIO: Guía de referencia de ESP32 GPIO
Ejemplo de ingeniería
Para mostrarle cómo usar la entrada digital y la salida digital, crearemos un proyecto de ejemplo simple con un botón y un LED. Leeremos el estado del botón y encenderemos el LED en consecuencia como se muestra en la imagen a continuación.
diagrama esquemático
Antes de continuar, deberá ensamblar un circuito con un LED y un botón. Conectamos el LED a GPIO 5 y el botón a GPIO 4 .
partes requeridas
Aquí está la lista de piezas necesarias para construir el circuito:
ESP32 (lea las mejores placas de desarrollo ESP32)
5 mm LED
330 ohm
botón de resistencia
10k ohm resistencia
Breadboard
Jumper cables
el código
Copie el siguiente código en su IDE de Arduino.
// set pin numbers
const int buttonPin = 4; // the number of the pushbutton pin
const int ledPin = 5; // the number of the LED pin
// variable for storing the pushbutton status
int buttonState = 0;
void setup() {
Serial.begin(115200);
// initialize the pushbutton pin as an input
pinMode(buttonPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pushbutton value
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH
if (buttonState == HIGH) {
// turn LED on
digitalWrite(ledPin, HIGH);
} else {
// turn LED off
digitalWrite(ledPin, LOW);
}
}
Código detallado
En las siguientes dos líneas, crea variables para asignar pines:
const int buttonPin = 4;
const int ledPin = 5;
El botón está conectado a GPIO 4 y el LED está conectado a GPIO 5. Al usar Arduino IDE con ESP32, 4 corresponde a GPIO 4 y 5 corresponde a GPIO 5 .
A continuación, crea una variable para mantener el estado del botón. Por defecto es 0 (no presionado).
int buttonState = 0;
Dentro de steup() , inicializas el botón como entrada y el LED como salida . Para hacer esto, usas pinmode() para aceptar la función del pin al que te refieres y el modo: entrada o salida .
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Inside loop() es donde lee el estado del botón y configura el LED en consecuencia.
En la siguiente línea, lee el estado del botón y lo guarda en el estado del botón cambiable. Como hemos visto antes, usas la función number read() .
buttonState = digitalRead(buttonPin);
La siguiente instrucción if verifica si el estado del botón es HIGH .Si es así, utiliza la función digitalWrite() que acepta como parámetros LEDPin y el estado HIGH .
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
Si el estado del botón no es alto , apaga el LED. Simplemente establezca el número bajo como el segundo argumento de la función write() .
else {
digitalWrite(ledPin, LOW);
}
cargar código
Antes de hacer clic en el botón de carga, vaya a Herramientas > Tableros y seleccione el tablero que está utilizando.
Vaya a Herramientas > Puertos y seleccione el puerto COM al que está conectado el ESP32. Luego, presione el botón de carga y espere el mensaje " carga completa ".
Si ve muchos puntos (…__…__) y el mensaje "Error al conectarse a ESP32: se agotó el tiempo de espera del encabezado del paquete" en la ventana de depuración, significa que debe presionar el botón de ARRANQUE incorporado de ESP32 después de que comiencen a aparecer los puntos. .
demostración
Después de cargar el código, pruebe su circuito. Cuando presiona el botón, su LED debe encenderse:
Cierra cuando lo sueltes:
Resumir
Con esta guía de introducción, aprendió a leer entradas digitales y controlar salidas digitales con el ESP32 utilizando el IDE de Arduino.