Tutorial sobre el sensor de llama KY-026 para Arduino, ESP8266 y ESP32

En este tutorial aprenderá cómo un sensor de llama puede detectar un incendio y cómo construir su propia alarma de incendio con el módulo de sensor de llama KY-026.

En este artículo, aprenderá a crear su propia alarma contra incendios que podría detectar un incendio dentro de una habitación.

En la primera parte del tutorial, aprenderá los diferentes métodos para detectar un incendio.

Terminamos el tutorial con un proyecto donde construimos una alarma de incendio basada en el módulo sensor de llama KY-026 y un zumbador activo.

Sensor de fuego KY-026

¿Cómo detectar un incendio con un sensor de llama microcontrolador?

Un detector de fuego o llama detecta si hay fuego presente o no. Por lo general, la detección óptica es la forma más rápida de detectar un incendio. Por tanto, nos centraremos en sensores con detección óptica.

Durante un incendio, se emiten fotones de diferentes longitudes de onda. La siguiente tabla muestra las diferentes bandas de onda, sus longitudes de onda y los correspondientes métodos de detección de llama.

Bandas de ondaLongitud de ondaMétodos de detección de llamas
Ultravioleta (UV)< 0,3μmDetector ultravioleta
Visible (Vis)0,7μm – 1,1μmDetector de matriz IR cercano
Infrarrojo (IR)> 1,1μmDetector IR

El método de detección de llama que utiliza para una alarma de incendio depende de las condiciones ambientales, pero la intensidad relativa de los fotones en la banda de ondas es una buena indicación. La siguiente imagen muestra el espectro de emisión típico de un incendio de hidrocarburos con las 3 bandas de ondas.

Espectro de emisión de incendios de hidrocarburos

En los siguientes tres subcapítulos discutimos cada banda de ondas con el método de detección de llama correspondiente y finalmente elegimos nuestro sensor de llama que usamos para la alarma de incendio.

Sensor de llama basado en un detector ultravioleta

La banda de ondas ultravioleta tiene una longitud de onda inferior a 0,3 μm y no es visible para los ojos humanos. Para detectar un incendio, el detector ultravioleta reconoce la radiación ultravioleta emitida cuando se inicia un incendio. El sensor tiene un tiempo de reacción muy rápido con 3-4 milisegundos, pero debido al tiempo de reacción rápido, debe agregar un retraso de unos segundos para minimizar las falsas alarmas. Las falsas alarmas son provocadas por otras fuentes de rayos ultravioleta, como la iluminación y la luz solar.

Sensor de llama basado en un detector de matriz de infrarrojo cercano

En bandas de ondas visibles entre 0,7 μm y 1,1 μm, es posible utilizar tecnología de reconocimiento de llama para confirmar un incendio. El sistema de reconocimiento analiza la radiación del infrarrojo cercano con múltiples canales o conjuntos de píxeles para crear una imagen o video de las llamas. En combinación con el procesamiento de imágenes digitales y el análisis de video, el detector de matriz de infrarrojo cercano es la tecnología más confiable para detectar un incendio.

Sensor de llama basado en detector de infrarrojos

La siguiente longitud de onda más alta con 1,1 μm y más alta está en la banda de ondas infrarrojas. Hay cámaras térmicas especializadas en extinción de incendios (TIC) que detectan un incendio en función de patrones específicos emitidos por gases calientes. En el espectro de emisión de los incendios de hidrocarburos, se ve que la frecuencia de resonancia del CO2 está entre 4,3 μm y 4,4 μm. Esta longitud de onda tiene una intensidad muy alta debido al CO2 que se libera durante un incendio y, por lo tanto, es muy buena para detectar un incendio.
Pero el detector de infrarrojos también puede tener falsas alarmas causadas por superficies calientes, radiación de calor de fondo, agua en la lente del detector o exposición directa al sol.

Descripción general del módulo de sensor de llama KY-026

Antes de comenzar a usar el módulo del sensor de llama, necesitamos saber cómo funciona el sensor en sí y todo el módulo con todos los demás componentes electrónicos. Por lo tanto, comenzamos con la hoja de datos de todo el módulo antes de observar más de cerca el pinout del módulo del sensor de llama KY-026.

En este tutorial, estoy construyendo una alarma contra incendios basada en el módulo sensor de llama KY-026. El módulo contiene un Diodo infrarrojo YG1006, un fototransistor de silicio NPN de alta sensibilidad. Debido a su epoxi negro, el sensor es sensible a la radiación infrarroja.

Hoja de datos del módulo sensor de llama KY-026

La siguiente tabla muestra la hoja de datos del módulo sensor de llama KY-026.

Tensión de trabajo3.3 V a 5 V
Sensibilidad a la radiación infrarroja.0,76 μm a 1,1 μm
Longitud de onda máxima0,94 micras
Ángulo de detección0 ° a 60 °

El módulo de sensor de incendios KY-026 tiene un voltaje de funcionamiento entre 3.3V y 5V y, por lo tanto, es adecuado para microcontroladores Arduino, ESP8266 y ESP32.

El diodo infrarrojo YG1006 integrado es sensible a la radiación infrarroja entre 0,76 μm y 1,1 μm. Cuando el fuego arde, se emiten pequeñas cantidades de luz infrarroja. Esta luz es recibida por el fotodiodo (receptor de infrarrojos) en el módulo del sensor.

El ángulo de detección del fototransistor está entre 0 y 60 grados. Por lo tanto, se detecta un incendio en un gran ángulo alrededor del sensor.

Pinout del módulo sensor de llama KY-026 y componentes electrónicos

La siguiente imagen muestra la placa de conexión del sensor de llama KY-026 con distribución de pines y todos los componentes electrónicos. Puede hacer clic en la imagen para ampliarla.

Tutorial sobre el sensor de llama KY-026 para Arduino, ESP8266 y ESP32

El módulo sensor de llama KY-026 consta de los siguientes componentes electrónicos:

  • 4 pines de salida que conectan el módulo sensor de llama KY-026 a un microcontrolador.
    • A0: pin analógico para transferir una señal analógica.
    • GND: Tierra para conectar el sensor de llama a tierra con el microcontrolador.
    • +: Pin para la tensión de funcionamiento 3,3 V o 5 V en comparación con la hoja de datos.
    • D0: Salida digital basada en un umbral preestablecido a través del potenciómetro y la tensión de funcionamiento del microcontrolador.
  • Potenciómetro para establecer un umbral para el pin de salida digital.
  • 2 LED para indicar que el módulo está funcionando (LED1) y para indicar el estado del pin digital (LED2).
  • 6 resistencias para evitar que los LED de voltajes demasiado altos y funcionen como divisores de voltaje.
  • Doble comparador LM393 para comparar la señal creada por el diodo infrarrojo con el valor preestablecido a través del potenciómetro y verificar el estado del LED que indica el estado de la salida digital.
  • Diodo infrarrojo YG1006 para reconocer llamas alrededor del módulo sensor.

Esquema del módulo del sensor de llama KY-026

Para comprender cómo funciona el módulo del sensor de llama KY-026 y cómo cambia la salida analógica y digital cuando el sensor reconoce un incendio, debemos mirar el diagrama del módulo del sensor.

El diagrama del módulo sensor de llama KY-026 en la siguiente imagen nos muestra cómo están conectadas todas las partes electrónicas del módulo.

Esquema del módulo del sensor de llama KY-026

En el lado izquierdo vemos LED1 en serie con la resistencia R1 (1kΩ) para indicar que el módulo sensor de llama KY-026 tiene una fuente de alimentación válida.

La «segunda columna» entre la tensión de funcionamiento y la tierra está formada por el potenciómetro, la resistencia R4 (150Ω) y el diodo infrarrojo YG1006 como sensor de llama, representado por una resistencia variable. Las resistencias construyen un divisor de voltaje que está conectado al voltaje de reverencia del doble comparador LM393 (2). El potencial de este divisor de voltaje también es la salida analógica del módulo sensor KY-026.

El segundo divisor de voltaje está construido con una resistencia R5 (70 kΩ) y una resistencia R3 (100 kΩ). El divisor de voltaje es el voltaje de entrada de los dos comparadores (3) (5).

