Arduino Nano ESP32 - Sensor de Sonido

El sensor de sonido tiene la capacidad de detectar la presencia de sonido en su entorno. Se puede utilizar para crear proyectos modernos que respondan al sonido, como luces que se activan con un aplauso o un alimentador automático para mascotas que responde al sonido.

En este tutorial, aprenderemos cómo usar el Arduino Nano ESP32 y un sensor de sonido para detectar sonido. Profundizaremos en lo siguiente:

Sensor de sonido para Arduino Nano ESP32

A continuación, tienes la flexibilidad de modificar el código para activar un LED o una luz (usando un relé) al detectar sonido, o incluso habilitar que un servomotor gire.

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Sonido Digital
1×Sensor de Sonido Analógico
1×Protoboard
1×Cables Puente
1×(Opcional) 5V Power Adapter for ESP8266
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 ESP32

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ódulo de sensor de sonido:

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

La sensibilidad de la salida digital puede ser ajustada utilizando un potenciómetro integrado.

El pinout del sensor de sonido digital

El sensor de sonido incluye tres pines:

  • Pin VCC: debe conectarse a VCC (3.3V a 5V)
  • Pin GND: debe conectarse a GND (0V)
  • Pin OUT: es un pin de salida: ALTO si no hay sonido y BAJO si se detecta sonido. Este pin debe conectarse al pin de entrada del ESP32.
Esquema de pines del sensor de sonido
image source: diyables.io

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

  • Un indicador LED muestra el estado de la alimentación.
  • Otro indicador LED indica el estado del sonido, encendiéndose cuando se detecta un sonido y apagándose cuando está en silencio.

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: HIGH si está en silencio y LOW si se detecta sonido. Este pin debe conectarse al pin de entrada digital del Arduino Nano ESP32.
  • AO pin: es un pin de salida analógica: proporciona el valor analógico que indica el nivel de sonido. Este pin debe conectarse al pin de entrada analógica del Arduino Nano ESP32.
Diagrama de pines del sensor de sonido analógico
image source: diyables.io

Cómo funciona

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

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

Diagrama de Cableado

Diagrama de cableado del sensor de sonido para Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Cómo programar para un sensor de sonido

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

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

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-sound-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the OUT pin of the sound sensor int prev_sound_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 ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the ESP32's input pin sound_state = digitalRead(SENSOR_PIN); if (prev_sound_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_sound_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_sound_state = sound_state; }

Pasos R\u00e1pidos

  • Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
  • 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 Arduino Nano ESP32
  • Aplaude frente al sensor de sonido
  • Consulta el resultado en el Monitor Serie.
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 estado del LED permanece encendido o apagado de forma constante, incluso cuando hay sonido presente, es posible que necesite ajustar el potenciómetro para afinar la sensibilidad del sensor de sonido.

Ahora tenemos la libertad de 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 de acuerdo con la entrada de sonido. Para una guía más detallada e instrucciones paso a paso, puedes consultar los tutoriales proporcionados al final de este tutorial.

Solución de problemas

Si encuentra algún problema con la funcionalidad del sensor de sonido, por favor considere los siguientes pasos para solucionar problemas:

  • Reduce las vibraciones: Las vibraciones mecánicas y el ruido del viento pueden afectar el rendimiento del sensor de sonido. Para minimizar estas perturbaciones, pruebe montar el sensor de sonido sobre una superficie estable.
  • Considere el alcance de detección: Tenga en cuenta que este sensor de sonido en particular tiene un rango de detección limitado de aproximadamente 10 pulgadas. Para lecturas precisas, intente producir sonido 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 ruido, ya que el sensor de sonido es sensible a interferencias de la fuente de alimentación debido a su naturaleza analógica.

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!