ESP32 - Sensor de sonido - LED
En este tutorial, exploraremos cómo utilizar el sensor de sonido para el control de LEDs. Específicamente, profundizaremos en dos aplicaciones emocionantes:
- Interruptor de sonido: Cuando se detecta sonido (p. ej. un golpe), el ESP32 alterna el LED, encendiéndolo si está apagado y apagándolo si está encendido.
- LED activado por sonido: Al detectar sonido, el ESP32 enciende el LED durante un periodo de tiempo específico.
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) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Acerca de LED y sensor de sonido
Si no conoces el LED y el sensor de sonido (disposición de pines, cómo funcionan, cómo programarlos ...), 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 alterna el LED
El código de abajo alterna el estado del LED cada vez que se detecta el sonido.
Pasos R\u00e1pidos
- Si esta 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 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 a tu 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 de Arduino IDE para subir el código al ESP32.

- Aplaude tu mano frente al sensor de sonido
- Observa el cambio en el estado del LED
Explicación del código
¡Lee la explicación línea por línea en las líneas de comentarios del código fuente!
Código ESP32 - LED activado por sonido durante un período de tiempo
El código a continuación enciende el LED durante un período de tiempo cuando se detecta el sonido. Después de ese período, el LED se apaga.
Tenga en cuenta que el código anterior utiliza la función delay(), la cual es fácil de entender. Sin embargo, cuando se añade código adicional, la función delay puede provocar problemas de bloqueo durante el período de retardo. Para superar esto, el código siguiente implementa un enfoque no bloqueante al utilizar la biblioteca ezLED. La biblioteca ezLED, que opera tras bastidores, utiliza la función millis() en lugar de delay para evitar bloqueos.
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 ESP32 al PC mediante un cable USB.
- Abre Arduino IDE, selecciona la placa adecuada y el puerto.
- Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “ezLED”, luego encuentra la biblioteca ezLED de ArduinoGetStarted.
- Haz clic en el botón Instalar para instalar la biblioteca ezLED.

- 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 LED
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.