Detector de incendios con Arduino y el sensor KY-026
| Actualizado:
Comentarios: 0

El módulo KY-026 es un sensor de llama que permite detectar un fuego gracias a un sensor óptico sensible a la radiación emitida por la llama. El sensor puede detectar fuentes de luz en el rango de una longitud de onda entre 760 nm a 1100 nm. El ángulo de detección es de 60º y la distancia de detección entre 40 y 80 cm.
Es un módulo barato que puede ser influenciado por la iluminación interior, por tanto, la fiabilidad y sensibilidad de este sensor no permiten considerarlo como un dispositivo de seguridad auténtico, pero sí nos vale para realizar experimentos con él. Tales como encender un LED o hacer sonar una alarma al detectar la llama de un mechero o de una vela.
Este módulo tiene una salida digital y otra analógica, y consta de un potenciómetro para ajustar su sensibilidad.
Indice:
Contenido
Para probar el funcionamiento del sensor
Diagrama de conexión:
Conectar la salida analógica de la placa (A0) al pin A0 del Arduino, cable de color fucsia. La salida digital (D0) al pin 3 del Arduino, cable color amarillo. Conectamos el cable de alimentación, rojo, y el cable de tierra, negro.

Còdigo:
int led = 13; // LED de la placa arduino
int digitalPin = 2; // Pin digital del módulo
int analogPin = A0; // Pin analógico del módulo
int digitalVal; // valor digital
int analogVal; // valor analógico
void setup(){
pinMode(led, OUTPUT);
pinMode(digitalPin, INPUT);
Serial.begin(9600);
}
void loop(){
// lectura del pin digital
digitalVal = digitalRead(digitalPin);
if(digitalVal == HIGH){ // si hay llama
digitalWrite(led, HIGH); // encender LED
}else{
digitalWrite(led, LOW); // apagar LED
}
// lectura del pin analogico
analogVal = analogRead(analogPin);
Serial.println(analogVal); // mostrar el valor por el monitor serial
delay(100);
}
Con este código leeremos los valores analógico y digitales. La señal digital será ALTA cuando el sensor detecte el fuego, y por tanto encenderá el LED de la placa Arduino, mientras que estará apagado cuando no detecte la llama. Con el potenciómetro que incluye el sensor podemos aumentar la sensibilidad si giramos en sentido de las agujas del reloj, o disminuir la sensibilidad si lo hacemos en sentido contrario.
Para visualizar los valores de la señal analógica podemos utilizar el serial Plotter de Arduino IDE.

Puede apreciarse que los valores aumentan cuando la llama se aleja del sensor, mientras que disminuyen cuando esta se acerca.
Hacer sonar una alarma al detectar una llama
Con este proyecto crearemos un dispositivo con el sensor KY-026 que haga sonar una alarma al detectar un incendio.
Material necesario:
- Arduino UNO o similar
- Módulo KY-026
- Buzzer
- Cables
Esquema de conexión:
El buzzer lo conectamos al pin 11 de la placa, cable rojo y al GND. Conectaremos el pin de alimentación del sensor al de 5V de la placa Arduino, el de tierra al GND y el pin A0 al pin analógico A0 del Arduino

Còdigo:
int buzzer = 11; // pin para el zumbador
int valorSensor = 0; // variable para almacenar el valor proveniente del sensor
void setup(){
Serial.begin(9600);
pinMode(buzzer, OUTPUT); // configurar como salida
}
void loop(){
valorSensor = analogRead(A0); // leo el valor del sensor
Serial.println(valorSensor);
// activa el buzzer para un valor menor de 500
if (valorSensor < 500){
digitalWrite(buzzer, HIGH);
delay(100);
// Desactiva el buzzer
digitalWrite(buzzer, LOW);
delay(50);
}
}
En la línea 1 indicamos que el pin 11 de la placa Arduino esta conectado al buzzer y en la 2 creamos una variable para guardar el valor que leerá el sensor. En la función setup() indicamos que el pin 11 funcionará como salida. En la línea 10 procedemos con la lectura del sensor que guardamos en la variable valorSensor y procedemos a comprobar con un if si supera el umbral indicado, si este es superado indicamos que suene la alarma (HIGH) durante 100 milisegundos, desactivamos el buzzer (LOW), esperamos 50 milisegundos y se vuelve a repetir el proceso loop().
Encender un LED al detectar una llama con el sensor KY-026
En este caso utilizaremos un LED para indicar la detección de una llama, utilizaremos el pin digital, D0, con el que solo tenemos que leer HIGH o LOW. HIGH encenderá el LED, con LOW apagará el LED. En el proyecto anterior con el buzzer se utilizó el pin analógico, que nos da un rango de valores, por tanto, en la programación utilizamos una comprobación antes de hacer sonar la alarma. En este caso, al utilizar 1 ó 0, el proceso es más sencillo, directamente encenderemos al detectar la llama.
Material necesario:
- Arduino UNO o similar
- Módulo KY-026
- Protoboard
- LED
- 1 resistencia
- cables
Esquema de conexión:

int led = 11;
int digitalPin = 2;
void setup() {
pinMode(led, OUTPUT);
pinMode(digitalPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(led, digitalRead(digitalPin));
}
En las dos primera líneas indicamos los pines que se van a utilizar. En la función setup() indicamos el pin del LED como salida y el pin del sensor como entrada.
En la función loop() leemos el sensor, si detecta llama (HIGH), enciende el LED. Si no detecta la llama, dará una señal de LOW, el LED permanecerá apagado.