Alarma de Llama con Arduino Uno

Este proyecto tiene como objetivo construir un sistema de alerta temprana simple y efectivo para detectar la presencia de una llama o una fuente de calor infrarrojo (IR) intensa. Utilizaremos la plataforma de desarrollo Arduino Uno como el cerebro del sistema, un Sensor de Llama KY-026 para la detección, y un Buzzer Activo KY-012 para la señalización sonora de la alarma.



🔩Funcionamiento

Arduino Uno

El Arduino Uno es una placa de microcontrolador basada en el chip ATmega328P. Es ideal para proyectos de electrónica debido a su facilidad de uso, su entorno de desarrollo simple y su amplia comunidad. En este proyecto, usaremos sus pines digitales para leer la señal del sensor y activar el buzzer.

Sensor de Llama KY-026

El módulo KY-026 contiene un sensor de infrarrojos (IR) que es altamente sensible a la longitud de onda de luz emitida por una llama (típicamente entre 760 nm y 1100 nm).

Ajuste: El módulo incluye un potenciómetro que permite ajustar la sensibilidad de la salida digital (D0).

Salidas: Posee dos tipos de salidas:

Salida Analógica (A0/AO): Proporciona un valor variable que indica la intensidad de la llama detectada.

Salida Digital (D0/DO): Proporciona un valor ALTO (HIGH) o BAJO (LOW) binario, indicando si la llama está o no por encima de un umbral preestablecido (ajustable con el potenciómetro del módulo).

El Actuador: Buzzer Activo

Se elige un buzzer activo sobre uno pasivo por su simplicidad en este tipo de alarma.

  • Funcionamiento: El buzzer activo contiene un oscilador interno. A diferencia del buzzer pasivo que requiere una señal de frecuencia (PWM) para generar tono, el activo solo necesita ser alimentado con 5V (mediante una señal HIGH) para emitir inmediatamente un sonido agudo y continuo a una frecuencia fija.
  • Ventaja en Alarmas: Su simplicidad se traduce en un código binario: si hay gas, HIGH (Alarma); si no hay gas, LOW (Silencio).

🔨Componentes

ComponenteCantidadEspecificaciónFunción
Placa Arduino1Arduino Uno, Nano, etc.Control de componentes(cerebro)
Sensor de llama1KY-026Detectar fuego
Buzzer1Activo(KY-012)Emitir una alerta
Cables de conexiónnUnir los componentes


🔌Conexiones

Conexión del Sensor de llama(KY-026)

Sensor de llama(KY-026) PinArduino Pin
GNDGND
VCC5V
D0D2

Conexión del Buzzer activo(KY-012)

Buzzer activo(KY-012) PinArduino Pin
GNDGND
VCC5V
SeñalD8

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <Arduino.h>

// Definición de pines
const int sensorLlamaPin = 2; // Conexión del pin DO del KY-026 al pin digital 2 de Arduino
const int buzzerPin = 8;      // Conexión del pin S del KY-012 al pin digital 8 de Arduino

// Variables
int estadoLlama = HIGH; // Variable para almacenar la lectura del sensor (inicia en HIGH/No hay llama)

void setup() {
  // Inicializar el pin del sensor de llama como entrada
  pinMode(sensorLlamaPin, INPUT);
  
  // Inicializar el pin del buzzer como salida
  pinMode(buzzerPin, OUTPUT);
  
  // Inicializar la comunicación serial para depuración
  Serial.begin(9600);
  Serial.println("Alarma de Llama Inicializada");
}

void loop() {
  // Leer el estado del sensor de llama
  // ATENCIÓN: El KY-026 típicamente da LOW cuando DETECTA una llama/IR, y HIGH cuando NO la detecta.
  estadoLlama = digitalRead(sensorLlamaPin);
  
  // Condición de Alarma
  if (estadoLlama == LOW) {
    // No se detecta llama
    Serial.println("¡¡¡LLAMA NO DETECTADA!!! - Buzzer OFF");
    digitalWrite(buzzerPin, LOW); // Desactivar el buzzer
    // Solo imprimir si no hay alarma para no saturar el serial
    // Serial.println("Todo Normal - Buzzer OFF"); 
  } else {    
    // Se ha detectado una llama
    digitalWrite(buzzerPin, HIGH); // Activar el buzzer
    Serial.println("¡¡¡ALERTA DE LLAMA DETECTADA!!! - Buzzer ON");
  }
  
  // Pequeña pausa para evitar lecturas demasiado rápidas
  delay(100); 
}


🖌️Diseños


🎬Videos


📑Conclusión

El proyecto de la Alarma de Llama con Arduino Uno demuestra de manera práctica cómo se pueden integrar sensores digitales básicos para crear un sistema de monitoreo de seguridad funcional y de bajo costo. Logramos configurar con éxito el Sensor de Llama KY-026 para detectar la radiación IR característica de una fuente de fuego, y usamos el Buzzer Activo KY-012 como un indicador de alerta inmediato.

La clave del éxito del proyecto reside en la calibración precisa del umbral del sensor de llama, lo que permite diferenciar de forma fiable entre la luz ambiental y la presencia real de una llama. Este ejercicio no solo refuerza las habilidades en programación de Arduino y cableado de circuitos, sino que también ilustra el principio fundamental de los sistemas de detección binarios (ON/OFF).

✨ Posibles Mejoras Futuras

Para llevar este proyecto a un nivel más avanzado, se pueden considerar las siguientes mejoras:

  • Indicador Visual: Añadir un LED (verde para normal, rojo para alarma) para una retroalimentación visual.
  • Alarma No Latching: Implementar lógica en el código para que el buzzer no suene indefinidamente, sino en un patrón intermitente (por ejemplo, 1 segundo ON, 1 segundo OFF), utilizando la función tone() para un control más fino del sonido.
  • Monitoreo Analógico: En lugar de solo usar la salida digital, leer el pin analógico (A0) del KY-026. Esto permitiría medir la intensidad de la llama y establecer diferentes niveles de alarma (por ejemplo, advertencia si la intensidad es baja, alarma crítica si la intensidad es alta).
  • Conectividad: Integrar un módulo Wi-Fi (como ESP8266) para enviar una notificación (por ejemplo, a un teléfono móvil o correo electrónico) cuando se active la alarma.

En resumen, esta alarma de llama es un excelente punto de partida para adentrarse en la electrónica de seguridad y control con microcontroladores.


Deja un comentario

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

Carrito de compra