Introduction: Detector De Vazamento De Gás

Picture of Detector De Vazamento De Gás

Nós, alunos do Centro Universitário Fundação Santo André, realizamos nosso projeto de arduino com o objetivo de detectar fuga de gás (como vazamento de GLP, vazamento de butano, vazamento de metano) ou qualquer substância gasosa com base em petróleo, que possa ser detectada usando o sensor MQ5. Aonde é configurado um mecanismo de alerta baseado em SMS e envie 3 SMS (3 mensagens de alerta) para 2 números de celular especificados (entrada dentro do programa arduino). Produzimos um alarme de som após o vazamento de gás e que só ira parar quando não houver mais gás no local. Exibi status em um LCD usando um módulo LCD de 16 × 2.

Objetivos Gerais:

Trabalhar e se familiarizar com a placa Arduíno Uno.

Analisar e projetar uma solução eficiente que contribua para a segurança da nossa sociedade.

Analisar a ação do software e hardware em conjunto.

Construção de código em linguagem C.

Step 1: Objetivos Do Projeto

Picture of Objetivos Do Projeto

Detectar fuga de gás (como vazamento de GLP, vazamento de butano, vazamento de metano) ou qualquer substância gasosa com base em petróleo que possa ser detectada usando o sensor MQ5.

Configurar um mecanismo de alerta baseado em SMS e envie 3 SMS (3 mensagens de alerta) para 2 números de celular especificados (entrada dentro do programa arduino).

Produzir um alarme de som após o vazamento de gás, que pare uma vez que o vazamento de gás esteja sob controle (a presença de gás na atmosfera está dentro do alcance normal).

Exibir status em um LCD usando um módulo LCD de 16 × 2.

Step 2: Componentes | Equipamentos Necessarios

Picture of Componentes | Equipamentos Necessarios

Componentes Hardwares

1 Placa de Arduíno Uno.

1 Protoboard.

20 fios Jumper para a conexão entre o Protoboard e o Arduíno.

15 resistores.

1 Sensor MQ5.

1 Módulo GSM.

1 LCD 16 X2.

æ

ARDUINO.

DEV C++ .

Step 3: Código (programado Em C)

#include

#include

Liquid Crrystal lcd (12, 11, 5, 4, 3, 2);

SoftwareSerial mySerial (9, 10);

sensor int = 7;

int speaker = 8;

int gas_value, Gas_alert_val, Gas_shut_val;

int Gas_Leak_Status;

int sms_count = 0;

configuração vazia ()

{

pinMode (sensor, INPUT);

pinMode (alto-falante, OUTPUT);

mySialial.begin (9600);

Serial.begin (9600);

lcd.begin (16,2);

atraso (500);

}

loop vazio ()

{

CheckGas ();

CheckShutDown ();

}

vazio CheckGas ()

{

lcd.setCursor (0,0);

lcd.print ("Gas Scan - ON");

Gas_alert_val = ScanGasLevel ();

se (Gas_alert_val == BAIXO)

{

SetAlert (); // Função para enviar alertas de SMS

}}

int ScanGasLevel ()

{

gas_value = digitalRead (sensor); // lê a saída do sensor (Vout de LM35)

retornar gas_value; // retorna o valor da temperatura em grau Celsius

}

vazio SetAlert ()

{

digitalWrite (alto-falante, HIGH);

enquanto (sms_count <3) // Número de alertas de SMS a serem enviados

{

Enviar mensagem de texto(); // Função para enviar comandos AT ao módulo GSM

}

Gas_Leak_Status = 1;

lcd.setCursor (0,1);

lcd.print ("Gas Alert! SMS Sent!");

}

vazio CheckShutDown ()

{

se (Gas_Leak_Status == 1)

{

Gas_shut_val = ScanGasLevel ();

se (Gas_shut_val == HIGH)

{

lcd.setCursor (0,1);

lcd.print ("No Gas Leaking");

digitalWrite (alto-falante, BAIXO);

sms_count = 0;

Gas_Leak_Status = 0;

}}}

anular SendTextMessage ()

{

mySialial.println ("AT + CMGF = 1"); // Para enviar SMS no modo de texto

atraso (1000);

mySialial.println ("AT + CMGS = \" + 919495xxxxxx \ "\ r"); // mude para o número de telefone que você usa

atraso (1000);

mySialial.println ("Gas Leaking!"); // o conteúdo da mensagem

atraso (200);

mySialial.println ((char) 26); // o caractere de parada

atraso (1000);

mySialial.println ("AT + CMGS = \" + 918113xxxxxx \ "\ r"); // mude para o número de telefone que você usa

atraso (1000);

mySialial.println ("Gas Leaking!"); // o conteúdo da mensagem

atraso (200);

mySialial.println ((char) 26); // o caractere de parada da mensagem atraso (1000);

sms_count ++;}

Step 4: ​Funções Utilizadas No Código

CheckGas () é a função que monitora a ocorrência de um vazamento de gás 24 × 7. Esta função obtém o nível de gás medido pelo MQ35 (lendo digital fora do MQ35 usando o comando digitalRead ()) e o armazena na variável Gas_alert_val para comparação. Se não houver "vazamento de gás" - o sensor para fora será ALTO . Se houver um "vazamento de gás" em qualquer ponto do tempo, o sensor para fora mudará imediatamente para o estado BAIXO . A declaração se (Gas_alert_val == BAIXO) verifica isso e se ocorrer um vazamento de gás, então será inscrito um SetAlert interno () .

tAlert () é a função que controla o número de alertas SMS enviados para cada número de celular carregado no programa. O número de alertas SMS enviados pode ser alterado alterando a condição de parada do loop while. A condição de parada sms_count <3 - significa que 3 alertas de SMS serão enviados para cada número de celular. Se você deseja enviar 5 alertas, basta alterar a condição de parada para sms_count <5 - você obteve? A função para enviar SMS (usando comandos AT) - SendTextMessage () será chamada 3 vezes se a contagem de alerta SMS for 3.

CheckShutDown () é a função que monitoriza se o vazamento de gás foi desligado. Precisamos entreter essa função somente se ocorrer um "vazamento de gás". Para limitar a entrada para as declarações dentro desta rotina, introduzimos uma variável Gas_Leak_Status . Este valor variável será definido como valor 1 quando ocorrer um vazamento de gás (verifique a declaração dentro de SetAlert ()). As declarações dentro de CheckShutDown () serão executadas somente se o valor de Gas_Leak_Status == 1 .

Comments

DIY Hacks and How Tos (author)2017-11-18

Great tutorial. Thanks for sharing with the community.

About This Instructable

66views

0favorites

License:

More by larissamedina:Detector De Vazamento De Gás
Add instructable to: