ESP32 - Sensor de llama

El sensor infrarrojo de llama puede detectar y medir la luz infrarroja proveniente de una llama. Es útil para detectar incendios y también se le conoce como sensor infrarrojo de llama o sensor de incendio. Este sensor proporciona dos tipos de información: una es como un interruptor simple (encendido o apagado), y la otra es una señal analógica que muestra la intensidad de la llama.

En este tutorial, aprenderemos a usar un ESP32 con un sensor de llama para detectar llamas. Específicamente, cubriremos estos pasos:

Sensor de llama para ESP32

Después, puedes modificar el código para activar una sirena de advertencia cuando se detecte un incendio.

Hardware Requerido

1×Módulo de Desarrollo ESP32 ESP-WROOM-32
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×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentación para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
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 de sensor de llama infrarrojo

El sensor de llama infrarrojo puede detectar una llama o comprobar cuánta luz infrarroja emite la llama. Por lo tanto, nos ayuda a detectar incendios. Este sensor ofrece dos opciones utilizando un pin de salida digital y un pin de salida analógico.

Estos sensores están diseñados para captar ciertos tipos de luz infrarroja emitida por llamas, mientras que ignoran otros tipos, como el calor de las personas o las luces interiores. Pero como cualquier sensor, tienen sus límites, y a veces pueden cometer errores, ya sea diciendo que hay un incendio cuando no lo hay (falso positivo) o pasando por alto un incendio cuando está allí (falso negativo).

Esquema de pines

Hay dos tipos de módulos de sensor 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 un pin de salida digital. Está en ALTO si no se detecta la llama y en BAJO si se detecta. El valor umbral para la detección de llama se puede ajustar mediante un potenciómetro incorporado.
  • Pin AO: Es un pin de salida analógica. El valor de salida disminuye a medida que disminuye la intensidad infrarroja, y aumenta a medida que aumenta la intensidad infrarroja.
Pinout del sensor de llama
image source: diyables.io

Además, cuenta con dos indicadores LED:

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

El módulo de sensores de llama 5-en-1 combina cinco sensores de llama individuales en una sola placa de circuito impreso. Los sensores comparten un potenciómetro común, así como las conexiones VCC y GND, mientras que cada sensor tiene sus pines DO (Salida Digital) y AI (Entrada Analógica) independientes.

Cómo funciona

Para el pin DO:

  • El módulo tiene un potenciómetro incorporado para ajustar el umbral infrarrojo (sensibilidad).
  • Cuando la intensidad infrarroja está por encima del valor umbral, se detecta la llama, el pin de salida del sensor está en BAJO, y el DO-LED está encendido.
  • Cuando la intensidad infrarroja está por debajo del valor umbral, la llama NO se detecta, el pin de salida del sensor está en ALTO, y el DO-LED está apagado.

Para el pin AO:

  • Cuanto mayor sea la intensidad infrarroja en el entorno circundante, mayor será el valor leído desde el pin AO.
  • Cuanto menor sea la intensidad infrarroja en el entorno circundante, menor será el valor leído desde el pin AO.

Tenga en cuenta que el potenciómetro no afecta el valor 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 módulo de sensor de llama ofrece dos opciones de salida. Puedes usar una o ambas según lo que necesites.

Diagrama de cableado del sensor de llama para ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Cómo conectar el ESP32 y un sensor de llama

Código ESP32 - Leer valor desde el pin DO

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-flame-sensor */ #define DO_PIN 13 // ESP32's pin GPIO13 connected to DO pin of the flame sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the ESP32'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 dected => The fire is NOT detected"); else Serial.println("Flame dected => The fire is detected"); }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en el IDE de Arduino.
  • Copia el código anterior y ábrelo con el IDE de Arduino
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP32
  • Apunta el sensor de llama hacia una llama.
  • Ver el resultado en el monitor serie.
COM6
Send
No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected Flame dected => The fire is detected Flame dected => The fire is detected Flame dected => The fire is detected No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Tenga en cuenta que si nota que el estado del LED permanece encendido de forma constante o se apaga incluso cuando el sensor está orientado hacia una llama, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.

Código ESP32 - Leer valor del pin AO

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-flame-sensor */ #define AO_PIN 36 // ESP32's pin GPIO36 connected to AO pin of the flame sensor void setup() { // initialize serial communication Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int infrared_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(infrared_value); }

Pasos R\u00e1pidos

  • Copie el código anterior y ábralo con Arduino IDE
  • Haga clic en el botón Subir en Arduino IDE para subir el código al ESP32
  • Dirija el sensor de llama hacia una llama.
  • Vea el resultado en 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 utiliza la función analogRead() para leer valores de un ADC (Convertidor analógico-digital) conectado a un sensor de llama. El ADC del ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que necesitan mediciones precisas, tenga en cuenta:

  • El ADC del ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede variar un poco, por lo que debe calibrar el ADC para cada placa individual.
  • La calibración puede ser difícil, especialmente para principiantes, y podría no dar siempre los resultados exactos que desea.

Para proyectos que requieren alta precisión, considere usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún desea calibrar el ADC del ESP32, consulte ESP32 ADC Calibration Driver

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!