Alarme de Incêndio com Arduino

Neste tutorial, vamos aprender a fazer um sistema de alarme de incêndio que detecta o fogo e dispara o alarme por meio de sirene e luz.

Sobre o Sistema de Alarme de Incêndio

O sistema de alarme de incêndio inclui duas partes:

  • A detecção de incêndio: pode usar o sensor de fumaça (sensor de gás MQ2) e/ou o sensor de chama
  • O alarme: pode ser uma sirene (incluindo luz e som) ou um buzzer (apenas som)

Na detecção de incêndio, você pode usar um dos dois sensores. No entanto, para aumentar a confiabilidade, recomendamos usar tanto o sensor de fumaça quanto o sensor de chama. Se você usar apenas um sensor, o sistema pode não detectar o fogo em alguns locais da sua área de monitoramento.

Se você não conhece o sensor de gás mq2 e o sensor de chama (pinagem, como funcionam, como programar ...), aprenda sobre eles nos seguintes tutoriais:

Como o Sistema de Alarme de Incêndio Funciona

O Arduino lê os estados do sensor de fumaça e do sensor de chama; se fumaça ou chama for detectada, o Arduino ativa o relé para disparar um alarme.

Diagrama de Ligação

  • Diagrama de ligação com uma sirene
Diagrama de Ligação do sistema de alarme de incêndio com sirene e Arduino

This image is created using Fritzing. Click to enlarge image

  • Diagrama de ligação com um buzzer de 12V
Diagrama de Ligação do sistema de alarme de incêndio com buzzer e Arduino

This image is created using Fritzing. Click to enlarge image

Código Arduino

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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); } }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Abra o Serial Monitor no Arduino IDE
  • Carregue o código no Arduino
  • Crie um pouco de fumaça ao redor do sensor de fumaça
  • Crie uma chama na frente do sensor de chama
  • Ouça o som do alarme da sirene ou do buzzer
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
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
Ln 11, Col 1
Arduino Uno on COM15
2

Explicação do Código

Leia a explicação linha por linha nas linhas de comentário do código-fonte!

Vídeo

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!