ESP8266 - Sensor de llama

El sensor de llama es un dispositivo ingenioso que detecta y mide las emisiones infrarrojas de las llamas, lo que lo convierte en una herramienta útil para la detección de incendios. También se le puede llamar sensor infrarrojo de llama o sensor de incendio. Este sensor ofrece dos tipos de salidas: una digital (LOW/HIGH) y una analógica.

En esta guía, repasaremos cómo usar un ESP8266 junto con un sensor de llama para identificar y medir llamas e incendios. Específicamente, abordaremos los siguientes pasos:

sensor de llama ESP8266 NodeMCU

Después, puedes modificar el código para activar una sirena de advertencia (a través de un relé) cuando detecte fuego.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Flame Sensor
1×5-in-1 5-way Flame Sensor
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de llama

módulo sensor de llama infrarrojo

El sensor de llama infrarroja sirve para identificar la presencia de una llama o para medir el nivel de emisiones infrarrojas producidas por la llama. Esto lo convierte en una herramienta valiosa para la detección de incendios. El sensor ofrece dos opciones a través de un pin de salida digital y un pin de salida analógica.

Estos sensores de llama infrarroja están meticulosamente diseñados para discernir las longitudes de onda de la radiación infrarroja que detectan, centrándose en las longitudes de onda específicas asociadas a las llamas. Su diseño tiene como objetivo reducir las probabilidades de falsas alarmas provocadas por otras fuentes de radiación infrarroja, como el calor del cuerpo humano o la iluminación artificial. A pesar de su precisión, es importante señalar que, como cualquier sensor, tienen limitaciones. Bajo condiciones específicas, pueden presentar falsos positivos o falsos negativos.

Diagrama de pines

Hay dos tipos de módulos detectores de llama disponibles:

Un único sensor de llama incluye cuatro pines:

  • Pin VCC: Debe conectarse a VCC (3,3 V a 5 V).
  • Pin GND: Debe conectarse a GND (0 V).
  • Pin DO: Es una salida digital. Está en ALTO si no se detecta la llama y BAJO si se detecta. El valor umbral para la detección de llama puede ajustarse mediante un potenciómetro incorporado.
  • Pin AO: Es una salida analógica. El valor de salida disminuye a medida que el nivel infrarrojo disminuye, y aumenta a medida que el nivel infrarrojo aumenta.
Pinout del sensor de llama
image source: diyables.io

Además, tiene dos indicadores LED:

  • Un indicador LED de alimentación.
  • Un indicador LED DO para el estado de la llama en el pin DO: está encendido cuando hay llama.

El sensor de llama 5 en 1 integra cinco sensores de llama individuales en una sola placa de circuito impreso (PCB). Estos sensores comparten el mismo potenciómetro, VCC y GND. Sin embargo, los pines DO (Salida Digital) y AI (Entrada Analógica) de cada sensor funcionan de forma independiente entre sí.

Cómo funciona

Para el pin de Salida Digital (DO):

  • El módulo viene con un potenciómetro incorporado que le permite ajustar cuán sensible es a la luz infrarroja.
  • Si la luz infrarroja es lo suficientemente intensa (supera la sensibilidad establecida), significa que el sensor ha detectado una llama. El pin de salida pasa a 'BAJO', y el DO-LED se ilumina.
  • Si la luz infrarroja no es lo suficientemente intensa (por debajo de la sensibilidad establecida), significa que no se detecta ninguna llama. El pin de salida pasa a 'ALTO', y el DO-LED se apaga.

Para el pin de salida analógica (AO):

  • El pin AO te da un número que representa cuánta luz infrarroja hay alrededor.
  • Más luz infrarroja circundante te da un número mayor en el pin AO.
  • Menos luz infrarroja circundante te da un número menor en el pin AO.

Ten en cuenta que al ajustar la sensibilidad con la perilla no cambia el valor que obtienes del pin AO.

Diagrama de Cableado

Como el módulo del sensor de llama tiene dos salidas, puedes elegir usar una o ambas, según lo que necesites.

  • El diagrama de cableado entre el ESP8266 y el sensor de llama cuando se usa solo la salida digital.
Diagrama de cableado del sensor de llama ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

  • El diagrama de cableado entre ESP8266 y el sensor de llama cuando solo se utiliza AO.
Diagrama de cableado del sensor de incendio ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre el ESP8266 y el sensor de llama cuando se utilizan tanto AO como DO.
Diagrama de cableado del sensor de llama infrarrojo ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Código ESP8266 - Leer valor del pin DO

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-flame-sensor */ #define DO_PIN D7 // The ESP8266 pin connected to DO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int flame_state = digitalRead(DO_PIN); if (flame_state == HIGH) Serial.println("No flame => No fire detected"); else Serial.println("Flame present => Fire detected"); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora usando un cable USB.
  • Abre Arduino IDE en tu computadora.
  • Elige la placa ESP8266 correcta, por ejemplo (p. ej. NodeMCU 1.0 (Módulo ESP-12E)), y su puerto COM respectivo.
  • Copia el código anterior y ábrelo con Arduino IDE.
  • Haz clic en el botón Subir en Arduino IDE para subir el código a ESP8266.
  • Apunta el sensor de llama hacia una llama.
  • Ver el resultado en el Monitor Serial.
COM6
Send
Flame present => Fire detected Flame present => Fire detected No flame => No fire detected No flame => No fire detected No flame => No fire detected Flame present => Fire detected Flame present => Fire detected Flame present => Fire detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Por favor, tenga en cuenta que si observa que el estado del LED permanece encendido de forma constante o apagado incluso cuando el sensor está orientado hacia una llama, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.

Código ESP8266 - Leer valor del pin AO

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-flame-sensor */ #define AO_PIN A0 // The ESP8266 pin connected to AO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { int flameValue = analogRead(AO_PIN); Serial.println(flameValue); }

Pasos R\u00e1pidos

  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Elige la placa ESP8266 correcta, como (por ejemplo, NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • Copia el código anterior y ábrelo con el IDE de Arduino.
  • Haz clic en Subir en el IDE de Arduino para cargar el código en ESP8266.
  • Apunta el sensor de llama hacia una llama.
  • Consulta el resultado en el Monitor Serial.
COM6
Send
245 246 246 573 677 949 955 1004 1007 1013 1018 641 543 340 179
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Este tutorial usa la función analogRead() para obtener datos de un ADC (Convertidor Analógico-Digital) que está conectado a un sensor u otra parte. El ADC del ESP8266 funciona bien para proyectos en los que no se requieren lecturas muy precisas. Pero recuerda, el ADC del ESP8266 no es muy preciso para mediciones detalladas. Si tu proyecto necesita ser muy preciso, quizá quieras usar un ADC separado como el ADS1115 con el ESP8266, o usar un Arduino como el Arduino Uno R4 WiFi, que tiene un ADC más confiable.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!