ESP32 - Sensor de sonido - Relé
En este tutorial, exploraremos cómo utilizar el sensor de sonido para controlar un relé. Específicamente, profundizaremos en dos aplicaciones emocionantes:
- Interruptor de sonido: Cuando se detecta sonido (p. ej. un golpe), el ESP32 conmutará el relé, encendiéndolo si está apagado y apagándolo si está encendido.
- Relé activado por sonido: Al detectar sonido, el ESP32 enciende el relé durante un período de tiempo específico.
Conectando el relé a una bombilla, una tira de LEDs, un motor o un actuador... Podemos usar el sensor de sonido para controlar la bombilla, la tira de LEDs, el motor o el actuador...
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 Sensor de Sonido
Si no conoces el relé y el sensor de sonido (disposición de pines, cómo funciona, cómo programarlo...), aprende sobre ellos en los siguientes tutoriales:
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 interruptor de sonido conmuta el relé.
El código a continuación alterna el estado del relé cada vez que se detecta el sonido.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado como en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre Arduino IDE en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Conecta la placa ESP32 al PC mediante un cable USB.
- Abre Arduino IDE, selecciona la placa y el puerto correctos.
- Copia el código anterior y ábrelo con Arduino IDE.
- Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32.

- Aplaude frente al sensor de sonido
- Observa el cambio en el estado del relé
Explicación del código
Lee la explicación línea por línea en las líneas de comentario del código fuente.
Código ESP32 - Relé activado por sonido durante un período de tiempo
El código siguiente enciende el relé durante un período de tiempo cuando se detecta un sonido. Después de ese período, el relé se apaga.
Tenga en cuenta que el código mencionado anteriormente utiliza la función delay() por simplicidad. Sin embargo, si incorpora código adicional, podría bloquearse durante el tiempo de retardo. Para abordar esto, el siguiente código implementa un enfoque no bloqueante utilizando la biblioteca ezLED. Detrás de escena, la biblioteca ezLED emplea la función millis() en lugar de delay para evitar bloquearse.
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Realiza el cableado tal como se muestra en la imagen de arriba.
- Conecta la placa ESP32 a tu PC mediante un cable USB micro.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa ESP32 adecuada (p. ej., ESP32 Dev Module) y el puerto COM.
- Conecta la placa ESP32 al PC mediante un cable USB.
- Abre el IDE de Arduino, selecciona la placa y el puerto correcto.
- Haz clic en el icono Libraries en la barra izquierda del Arduino IDE.
- Busca “ezLED”, luego encuentra la librería ezLED de ArduinoGetStarted.
- Haz clic en el botón Install para instalar la librería ezLED.

- Copia el código anterior y ábrelo con el IDE de Arduino
- Haz clic en el botón Subir en el IDE de Arduino para cargar el código en el ESP32

- Aplaude frente al sensor de sonido
- Observa 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.