Control de un LED con aplausos utilizando Arduino y el micrófono KY-038

En la intersección de la domótica y la electrónica para aficionados, el control de dispositivos mediante el sonido se erige como uno de los proyectos más atractivos y didácticos. Este artículo se sumerge en el diseño y la implementación de un interruptor de luz activado por aplausos, una solución ingeniosa que utiliza el módulo sensor de sonido KY-038 y una placa Arduino para alternar el estado de un LED con un simple chasquido o palmada. Es una introducción fascinante a la electrónica interactiva y al procesamiento básico de señales.



🔩Funcionamiento

El sensor KY-038 detecta el sonido producido por un aplauso y envía una señal digital o analógica al Arduino. Basándose en esta señal, el Arduino alterna el estado del LED: si está apagado, lo enciende, y si está encendido, lo apaga. Esto hace posible el control del LED únicamente con sonidos específicos como aplausos.

El KY-038 como Oído Electrónico

El corazón de este proyecto es el Módulo Sensor de Sonido KY-038 (también conocido como módulo de micrófono). Su función principal es actuar como un transductor, convirtiendo las ondas sonoras del ambiente en una señal eléctrica que puede ser interpretada por un microcontrolador.

Componentes del Módulo KY-038

El KY-038}$ es más que un simple micrófono. Contiene:

  1. Micrófono Electret: Capta las vibraciones sonoras y las convierte en una pequeña señal de voltaje analógica.
  2. Amplificador Operacional: Aumenta la débil señal del micrófono a un nivel útil.
  3. Chip Comparador (Generalmente LM393): Esta es la clave para la detección digital. El comparador se encarga de contrastar la señal amplificada del micrófono con un voltaje de referencia (umbral).
  4. Potenciómetro (Preset): Permite al usuario ajustar el umbral de sonido necesario para activar la salida digital. Al girar este componente, se define la “sensibilidad” del sensor.
  5. Salida Digital (D0): Se activa (HIGH) cuando el sonido detectado supera el umbral preajustado. Esta es la salida que usaremos para nuestro interruptor.
  6. Salida Analógica (A0): Proporciona la señal de audio en bruto (amplificada) para una lectura de intensidad más detallada, aunque no es estrictamente necesaria para la función de encendido/apagado simple.
El Principio del Interruptor de Aplausos

El objetivo es lograr un comportamiento de alternancia (toggle): un aplauso enciende el LED, el siguiente lo apaga. Para evitar que un solo aplauso, que es un evento sonoro que dura unas milésimas de segundo, active y desactive el LED repetidamente (un fenómeno conocido como rebote o flaneo), se requiere una lógica de software que introduzca una pequeña pausa o retardo temporal (debounce) después de la detección.


🔨Componentes

ComponenteCantidadEspecificaciónFunción
Placa Arduino1Arduino Uno, Nano, etc.Control de componentes(cerebro)
Micrófono 1KY-038.Detectará el sonido
LED1BlancoIluminar al detectar sonido
Resistencia1330Limitar corriente
Cables de conexiónnUnir componentes


🔌Conexiones

  • Conexiones del micrófono KY18038:
    • VCC al pin de 5V del Arduino.
    • GND al pin GND del Arduino.
    • A0 (o D0) conectado al pin definido en el código (en este caso A0).
  • Conexiones del LED:
    • El ánodo del LED conectado al pin definido en el código (en este caso el pin 8) a través de una resistencia de 220 ohmios.
    • El cátodo conectado a GND.

0️⃣Código

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <Arduino.h>

// Configuración de pines
int sensorPin = 2;  // Pin digital conectado al KY-038
int ledPin = 8;     // Pin digital conectado al relé
int estadoLed = 0;    // Estado del ked: 0 = apagado, 1 = encendido
int value;

void setup() {
  pinMode(ledPin, OUTPUT);     // Configurar el pin del relé como salida
  pinMode(sensorPin, INPUT);
  
  digitalWrite(ledPin, LOW);   // Inicializar el relé apagado

  Serial.begin(9600);           // Comunicación serial para depuración
}

void loop() {
  value = digitalRead(sensorPin);
  
   if(value == HIGH){
    estadoLed = digitalRead(ledPin);
    digitalWrite(ledPin, !estadoLed);
    delay(500);
   }
}

NOTAS IMPORTANTES:

  • Ajustar el umbral de detección: Si el sistema no responde correctamente al aplauso, puedes ajustar el valor del umbral (umbral) en el trimmer del micrófono. Esto depende del nivel de ruido ambiental y la sensibilidad del micrófono.
  • Uso del monitor serial: Utiliza el monitor serial para observar los valores de sonido capturados por el micrófono y determinar el mejor umbral(conecta el pin analógico del micrófono al pin A0 del arduno).
  • Modificaciones: Puedes expandir el proyecto para incluir múltiples LEDs, diferentes patrones de encendido o incluso combinarlo con otros sensores.


🖌️Diseños


🎬Videos


📑Conclusión

El proyecto de creación de un interruptor de luz activado por aplausos, utilizando el sensor KY-038 y una placa Arduino, demuestra con éxito la aplicación de la electrónica interactiva y la lógica de programación para el control de dispositivos. El éxito del sistema se basa en tres pilares fundamentales: la calibración precisa del sensor KY-038 para filtrar el ruido ambiental, la implementación de una lógica de detección de flanco en el código para identificar el momento exacto del aplauso, y la utilización de una técnica de control de rebote (debounce) para asegurar que cada aplauso active la función de alternancia (toggle) de manera única y estable. El resultado es un sistema funcional y accesible que transforma un evento acústico transitorio en una orden de control binaria (encendido/apagado), sentando una base sólida para futuros proyectos de automatización y domótica basados en comandos de voz o sonido.


Deja un comentario

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

Carrito de compra