Sensor de sonido ky-038 Arduino

Veamos el sensor de sonido Arduino ky-038, cómo conectar el sensor de sonido al microcontrolador Arduino Uno. Veamos el programa para encender automáticamente la luz de las palmas, el circuito y el programa para el contador de ruido con la salida del módulo de sonido ky-037 (ky-038) en el puerto serie de monitorización del Arduino IDE. Considere el uso del tipo de datos boolean, que se utiliza a menudo en el lenguaje C++.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensor de sonido ky-038;
  • placa de pruebas;
  • LEDs y resistencias de 220 Ohm;
  • cables de conexion.

Funcionamiento del sensor de sonido Arduino

El sensor de sonido Arduino (datasheet)
El sensor de sonido Arduino ky-038 (datasheet)

El sensor Arduino ky-037 (ky-038) consta de una placa (ver imagen superior) con puertos de conexión al Arduino Nano, un amplificador de sonido, un trimmer y un micrófono electrónico sensible a los sonidos procedentes de todas las direcciones. Mediante el control de sensibilidad (resistencia variable), puedes ajustar la sensibilidad del micrófono y elegir a qué nivel de ruido se activará el sensor de sonido Arduino Uno / Nano.

Esta placa de extensión para el Arduino permite traducir las ondas sonoras en una señal digital. Cuando el diafragma del micrófono oscila debido a las ondas sonoras, la capacitancia de su condensador cambia, lo que provoca un cambio de voltaje en las salidas del sensor de sonido Arduino ky-038 (ky-037) correspondiente a la señal sonora. El módulo ky-038 de la izquierda en la imagen puede enviar tanto una señal digital como analógica.

Cómo conectar el sensor de sonido Arduino

Cómo conectar un sensor de sonido Arduino ky-038
Cómo conectar un sensor de sonido Arduino ky-038

El sensor de sonido de Arduino tiene salidas firmadas en la placa (la designación puede ser diferente para cada fabricante), pero no deberías tener problemas para conectar el sensor al Arduino. El sensor se alimenta con 5V, la salida (OUT, S o AO) se conecta a cualquier entrada analógica del Arduino Uno, y la salida DO al pin 2 si se quiere obtener una señal digital para el Arduino desde el micrófono.

Programa Arduino sensor de sonido ky-038

#define RED 10
#define ORG 11
#define GRN 12

#define SOUND A1

void setup() {
   Serial.begin(9600);
   pinMode(GRN, OUTPUT);
   pinMode(ORG, OUTPUT);
   pinMode(RED, OUTPUT);
   pinMode(SOUND, INPUT);
}

void loop() {
   Serial.println(analogRead(SOUND));
  
   if(analogRead(SOUND) < 50) {
      digitalWrite(GRN, HIGH);
      digitalWrite(ORG, LOW);
      digitalWrite(RED, LOW);
   }

   if(analogRead(SOUND) > 50 and analogRead(SOUND) < 100) {
      digitalWrite(GRN, HIGH);
      digitalWrite(ORG, HIGH);
      digitalWrite(RED, LOW);
   }

   if(analogRead(SOUND) > 100) {
      digitalWrite(GRN, HIGH);
      digitalWrite(ORG, HIGH);
      digitalWrite(RED, HIGH);
   }

      delay(50);
}

Explicación del código del sensor de sonido ky-038:

  1. los LEDs se iluminan en función del nivel de ruido de la habitación;
  2. los niveles de activación de los LEDs se pueden modificar en el programa.
Cómo conectar un sensor de sonido ky-037
Cómo conectar un sensor de sonido Arduino ky-037

Para hacer una lámpara artesanal que se ilumine dando palmas, necesitas montar un circuito eléctrico con los siguientes elementos: un LED con una resistencia, una placa Arduino y un sensor de sonido ky-037 para encender la lámpara con tus propias manos. El LED se puede conectar a cualquier salida, nosotros hemos utilizado el pin 12. Después de montar el circuito, conecta el Arduino Uno a tu ordenador y descarga el programa.

Programa Arduino encender las luces escribiendo

#define LED 12
#define SOUND 2

boolean statuslamp = false;

void setup() {
   Serial.begin(9600);
   pinMode(LED, OUTPUT);
   pinMode(SOUND, INPUT);
}

void loop() {
   Serial.println(digitalRead(SOUND));
  
   if(digitalRead(SOUND) == HIGH) {
      statuslamp=!statuslamp;
      digitalWrite(LED, statuslamp);
      delay(50);
   }
}

Explicación del código encender las luces escribiendo:

  1. boolean se utiliza para declarar valores booleanos (verdadero/falso) en el lenguaje de programación C++;
  2. en la línea statuslamp=!statuslamp; cambiamos el estado de la lámpara.



Conclusión. Este módulo integra un micrófono electret así como una electrónica de a bordo que permite 2 salidas (analógica y digital) para detectar los sonidos ambientales desde un Arduino o un módulo compatible (no suministrado). La salida digital ofrece un estado alto o bajo en función del umbral de ruido ambiental, mientras que la salida analógica ofrece una tensión que varía en tiempo real en función del ruido.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *