Arduino Nano - Sensor de sonido

El sensor de sonido tiene la capacidad de detectar la presencia de sonido en su entorno. Se puede emplear para crear proyectos que respondan al sonido, como luces que se activan con un aplauso o un alimentador de mascotas que responde a señales sonoras.

Este tutorial te enseña cómo usar el Arduino Nano y un sensor de sonido para detectar sonido. Exploraremos:

Sensor de sonido para Arduino Nano

Posteriormente, tienes la flexibilidad de modificar el código para activar un LED o una luz (a través de un relé) al detectar sonido, o incluso habilitar la rotación de un servomotor.

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Sonido Digital
1×Sensor de Sonido Analógico
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de sonido

El sensor de sonido puede usarse para detectar el sonido en el entorno circundante. Hay dos tipos de módulos de sensor de sonido:

  • Módulo sensor de sonido digital: proporciona el valor de la señal digital (ON/OFF)
  • Módulo sensor de sonido analógico: proporciona tanto el valor de la señal analógica como el valor de la señal digital

La sensibilidad de la salida digital puede ajustarse mediante un potenciómetro integrado.

Pinout del sensor de sonido digital

El sensor de sonido incluye tres pines:

  • Pin VCC: debe estar conectado a VCC (3.3V a 5V)
  • Pin GND: debe estar conectado a GND (0V)
  • Pin OUT: es un pin de salida: ALTO si está en silencio y BAJO si se detecta sonido. Este pin debe estar conectado al pin de entrada del Arduino Nano.
Disposición de pines del sensor de sonido
image source: diyables.io

El sensor de sonido tiene un potenciómetro integrado muy práctico que te permite ajustar fácilmente su sensibilidad. Además, cuenta con dos indicadores LED:

  • Un LED indica el estado de la alimentación.
  • El otro LED indica el estado del sonido: se enciende cuando hay sonido y se apaga cuando está en silencio.

El pinout del sensor de sonido analógico

El sensor de sonido analógico incluye cuatro pines:

  • + pin: debe conectarse a 5V
  • G pin: debe conectarse a GND (0V)
  • DO pin: es un pin de salida digital: ALTO si está en silencio y BAJO si se detecta sonido. Este pin debe conectarse al pin de entrada digital del Arduino Nano.
  • AO pin: es un pin de salida analógica: emite el valor analógico que indica el nivel de sonido. Este pin debe conectarse al pin de entrada analógica del Arduino Nano.
Diagrama de pines del sensor de sonido analógico
image source: diyables.io

Cómo funciona

El módulo de sensor de sonido incluye un práctico potenciómetro incorporado que permite ajustar la sensibilidad al sonido. Así es como se comporta la salida del pin del sensor:

  • Cuando se detecta sonido, el pin de salida se establece en BAJO.
  • Cuando no se detecta sonido, el pin de salida se establece en ALTO.

Diagrama de Cableado

Diagrama de cableado del sensor de sonido para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Cómo programar para el sensor de sonido

  • Inicializa el pin del Arduino Nano en modo de entrada digital utilizando la función pinMode(). Por ejemplo, el pin D2.
pinMode(2, INPUT);
  • Lee el estado del pin del Arduino Nano usando la función digitalRead().
int soundState = digitalRead(2);

Código de Arduino Nano - Detección del sonido

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-sound-sensor */ #define SENSOR_PIN 2 // The Arduino Nano pin D2 connected to the OUT pin of the sound sensor int prev_state = HIGH; // The previous state from the input pin int sound_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the Arduino Nano's input pin sound_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_state = sound_state; }

Pasos R\u00e1pidos

  • 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 Arduino Nano
  • Aplaude frente al sensor de sonido
  • Ver el resultado en el Monitor Serial
COM6
Send
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Por favor, tenga en cuenta que si nota que el LED permanece encendido o apagado de forma constante, incluso cuando hay sonido presente, puede realizar ajustes al potenciómetro para afinar la sensibilidad al sonido del sensor.

Ahora tenemos la flexibilidad para personalizar el código y hacer que se active un LED o una luz cuando se detecta sonido. Incluso podemos hacer que un servomotor gire. Para obtener información más detallada y instrucciones paso a paso, por favor consulte los tutoriales proporcionados al final de esta guía.

Resolución de problemas

Si encuentra problemas con el sensor de sonido que no funciona correctamente, puede seguir estos pasos para la resolución de problemas:

  • Reduzca vibraciones: El sensor de sonido es sensible a vibraciones mecánicas y al ruido del viento. Para minimizar estas perturbaciones, intente montar el sensor de sonido en una superficie estable.
  • Considere el rango de detección: Tenga en cuenta que este sensor de sonido tiene un rango de detección limitado de aproximadamente 10 pulgadas. Para lecturas precisas, asegúrese de que la fuente de sonido esté más cerca del sensor.
  • Verifique la fuente de alimentación: Asegúrese de que la fuente de alimentación esté limpia y libre de ruidos. El sensor de sonido, al ser un circuito analógico, es sensible a las perturbaciones de la fuente de alimentación.

Al seguir estos pasos, puedes resolver los problemas comunes y mejorar el rendimiento del sensor de sonido.

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.

Referencias de funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!