La salida del primer comparador de LM393 (1) está conectada a la salida digital del módulo. sensor de detección de llama KY-026 y resistencia R2 (10kΩ) que desconecta la salida digital de la tensión de funcionamiento. De lo contrario, la salida digital sería igual a la tensión de funcionamiento independientemente del estado del sensor de llama. El voltaje de referencia del segundo comparador (6) es también la salida del primer comparador (1).

La salida del segundo comparador LM393 (4) cierra el circuito del segundo LED2 y la resistencia R6 (1kΩ).

Funcionalidad del módulo de sensor de llama KY-026

Una vez que conocemos el esquema del módulo de sensor de llama KY-026, comprender la funcionalidad no es complejo.

Si hay un voltaje de operación entre 3.3V y 5V, conectado al módulo KY-026, el LED1 se iluminará y el divisor de voltaje entre R5 y R3 crea un voltaje estable de V = VCC * R3 / (R3 + R5) = VCC * 100/170 = 0,6 * VCC.
Este voltaje es el voltaje de entrada del primer (3) y segundo (5) comparador.

El otro divisor de voltaje creado por el potenciómetro y la resistencia R4 en serie con el diodo infrarrojo YG1006 es el voltaje de entrada del primer comparador (2) y también la salida analógica del módulo de detección de llama KY-026. El potencial de la salida analógica depende de la resistencia del potenciómetro y de la caída de tensión en el diodo infrarrojo.

La caída de voltaje a través del diodo infrarrojo depende de la radiación infrarroja y es

  • menor en caso de llama detectada -> menor salida analógica
  • mayor si no se detecta llama -> mayor salida analógica

El potenciómetro debe ajustarse de manera que en caso de detección de llama, el potencial eléctrico en la salida analógica y por lo tanto la tensión de referencia del primer comparador (2) sea menor que la tensión de entrada 0,6 * VDC. En este caso, la salida (1) del primer comparador de LM393 es VCC (HIGH) y por lo tanto la salida digital del módulo de detección de llama KY-026. Debido a que VCC (6)> 0.6 * VCC (5), la salida del segundo comparador (4) es GND (LOW). Ahora hay una diferencia de potencial entre el LED2 y la resistencia R6 y la salida del segundo comparador (4), que enciende el LED2.

Si no se detecta llama, el potencial en la salida analógica debe ser mayor que el voltaje de referencia para establecer la salida del primer comparador (1) en GND (LOW). En este caso, la salida digital es GND y el voltaje de entrada del segundo comparador 0.6 * VDC (5) es mayor que el voltaje de referencia GND (6). La salida del segundo comparador (4) es VCC y dado que no hay diferencia de potencial entre las resistencias R6 y LED2, LED2 está apagado.

La relación entre la salida analógica y digital del módulo sensor de llama KY-026 también se muestra en la siguiente imagen, donde medí la salida analógica y digital del módulo sensor de llama con mi osciloscopio. Haga clic en la imagen para ampliar.

Tutorial sobre el sensor de llama KY-026 para Arduino, ESP8266 y ESP32

Funcionalidad resumida del módulo del sensor de llama KY-026

Llama activa? Radiación infrarroja Salida analógica Salida digital LED1

ElevadoBajo valorVCC (ALTO)A
NoBajoAlto valorGND (BAJO)Desactivado
  • Si la radiación infrarroja medida aumenta debido a una llama detectada, la salida analógica disminuye.
  • Para aumentar o disminuir la sensibilidad de la salida digital del módulo sensor de llama KY-026, ajuste el potenciómetro.
  • Si no se excede el umbral del potenciómetro, la salida digital es ALTA y el LED1 está encendido.
  • Si no hay llama y por lo tanto no hay radiación infrarroja, se supera el umbral del potenciómetro, la salida digital es BAJA y el LED1 está apagado.

La siguiente tabla le brinda una descripción general de todos los componentes y partes que utilicé para este tutorial. Recibo comisiones por compras realizadas a través de los enlaces de esta tabla.

Componente de enlace de Amazon Enlace de AliExpress

