Arduino - 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:
- Conmutador de sonido: Cuando se detecta sonido (por ejemplo, un golpe), el Arduino gira el servomotor a 90 grados si está a 0 grados, y a 0 grados si está a 90 grados.
- Relé activado por sonido: Al detectar sonido, el Arduino gira el servomotor a 90 grados durante un periodo de tiempo específico y luego vuelve a 0 grados.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre el servomotor y el sensor de sonido
Si no conoces el servomotor 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
Código de Arduino - El interruptor de sonido cambia el ángulo del servomotor
El código a continuación alterna el ángulo del servomotor entre 0 y 90 grados cada vez que se detecta el sonido.
Pasos R\u00e1pidos
- Conecta Arduino 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 cargar el código en Arduino
- Da palmadas frente al sensor de sonido
- Observa el cambio del servomotor
Código de Arduino - servomotor activado por sonido durante un período de tiempo
El código que se muestra a continuación hace girar el servomotor a 90 grados durante un periodo de tiempo cuando se detecta el sonido. Después de ese periodo, el servomotor regresa a 0 grados.
Por favor, 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 código siguiente implementa un enfoque no bloqueante utilizando la función millis() en lugar de delay para evitar bloqueos.
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.