Alarma de incendio con Arduino

En este tutorial, vamos a aprender cómo hacer un sistema de alarma contra incendios que detecta el fuego y emite una alarma mediante una sirena y una luz.

Acerca del sistema de alarma contra incendios

El sistema de alarma contra incendios incluye dos partes:

  • La detección de incendios: puede utilizar el sensor de humo (sensor de gas MQ2) y/o sensor de llama
  • La alarma: puede ser una sirena (incluye luz y sonido), o zumbador (solo sonido)

En la detección de incendios, puedes usar uno de los dos sensores. Sin embargo, para aumentar la fiabilidad, recomendamos usar tanto el sensor de humo como el sensor de llama. Si usas un sensor, el sistema podría no detectar el incendio en alguna ubicación dentro de tu área de monitoreo.

Si no conoces el sensor de gas MQ-2 y el sensor de llama (disposición de pines, cómo funciona, cómo programar ...), aprende sobre ellos en los siguientes tutoriales:

Cómo funciona un sistema de alarma contra incendios

Arduino lee los estados del sensor de humo y del sensor de llama; si se detecta humo o llama, Arduino activa el relé para activar una alarma.

Diagrama de Cableado

  • Diagrama de cableado con una sirena
Diagrama de cableado del sistema de sirena de alarma contra incendios con Arduino

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado con un zumbador de 12 V
Diagrama de cableado del sistema de alarma contra incendios con Arduino

This image is created using Fritzing. Click to enlarge image

Código de Arduino

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-fire-alarm */ #define FLAME_PIN 7 // Arduino's pin connected to DO pin of the flame sensor #define SMOKE_PIN 13 // Arduino's pin connected to DO pin of the smoke MQ2 sensor #define RELAY_PIN 2 // Arduino's pin connected to relay void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin pinMode(FLAME_PIN, INPUT); pinMode(SMOKE_PIN, INPUT); pinMode(RELAY_PIN, OUTPUT); } void loop() { int flame_state = digitalRead(FLAME_PIN); int smoke_state = digitalRead(SMOKE_PIN); if (flame_state == LOW) { Serial.println("Fire is detected based on the flame sensor => alarming"); digitalWrite(RELAY_PIN, HIGH); } else if (smoke_state == LOW) { Serial.println("Fire is detected based on the smoke sensor => alarming"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.println("No fire detected => great!"); digitalWrite(RELAY_PIN, LOW); } }

Pasos R\u00e1pidos

  • 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 Arduino
  • Abre el Monitor Serial en Arduino IDE
  • Carga el código en Arduino
  • Crea humo alrededor del sensor de humo
  • Crea una llama frente al sensor de llama
  • Escucha la alarma de la sirena o del zumbador
  • Ve el resultado en el Monitor Serial.
COM6
Send
No fire detected => great! No fire detected => great! No fire detected => great! Fire is detected based on the smoke sensor => alarming Fire is detected based on the smoke sensor => alarming Fire is detected based on the smoke sensor => alarming Fire is detected based on the smoke sensor => alarming No fire detected => great! No fire detected => great! No fire detected => great! Fire is detected based on the flame sensor => alarming Fire is detected based on the flame sensor => alarming Fire is detected based on the flame sensor => alarming
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Explicación del código

Lee la explicación línea por línea en las líneas de comentarios del código fuente.

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.

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!