Arduino NanoAmazonAliExpress
Arduino Pro MiniAmazonAliExpress
Arduino UnoAmazonAliExpress
Arduino MegaAmazonAliExpress
ESP32 ESP-WROOM-32AmazonAliExpress
ESP8266 NodeMCUAmazonAliExpress
ESP8266 WeMos D1 MiniAmazonAliExpress
Sensor de llama en el kit de sensoresAmazonAliExpress
Zumbador activo en el kit de sensoresAmazonAliExpress

Cableado entre el módulo de detección de llama y el microcontrolador

Las siguientes imágenes muestran cómo conectar el sensor de llama a diferentes placas de microcontroladores. También agregué un timbre activo al proyecto que suena si hay un incendio activo. Si desea obtener más información sobre los timbres activos o pasivos, consulte el tutorial de timbres.

Si falta su tablero favorito, use la sección de comentarios a continuación y agregaré su tablero a esta publicación. También puede hacer clic en cada imagen para ampliarla y ver la conexión en detalle.

Cableado entre el módulo del sensor de llama KY-026 y las placas Arduino

El voltaje de funcionamiento del módulo sensor de llama KY-026 está entre 3,3 V y 5 V. Debido a que la mayoría de los microcontroladores Arduino tienen un voltaje de funcionamiento de 5 V, puede conectar el sensor de fuego directamente a los 5 V de la placa del microcontrolador Arduino. Las siguientes imágenes muestran el cableado entre diferentes microcontroladores Arduino, el sensor de incendio KY-026 y el zumbador activo.

  • Arduino Nano
  • Arduino Pro Mini
  • Arduino Uno
  • Arduino Mega

Arduino Nano

Sensor de fuego Arduino Nano

Para obtener más información sobre Arduino Nano, visite el tutorial de Arduino Nano.

Arduino Pro Mini

Sensor de fuego Arduino Pro Mini

Arduino Uno

Sensor de fuego Arduino Uno

Para obtener más información sobre Arduino Uno, visite el tutorial de Arduino Uno.

Arduino Mega

Sensor de fuego Arduino Mega

Para obtener más información sobre Arduino Mega, visite el tutorial de Arduino Mega.

Cableado entre el módulo del sensor de llama KY-026 y las placas ESP8266

Dado que el sensor de incendios KY-026 también funciona con un voltaje de funcionamiento de 3,3 V, el módulo del sensor se puede utilizar en combinación con el microcontrolador ESP8266 que tiene un voltaje de funcionamiento de 3,3 V. Las siguientes imágenes muestran el cableado entre el KY-026 fuego módulo de detección, el zumbador activo y el microcontrolador ESP8266 NodeMCU y WeMos D1 Mini.

  • ESP8266 NodeMCU
  • ESP8266 WeMos D1 Mini

ESP8266 NodeMCU

Sensor de incendio ESP8266 NodeMCU

ESP8266 WeMos D1 Mini

Mini detector de incendios ESP8266 WeMosD1

Cableado entre el módulo del sensor de llama KY-026 y las placas ESP32

Como el ESP8266, el ESP32 tiene un voltaje de operación de 3.3V y se puede usar en combinación con el microcontrolador ESP32. La siguiente imagen muestra el cableado entre el ESP32 ESP-WROOM-32, el módulo de detección de incendios KY-026 y el zumbador activo.

EPS32 ESP-WROOM-32

Sensor de fuego ESP32 NodeMCU

Código de programa para detectar un incendio con el sensor de llama KY-026

Desde el cableado entre el sensor de fuego y los diferentes microcontroladores Arduino, ESP8266 y ESP32, puede ver que estoy usando diferentes pines. Por lo tanto, debemos asegurarnos de que se utilicen los pines correctos en el código del programa, que verá en la siguiente sección.

int Buzzer = 6;        // used for Arduino
int Fire_analog = A0;    // used for Arduino
int Fire_digital = 7;   // used for Arduino

//int Buzzer = D2;        // used for ESP8266
//int Fire_analog = A0;    // used for ESP8266
//int Fire_digital = D1;   // used for ESP8266

//int Buzzer = 32;        // used for ESP32
//int Fire_analog = 4;    // used for ESP32
//int Fire_digital = 2;   // used for ESP32

