Escolar Documentos
Profissional Documentos
Cultura Documentos
ITABIRITO - MG
MARÇO DE 2023
ALLAN FELLIPE DE SOUZA CLEMENTE
MIGUEL AUGUSTO FRANCISCO CAMPIDELI
PEDRO HENRIQUE MAGNO RODRIGUES
ITABIRITO - MG
MARÇO DE 2023
FICHA CATALOGRÁFICA
37 f. : il.
CDD 628.925
Banca Examinadora:
ITABIRITO
MARÇO DE 2023
AGRADECIMENTOS
(Cora Coralina)
LISTA DE TABELAS
1 INTRODUÇÃO……………………………………………………………………….…………….11
2 OBJETIVOS……………………………………………………………………….….…………….13
2.1 Objetivo Geral…………………………………………………………………….…..…………..13
2.2 Objetivos Específicos…………………………………………………………….……..………...13
3 REVISÃO DA LITERATURA…………………………………………………….…….………...13
4 METODOLOGIA………………………………………………………………………….…..…...14
4.1 Funcionamento do protótipo……………………………………………………….……..……....15
4.2 Fluxograma………………………………………………………………………………...……..15
4.3 Componentes e materiais utilizados……………………………………………………..….……16
4.3.1 ESP32…………………………………………………………………………………..…..…16
4.3.2 Sensor MQ-2………………………………………………………………….…………….....16
4.3.3 Site Kodular……………………………………………………….…………………………..17
4.3.4 Placa de ensaio e fios jumpers……………………………………………………...………....17
4.3.5 Maquete residencial……………………………………………………………………….......18
4.3.6 Repelente inseticida…………………………………………………………………..…….....18
4.4 Circuito elétrico……………………………………………………………………………….….19
4.5 Aplicativo Fire System…………………………………………………………………..….……19
5 RESULTADOS………………………………………………………………….…………….…….20
6 CONSIDERAÇÕES FINAIS………………………………………………………………....……21
6.1 Propostas de continuidade………………………………………………………………………...22
7 REFERÊNCIAS…………………………………………………………………………….………22
APÊNDICE………………………………………………………………………………........24
SISTEMA AUTOMATIZADO DE DETECÇÃO E PREVENÇÃO DE INCÊNDIOS
Allan Fellipe de Souza Clemente, Miguel Augusto Francisco Campideli e Pedro Henrique
Magno Rodrigues
Orientadores: Arthur Caio Vargas e Pinto e Carlo Eduardo Sousa Retori
Abstract. This work highlights the consequences of structural fires and purposes a low-cost
intervention method for such incidents. Thus, Instrumentation and programming concepts
were utilized to develop a prototype that employs the ESP32 microcontroller with integrated
Bluetooth and the MQ-2 smoke sensor. Additionally, a custom application was created to
notify individuals when the concentration of smoke in the environment exceeds a
predetermined threshold.
que atue em conjunto com o aparelho desenvolvido, em 2018, por Ana Carolina
13
Martins Vilela. Projeto esse que tinha por exorbitantes9. Foram explicados alguns
finalidade desenvolver um dispositivo componentes para criar sistemas de
capaz de detectar vazamento de gás, de controle de iluminação, temperatura,
forma a automatizar o fechamento e presença e de combate ao incêndio, sendo
abertura das janelas residenciais, esse último o de maior interesse no
industriais, comerciais, escolares e de presente artigo. O sistema de combate ao
empresas7. Os autores utilizaram incêndio utilizaria o arduino, que é o
dispositivos e componentes relativamente microcontrolador de todo esse ecossistema,
similares aos do presente projeto, como e o sensor MQ-2, que é o principal sensor
sensor de gás MQ-2, placa de ensaio, para detectar o início de um incêndio.
microcontrolador, entre outros. No ano de 2018, publicou - se um
Em 2021, foi publicado um artigo trabalho referente a construção de um
por Célio Hauck Carreira Júnior e Tassio protótipo para detecção de gás GLP, sob a
Ferenzini Martins Sirqueira8, o qual tratava autoria de Jean Rodrigo Mello Severo10.
de dois sistemas para detecção de Alguns conceitos e mecanismos foram
vazamento de gás: um eletrônico e outro utilizados como referência, tendo como
virtual. O sistema eletrônico era composto exemplo: A implementação de um alarme
pelo microcontrolador ESP32 e o sensor remoto por meio de um aplicativo, bem
utilizado foi o MQ-2, já o sistema virtual como o envio de notificações que alertem
era composto por front-end, back-end e o usuário e os cálculos de erros gerados
scripts do módulo. Além disso, também foi pelo sensor.
criado um site próprio para o projeto, que
notifica o usuário acerca da presença de 4 METODOLOGIA
gás no ambiente.
Foi realizado por Tiago Melillo de Primeiramente, estabeleceram-se os
15
4.3 Componentes e materiais utilizados 4.3.2 Sensor MQ-2
16
4.3.3 Site Kodular 4.3.4 Placa de ensaio (Protoboard ou
Plugboard)
Para criar o aplicativo optou-se,
A protoboard (Figura 7) é uma
primeiramente, pelo MIT App Inventor11,
placa que contém diversas conexões
um site para criação de aplicativos feito
condutoras e promove a construção de
pelo Instituto de Tecnologia de
protótipos eletrônicos em seu estado
Massachusetts (MIT). Entretanto, como o
inicial, dispensando o uso de soldas.
mesmo não possui uma extensão gratuita
Contém de 800 a 1.600 furos, com
que proporcionasse a inserção de
sequências de conexões verticais e
notificações push-up, foi decidido utilizar
horizontais.
o software Kodular (Figura 6), sem que
Sua função é condicionar as
houvesse quaisquer perdas em termos de
respectivas conexões do protótipo, sem
recursos se comparados ambos os
que haja necessidade da utilização de
softwares.
soldagem para conectar os fios jumpers do
O site Kodular12, assim como o
tipo macho-fêmea (Figura 8).
MIT App Inventor, é um site que
possibilita a criação de aplicativos para
Figura 7 - Protoboard
Android de modo ágil e prático.
Optou-se por utilizá-lo uma vez que esse
software conta com um layout intuitivo,
sendo possível criar um aplicativo
rapidamente utilizando blocos lógicos de
programação (cfm. ABREU, 2020). Fonte: https://linkss.app/qjebo
Fonte: do autor
11
Link do site MIT App Inventor:
https://appinventor.mit.edu/ Fonte: https://linkss.app/uvWGo
12
Link do site Kodular: https://www.kodular.io/
17
4.3.5 Maquete residencial Figura 11 - Maquete (vista lateral esquerda)
Fonte: do autor
Fonte: do autor
Fonte: https://linkss.app/EtgzI
18
4.4 Circuito Elétrico para estruturar o algoritmo e as suas
respectivas funções. O seu objetivo é
A construção do circuito elétrico
comunicar o usuário quando a
(Figura 14) do protótipo consiste de uma
concentração de fumaça no ambiente
placa de ensaio (protoboard), do
ultrapassar a média calculada pelo
microcontrolador (ESP32), do sensor
microcontrolador.
(MQ-2) e de três fios jumpers.
O Fire System necessita ser
A montagem foi feita da seguinte
conectado ao ESP32 por meio de conexão
forma: os 5V do ESP32 foram conectados
Bluetooth para haver a comunicação de
à conexão VCC do MQ-2 (fio vermelho), o
dados entre eles. Desta forma, o
GND do ESP32 foi conectado ao GND do
microcontrolador envia a variável de alerta
MQ-2 (fio verde) e, por fim, a porta
para o aplicativo, que exibe na tela do
GIOP39 do microcontrolador foi
aparelho celular um aviso, uma notificação
conectado na porta analógica do sensor
push-up e emite um alarme sonoro. Além
(A0) (fio laranja).
disso, também é possível que o aplicativo
faça uma chamada para o corpo de
Figura 14 - Circuito Elétrico
bombeiros, a partir de uma opção
introduzida no aplicativo.
Fonte: do autor
20
Figura 17 - Maquete (Vista superior) 6 CONSIDERAÇÕES FINAIS
Fonte: do autor
21
Tabela 1 - Tabela de custos mercado, que contenha maior
COMPONENTE QUANTIDADE PREÇO sensibilidade, além de detectar e responder
ESP3213 1 R$ 36,00 à ação de fumaça, monóxido de carbono e
14
Sensor MQ-2 1 R$ 16,00 demais substâncias com potencial de
15
Protoboard 1 R$ 14,50
favorecer um princípio de incêndio. É
40 fios jumpers16 1 R$ 14,00
aconselhado também, a pesquisa e
CUSTO TOTAL R$ 80,50
aquisição de componentes e periféricos
Fonte: do autor
que sejam capazes de atuar de modo
7 REFERÊNCIAS
Uma das principais propostas de
aprimoramento neste protótipo, seria a ABREU, Raissa. O Que É Modular?.
implementação de um driver de conexão ProfAntenado, 2016. Disponível em:
<https://www.wiki.pt-pt.nina.az/Placa_de_
Wi-Fi, de forma a facilitar a comunicação Ensaio.html> Acesso em: 28/12/22
entre o protótipo e o aplicativo, além de
BLASI, Bruno. Tempo gasto em apps de
gerar uma resposta mais ágil para o celular salta 30% no Brasil, líder do
usuário, dispensando a necessidade de ranking global. Tecnoblog, 2021.
Disponível em:
estar próximo ao local monitorado pelo <https://tecnoblog.net/noticias/2021/07/19/
sensor. Outra sugestão, seria o tempo-gasto-em-apps-de-celular-salta-30-n
o-brasil-lider-do-ranking-global/> Acesso
desenvolvimento de um app em: 26 de fevereiro de 2023
multiplataforma, que poderia ser integrado
CURVELLO, André Márcio de Lima.
tanto no sistema operacional Android, ESP32 - Um grande aliado para o Maker
quanto no sistema operacional iOS, IoT - FilipeFlop. makerhero, 2018.
Disponível em: <ESP32 - Um grande
atingindo um público mais amplo e aliado para o Maker IoT - MakerHero>.
reduzindo os custos de desenvolvimento de Acesso em: 28 de dezembro de 2022
vários apps paralelos, para diferentes DIAS, Leônidas Eduardo; ORNELAS,
plataformas. Adquirir um modelo de Éliton Ataíde; FLORES, Bráulio Cançado.
FUNDAMENTOS DE COMBATE A
sensor de fumaça, dentre os existentes no INCÊNDIO - Bombeiros GO. Corpo de
Bombeiros Militar do Estado de Góias,
2016. Disponível em:
13
ESP32: https://linkss.app/dQtJY <https://www.bombeiros.go.gov.br/wp-con
14 tent/uploads/2015/12/cbmgo-1aedicao-201
Sensor MQ-2: https://linkss.app/PhUxw
60921.pdf >Acesso em: 17 de março de
15
Protoboard: https://linkss.app/RfEbS 2023
16
Conjunto de 40 fios jumpers:
https://linkss.app/dCbzE
22
Estatísticas - Instituto Sprinkler Brasil. (Engenheiro Eletricista). Curso de
sprinklerbrasil, 2022. Disponível em: Engenharia Elétrica. Universidade de
<Estatísticas - Instituto Sprinkler Passo Fundo, Passo Fundo, RS, 2018.
Brasil>. Acesso em: 28 de dezembro Disponível em: <Repositório Institucional
de 2022 da Universidade de Passo Fundo (UPF):
Protótipo para detecção de vazamentos de
FARINI, Ailton; SANTOS, Alexandre José gás GLP>. Acesso em: 08 de março de
dos; VILELA, Felipe Martins. Dispositivo 2023
detector de vazamento de gás. Trabalho de
Conclusão de Curso(Técnico em SILVEIRA, Ana Carolina Pedrosa;
Mecatrônica) - Etec Paulino Botelho, São GONÇALVES, Sávio Araújo Guedes;
Carlos, 2022. Disponível em: <Repositório MILAGRES, Victor Hugo Ribeiro.
Institucional do Conhecimento do Centro Sistema de detecção e proteção contra
Paula Souza: Dispositivo detector de vazamentos de gás. Instituto Federal de
vazamento de gás (cps.sp.gov.br)>. Acesso Minas Gerais - Campus Avançado
em: 08 de março de 2023 Itabirito, 2018. Acesso em: 20 de
dezembro de 2022. SNT
JUNIOR, Célio; SIRQUEIRA, Tássio
Ferenzini Martins. Utilizando sensores STRAUB, Matheus Gebert. Sensor de Gás
como tecnologia a serviço da prevenção de Arduino MQ-2 para Gases e Fumaça.
acidentes envolvendo vazamento de Gás usinainfo, 2016. Disponível em: <Sensor
GLP. Caderno de estudos em Engenharia de Gás Arduino MQ-2 para Gases e
de Software. 2021. Disponível em: Fumaça - Blog UsinaInfo>. Acesso em: 28
<http://seer.uniacademia.edu.br/index.php/ de dezembro de 2022
engsoftware/article/view/3010/2251>
Acesso em: 08 de março de 2023
23
APÊNDICE
Fonte: https://www.filipeflop.com/wp-content/uploads/2020/05/ESP32-b%C3%A1sico-pinout.jpg
Fonte: https://www.arduinoecia.com.br/wp-content/uploads/2015/01/Sensor-MQ-2-Back.png
24
Código de calibração do sensor
Note: This piece of source code is supposed to be used as a demostration ONLY. More
**********************************************************************************
**/
#define MQ_PIN (39) //define which analog input channel you are going to
use
#define RL_VALUE (20) //define the load resistance on the board, in kilo ohms
//cablibration phase
#define READ_SAMPLE_INTERVAL (50) //define how many samples you are going to
take in normal operation
25
#define READ_SAMPLE_TIMES (5) //define the time interal(in milisecond)
between each samples in
//normal operation
/*****************************Globals**********************************************
*/
float COCurve[3] = {2.3,0.72,-0.34}; //two points are taken from the curve.
float SmokeCurve[3] ={2.3,0.53,-0.44}; //two points are taken from the curve.
int fumaca;
int CO;
void setup_calibrar()
26
{
Serial.print("Calibrating...\n");
Serial.print("Calibration is done...\n");
Serial.print("Ro=");
Serial.print(Ro);
Serial.print("kohm");
Serial.print("\n");
void loop_calibrar()
fumaca = MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_SMOKE);
CO = MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_CO);
Input: raw_adc - raw value read from adc, which represents the voltage
Remarks: The sensor and the load resistor forms a voltage divider. Given the voltage
across the load resistor and its resistance, the resistance of the sensor
could be derived.
**********************************************************************************
**/
27
float MQResistanceCalculation(int raw_adc)
return ( ((float)RL_VALUE*(4095-raw_adc)/raw_adc));
/***************************** MQCalibration
****************************************
Remarks: This function assumes that the sensor is in clean air. It use
**********************************************************************************
**/
int i;
float val=0;
val += MQResistanceCalculation(analogRead(mq_pin));
delay(CALIBRATION_SAMPLE_INTERVAL);
28
//according to the chart in the datasheet
return val;
/***************************** MQRead
*********************************************
Remarks: This function use MQResistanceCalculation to caculate the sensor resistenc (Rs).
gas. The sample times and the time interval between samples could be configured
**********************************************************************************
**/
int i;
float rs=0;
for (i=0;i<READ_SAMPLE_TIMES;i++) {
rs += MQResistanceCalculation(analogRead(mq_pin));
delay(READ_SAMPLE_INTERVAL);
rs = rs/READ_SAMPLE_TIMES;
return rs;
29
}
/***************************** MQGetGasPercentage
**********************************
Remarks: This function passes different curves to the MQGetPercentage function which
**********************************************************************************
**/
if ( gas_id == GAS_CO ) {
return MQGetPercentage(rs_ro_ratio,COCurve);
return MQGetPercentage(rs_ro_ratio,SmokeCurve);
return 0;
Remarks: By using the slope and a point of the line. The x(logarithmic value of ppm)
30
of the line could be derived if y(rs_ro_ratio) is provided. As it is a
value.
**********************************************************************************
**/
31
Código do protótipo
#include "BluetoothSerial.h"
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
#if !defined(CONFIG_BT_SPP_ENABLED)
#error Serial Bluetooth not available or not enabled. It is only available for the ESP32 chip.
#endif
BluetoothSerial SerialBT;
int leiturasensor;
int limite = 0;
int primeiro_incendio = 0;
char lido;
int parar = 0;
// ------------------------------------------------------------------------//
void setup() {
pinMode(39, INPUT);
Serial.begin(115200);
32
Serial.println("The device started, now you can pair it with bluetooth!");
// ------------------------------------------------------------------------//
int media() {
total += fumaca;
delay(500);
// ----------------------------------------------------------------------//
void loop() {
float Volts;
if(SerialBT.available()){
lido =(char)SerialBT.read();
// ---------------------------------------------------------------------//
if (Serial.available()) {
33
SerialBT.write(Serial.read());
if (SerialBT.available()) {
Serial.write(SerialBT.read());
delay(20);
// ---------------------------------------------------------------------//
Volts = (analogRead(39)*3.3)/4096; // Calculo da tensão que o sensor esta enviando para o ESP32.
Serial.print("ADC:");
Serial.print(analogRead(39));
Serial.print(" ");
Serial.print("Volts:");
Serial.print( "V" );
Serial.print(" ");
Serial.print("SMOKE:");
Serial.print(fumaca);
Serial.print( "ppm" );
Serial.print(" ");
Serial.print("SERIAL:");
Serial.print(lido);
Serial.print("\n");
delay(500);
34
// ************************************************************************//
writeSerial("a");
primeiro_incendio = 1;
if((millis() - tempo) >= 10000) // FAZ COM QUE NOTIFICAÇOES SEJAM ENVIADAS A
CADA 10 SEGUNDOS
writeSerial("a");
tempo = millis();
else
displayedText = "r";
// **************************************************************************//
writeSerial("n");
35
lido = 'n'; // reseta o valor da String.
delay(20);
//--------------------------------------------------------------------------//
if (displayedText != text) {
SerialBT.println(text);
displayedText = text;
Fonte: do autor
36
Código em blocos do aplicativo, no Kodular
Fonte: do autor
37