ESP32 - Relé conmutado por pulsador
Este tutorial explica cómo usar el ESP32 para alternar el estado de un relé entre ENCENDIDO y APAGADO cuando se presiona un botón. Más específicamente:
- Si se pulsa el botón, enciende el relé.
- Si se pulsa de nuevo el botón, apaga el relé.
- El proceso anterior se repite una y otra vez.
El código del ESP32 contiene código para un botón que conmuta un relé sin y con antirrebote.
Podemos ampliar este tutorial para usar un botón que cambie el estado de una solenoide, un ventilador, una bombilla o un actuador... al conectarlos al relé.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de Relé y Botón
Tenemos tutoriales específicos sobre relés y botones. Cada tutorial contiene información detallada y instrucciones paso a paso sobre la asignación de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32... Obtén más información sobre ellos en los siguientes enlaces:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Código ESP32 - El botón conmutará el relé sin rebote
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en el IDE de Arduino.
- Realiza el cableado tal como se ve en la imagen anterior.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Copia el código anterior y pégalo en el IDE de Arduino.
- Compila y sube el código a la placa ESP32 haciendo clic en el botón Upload en el IDE de Arduino.
- Mantén presionado el botón durante varios segundos y luego suéltalo.
- Observa el cambio en el estado del relé.
Traduce el contenido que se muestra a continuación del inglés al español, devuelve solo el resultado:
Explicación del código línea por línea
El código ESP32 anterior contiene una explicación línea por línea. Por favor, lea los comentarios en el código.
En el código, relay_state = !relay_state es equivalente al siguiente código:
※ Nota:
El código anterior no incluye la lógica de rebote para el botón. Sin la implementación de rebote para el botón, pueden ocurrir comportamientos inesperados. Ver Por qué se necesita el rebote para el botón. La detección de rebote para el botón es complicada para los principiantes. Afortunadamente, la biblioteca ezButton realiza la detección de rebote del botón por nosotros.
Código ESP32 - Botón que alterna el relé con rebote
Pasos R\u00e1pidos
- Si es la primera vez que usa ESP32, vea cómo configurar el entorno para ESP32 en Arduino IDE.
- Instale la biblioteca ezButton. Vea Cómo hacerlo
- Copie el código anterior y péguelo en el IDE de Arduino.
- Compile y suba el código a la placa ESP32 haciendo clic en el botón Subir en el IDE de Arduino.
- Pulse el botón varias veces.
- Observe el cambio en el estado del relé.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.