void setup() {
  Serial.begin(115200);
  pinMode(Buzzer, OUTPUT);      
  pinMode(Fire_digital, INPUT);
}

void loop() {
  int firesensorAnalog = analogRead(Fire_analog);
  int firesensorDigital = digitalRead(Fire_digital);

  Serial.print("Fire Sensor: ");
  Serial.print(firesensorAnalog);
  Serial.print("t");
  Serial.print("Fire Class: ");
  Serial.print(firesensorDigital);
  Serial.print("t");
  Serial.print("t");
  
  if (firesensorAnalog < 1000) {
    Serial.println("Fire");
    digitalWrite (Buzzer, HIGH) ; //send tone
    delay(1000);
    digitalWrite (Buzzer, LOW) ;  //no tone
  }
  else {
    Serial.println("No Fire");
  }
  delay(100);
}

En la primera parte del código del programa necesitamos definir los pines conectados. Si copia el script, se comentará la forma en que funciona con las placas Arduino. Si desea utilizar placas ESP8266 o ESP32, debe comentar las tres líneas Arduino y descomentar las líneas en su microcontrolador que desee usar.

Los tres pines que definimos son los siguientes

PinArduinoESP8266ESP32
Digital pin to active buzzer6D232
Analog pin of fire sensorA0A04
Digital pin of fire sensor7D10

Dado que el ESP32 tiene un convertidor analógico a digital incorporado, puede usar varios pines como entrada analógica. Los pines que puede usar como pines analógicos se describen en el tutorial de distribución de pines ESP32 o recomiendo descargar mi libro electrónico de hoja de datos del microcontrolador gratuito.

En la función de configuración, establecemos la velocidad en baudios en 115200, que debería coincidir con la velocidad en baudios del monitor en serie en el IDE de Arduino. También configuramos el pin digital que conecta el zumbador como salida porque queremos encender y apagar el zumbador en caso de incendio. También configuramos la conexión digital de la salida de los sensores de incendio como la entrada del microcontrolador Arduino, ESP8266 o ESP32, porque queremos leer el valor digital.

En la función de lazo, primero leemos el valor analógico y digital del sensor de llama e imprimimos ambos valores en la interfaz serial. Para separar cada valor del monitor en serie, usamos la función de pestaña t.

Ahora tenemos que definir si hay un incendio o no. Esta decisión se puede tomar en base a dos valores:

  • El valor analógico del sensor de incendios.
  • El valor digital del sensor de incendios.

Mi sugerencia es elegir siempre el valor analógico porque en la mayoría de los casos es más fácil cambiar el umbral en el software, en comparación con el comparador LM393 ajustable que emite el valor digital.

Para esta definición, establecí el umbral en 1000 e inferior para el valor analógico del sensor de llama. Para la construcción inicial, también puede usar el umbral de 1000, pero es posible que tenga que jugar con el potenciómetro y diferentes umbrales para obtener un punto de funcionamiento estable para su sensor de fuego.

Para el sensor de incendios, los valores más bajos significan una luz infrarroja más alta emitida por un incendio. Si el valor analógico del sensor de incendios es inferior a 1000, imprimimos en el monitor de serie que hay un incendio y configuramos el zumbador en un nivel alto. Cuando el zumbador activo está activado, esperamos 1 segundo y giramos el zumbador desactivado. Si el valor analógico es mayor o igual a 1000, imprimimos que no hay fuego.

Al final del código del programa, esperamos 100 milisegundos y volvemos a iniciar la función de bucle.

El siguiente video muestra el sensor de incendios en acción. Se detecta el fuego y se oye el zumbador.

Espero que haya disfrutado leyendo mi tutorial sobre el módulo de sensor de llama KY-026. También puede agregar un sensor de gas MQ-2 a la alarma de incendio para detectar humo en caso de incendio. En el tutorial del sensor de gas MQ-2, aprenderá a agregar el sensor de gas a su proyecto.

Si tiene alguna pregunta con respecto a este artículo, use la siguiente sección de comentarios para hacer sus preguntas. Les responderé lo antes posible.


Deja un comentario