ESP32 - Sensor de Sonido - Servomotor
En este tutorial, exploraremos cómo utilizar el sensor de sonido para controlar un servomotor. Específicamente, nos adentraremos en dos aplicaciones emocionantes:
- Interruptor de sonido: Cuando se detecta sonido (p. ej., un golpe), el ESP32 rota el servomotor a 90 grados si está en 0 grados, y a 0 grados si está en 90 grados.
- Relé activado por sonido: Al detectar sonido, el ESP32 rota el servomotor a 90 grados durante un período específico de tiempo, y luego regresa a 0 grados.
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 del servomotor y del sensor de sonido
Si no conoces el servomotor y el sensor de sonido (diagrama 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 ángulo del servomotor
El código a continuación alterna el ángulo del motor servo entre 0 y 90 grados cada vez que se detecta un sonido.
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 como se muestra 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.
- Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Escribe ESP32Servo en el cuadro de búsqueda, luego busca la biblioteca de servomotores de Kevin Harrington, John K. Bennett.
- Haz clic en el botón Instalar para instalar la biblioteca de servomotores para ESP32.

- Conecta ESP32 al PC mediante un cable USB
- Abre Arduino IDE, selecciona la placa correcta y el puerto correcto
- Copia el código anterior y ábrelo en Arduino IDE
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP32
- Aplaude frente al sensor de sonido
- Observa el cambio en el servomotor
Código ESP32 - Servomotor activado por sonido durante un período de tiempo
El código siguiente hace girar el servomotor a 90 grados durante un periodo de tiempo cuando se detecta el sonido. Después de ese periodo, el servomotor vuelve a 0 grados.
Por favor, tenga en cuenta que el código mencionado anteriormente utiliza la función delay() por simplicidad. Sin embargo, si incorporas código adicional, podría bloquearse durante el tiempo de retardo. Para abordar esto, el siguiente código implementa un enfoque no bloqueante usando la función millis() en lugar de delay para evitar el bloqueo.
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.