“Del sonido a la acción: construye una alarma que se activa con un aplauso”

Crear tu propia alarma con sensor de sonido es muy sencillo, aquí te mostramos su funcionamiento y cómo puedes hacerlo ¡tu mism@!

Materiales:

  • 1 placa Arduino (Uno, Nano o similar)

  • 1 módulo sensor de sonido (ej. KY-038 o módulo con LM393)

  • 1 buzzer activo (zumbador) — si es pasivo, requiere un poco más de electrónica

  • 1 LED (opcional, para señal luminosa)

  • 1 resistencia 220 Ω (para el LED)

  • Cables jumper (macho-macho)

  • 1 protoboard (breadboard)

  • Cable USB para alimentar el Arduino (o fuente 5V)

  • (Opcional) una pequeña caja para el montaje

Esquema de conexión

  1. Sensor de sonido

    • VCC → 5V del Arduino

    • GND → GND del Arduino

    • OUT (o A0 si usas la salida analógica) → A0 (o D2 si prefieres lectura digital) del Arduino

  2. Buzzer

    • Pin positivo del buzzer → D8 del Arduino

    • Pin negativo del buzzer → GND del Arduino
      (Si tu buzzer consume más, usa un transistor; para un buzzer activo pequeño generalmente funciona directo.)

  3. LED (opcional)

    • Ánodo (pierna larga) → resistencia 220 Ω → D13 del Arduino

    • Cátodo (pierna corta) → GND

Nota: algunos módulos de sensor traen un potenciómetro para ajustar sensibilidad. Ubícalo con un destornillador pequeño.

Diagrama rápido (visual mental)

Sensor de sonido → Arduino (A0)
Arduino D8 → Buzzer
Arduino D13 → LED (con 220 Ω)
Alimentación 5V / GND común

Código Arduino (cópialo y pégalo tal cual en el IDE Arduino)

// Alarma activada por aplauso con apagado automático tras 10 segundos const int sensorPin = A0; // entrada analógica del sensor de sonido const int buzzerPin = 8; // salida al buzzer (activo) const int ledPin = 13; // salida al LED (opcional) int threshold = 350; // umbral de detección (ajustar según tu sensor) bool alarmaActiva = false; unsigned long tiempoActivacion = 0; const unsigned long duracionAlarma = 10000UL; // 10 segundos const unsigned long antiRebote = 500UL; // 0.5s para evitar re-detección inmediata unsigned long ultimoTrigger = 0; void setup() { pinMode(buzzerPin, OUTPUT); pinMode(ledPin, OUTPUT); digitalWrite(buzzerPin, LOW); digitalWrite(ledPin, LOW); Serial.begin(9600); } void loop() { int valorSensor = analogRead(sensorPin); // valor entre 0 y 1023 unsigned long ahora = millis(); // Mostrar lectura para ajustar umbral (puedes comentar esto en el montaje final) Serial.println(valorSensor); delay(30); // Si la alarma no está activa y el sensor detecta un pico por encima del umbral if (!alarmaActiva && (valorSensor >= threshold) && (ahora - ultimoTrigger > antiRebote)) { activarAlarma(); ultimoTrigger = ahora; } // Si la alarma está activa, revisar si ya pasó el tiempo para apagarla if (alarmaActiva && (ahora - tiempoActivacion >= duracionAlarma)) { desactivarAlarma(); } } void activarAlarma() { alarmaActiva = true; tiempoActivacion = millis(); digitalWrite(buzzerPin, HIGH); // enciende buzzer digitalWrite(ledPin, HIGH); // enciende LED (si lo hay) Serial.println("Alarma ACTIVADA"); } void desactivarAlarma() { alarmaActiva = false; digitalWrite(buzzerPin, LOW); // apaga buzzer digitalWrite(ledPin, LOW); // apaga LED Serial.println("Alarma DESACTIVADA"); }

Cómo ajustar la sensibilidad (pasos prácticos)

  1. Sube el código al Arduino y abre el Monitor Serial (baud 9600).

  2. Aplaude cerca del sensor y observa los números que aparecen.

    • Si los números llegan a, por ejemplo, 700 al aplaudir, pon el threshold unos 100–200 puntos por debajo (ej. 500–600) para asegurar detección.

    • Si el sensor se activa con ruido ambiental, sube el threshold.

  3. Si el módulo tiene un potenciómetro, ajústalo hasta que el sensor responda solo a aplausos.

Errores comunes y soluciones

  • No detecta aplausos: baja el threshold o acerca el sensor al punto donde se aplaude.

  • Se activa con ruido: sube el threshold o ajusta el potenciómetro del módulo.

  • Buzzer no suena: verifica conexiones y que el buzzer sea activo. Si usas un buzzer pasivo necesitarás generar tono con tone() o usar un transistor.

  • Activa repetidamente: aumenta el antiRebote o asegura una lógica que evite reactivaciones inmediatas.

Seguridad y buenas prácticas

  • Usa una fuente de alimentación estable (USB o 5V).

  • Si colocas todo en una caja, deja ventilación y no excedas la corriente del buzzer.

  • Si vas a conectar dispositivos de mayor consumo (sirenas, lámparas), usa relés o transistores y alimentaciones separadas.

Comentarios

Publicar un comentario