Arduino Nano ESP32 - Sensor de llama

El sensor de llama puede detectar y medir la luz infrarroja que proviene de una llama. Es útil para detectar incendios y también se conoce como sensor infrarrojo de llama o sensor de incendio. Este sensor proporciona dos tipos de información: una es como un simple interruptor (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 Arduino Nano 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 el incendio.

Hardware Requerido

1×Arduino Nano ESP32
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 Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

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 puede detectar una llama o comprobar cuánta luz infrarroja emite la llama. Así que nos ayuda a detectar incendios. Este sensor ofrece dos opciones: utilizar un pin de salida digital y un pin de salida analógica.

Estos sensores están diseñados para detectar ciertos tipos de luz infrarroja emitida por las 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 no detectar un incendio cuando está (falso negativo).

Diagrama de pines

Hay dos tipos de módulos de detección de llama disponibles:

Un solo sensor de llama incluye cuatro pines:

  • VCC pin: Debe conectarse a VCC (3.3V a 5V).
  • GND pin: Debe conectarse a GND (0V).
  • DO pin: Es un pin de salida digital. Es ALTO si no se detecta la llama y BAJO si se detecta. El valor umbral para la detección de llama puede ajustarse usando un potenciómetro integrado.
  • AO pin: Es un pin de 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 PWR para la alimentación.
  • Un indicador DO-LED 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 única placa de circuito impreso. 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, y cada sensor está orientado en una dirección distinta. Este arreglo aumenta efectivamente el alcance total de detección.

Cómo funciona

Para el pin DO:

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

Para el pin AO:

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

Tenga en cuenta que el potenciómetro no afecta el valor en el pin AO.

Diagrama de Cableado

Dado que el módulo del sensor de llama tiene dos salidas, puedes elegir usar una o ambas, dependiendo de lo que necesites.

  • El diagrama de cableado entre Arduino Nano ESP32 y el sensor de llama cuando se usa solo DO.
Diagrama de cableado del sensor de llama para Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino Nano ESP32 y el sensor de llama cuando se usa solo AO.
Diagrama de cableado del sensor de incendio Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre Arduino Nano ESP32 y el sensor de llama cuando se utilizan tanto A0 como D0.
Diagrama de cableado del sensor infrarrojo de llama para Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código de Arduino Nano ESP32 - Leer el valor del pin DO

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-flame-sensor */ #define DO_PIN D2 // The Arduino Nano ESP3 connected to DO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para cargar el código al Arduino Nano ESP32
  • Apunta el sensor de llama hacia una llama.
  • Consulta el resultado en el Monitor Serial.
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 de Arduino Nano ESP32 - Leer valor del pin A0

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-flame-sensor */ #define AO_PIN A4 // The Arduino Nano ESP3 connected to AO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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

  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Upload en Arduino IDE para subir el código a Arduino Nano ESP32
  • 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 utiliza la función analogRead() para leer valores de un ADC (convertidor analógico a digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que necesiten mediciones precisas, tenga en cuenta lo siguiente:

  • El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
  • La calibración puede ser desafiante, especialmente para principiantes, y podría no dar siempre los resultados exactos que deseas.

Para proyectos que requieren alta precisión, considere usar un ADC externo (p. ej. ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más confiable.

Si aún quieres calibrar el ADC del Arduino Nano ESP32, consulta el 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!