Inclua um importante item de segurança no seu projeto de automação residencial, criando um alarme sensor de gás com o módulo sensor de gás e fumaça MQ-2:

O módulo sensor de gás MQ-2
O sensor MQ-2 (datasheet), é um detector de gás e fumaça que pode indicar a presença de GLP (Gás liquefeito de petróleo, o famoso gás de cozinha), Propano, Metano, Hidrogênio e outros tipos de gases. Seu nível de detecção vai de 300 a 10.000 ppm (partes por milhão), ajustáveis por um potenciômetro na parte de trás do módulo. Um chip comparador LM393 é responsável por ler as informações do sensor e converter essas informações em sinais para o microcontrolador.
A tensão de alimentação do módulo é de 5V e a comunicação com o microcontrolador pode ser feita de duas maneiras : pela saída digital D0 ou pela saída analógica A0. Podemos utilizar a saída digital para simplesmente ligar uma sirene ou acionar um relé que vai fechar/abrir uma porta, cortar o fornecimento de gás, etc. Já a saída analógica informa o nível de concentração de gases detectados pelo sensor. Quanto maior a concentração, maior o nível de sinal na saída analógica A0.
Circuito do sensor com Arduino
A exemplo de outros sensores para Arduino, vamos trabalhar apenas com portas digitais e analógicas, lendo os valores enviados pelo sensor. No nosso circuito de testes, usamos a porta digital 7 para ligação ao pino D0 do módulo, e a porta analógica A2 ligada ao pino A0 do módulo.
As portas digitais 8, 9 e 10 serão utilizadas para acionar um led vermelho e um buzzer (gás detectado), e um led verde no modo normal de operação (sem alarme).
Como estamos trabalhando apenas com portas digitais e analógicas, não vamos precisar de nenhuma biblioteca específica para esse sensor.
No programa, o valor lido da porta analógica (valor_analogico), é comparado com a variável nivel_sensor para determinar em que ponto será acionado o buzzer e a também o led vermelho.
Nos nossos testes, o valor inicial da leitura ficou em 213 , e aumentou rapidamente para 550 na presença de gás. Ajuste o valor de nivel_sensor de acordo com o nível de detecção desejado.
// Programa : Alarme com sensor de gas MQ-2
// Autor : Arduino e Cia
// Definicoes dos pinos dos leds e buzzer
int pin_led_verm = 8;
int pin_led_verde = 9;
int pin_buzzer = 10;
// Definicoes dos pinos ligados ao sensor
int pin_d0 = 7;
int pin_a0 = A2;
int nivel_sensor = 250;
void setup()
{
// Define os pinos de leitura do sensor como entrada
pinMode(pin_d0, INPUT);
pinMode(pin_a0, INPUT);
// Define pinos leds e buzzer como saida
pinMode(pin_led_verm, OUTPUT);
pinMode(pin_led_verde, OUTPUT);
pinMode(pin_buzzer, OUTPUT);
// Inicializa a serial
Serial.begin(9600);
}
void loop()
{
// Le os dados do pino digital D0 do sensor
int valor_digital = digitalRead(pin_d0);
// Le os dados do pino analogico A0 do sensor
int valor_analogico = analogRead(pin_a0);
// Mostra os dados no serial monitor
Serial.print("Pino D0 : ");
Serial.print(valor_digital);
Serial.print(" Pino A0 : ");
Serial.println(valor_analogico);
// Verifica o nivel de gas/fumaca detectado
if (valor_analogico > nivel_sensor)
{
// Liga o buzzer e o led vermelho, e
// desliga o led verde
digitalWrite(pin_led_verm, HIGH);
digitalWrite(pin_led_verde, LOW);
digitalWrite(pin_buzzer, HIGH);
}
else
{
// Desliga o buzzer e o led vermelho, e
// liga o led verde
digitalWrite(pin_led_verm, LOW);
digitalWrite(pin_led_verde, HIGH);
digitalWrite(pin_buzzer, LOW);
}
delay(100);
}
Você pode verificar o funcionamento do alarme sensor de gás em tempo real, acompanhando o valor das variáveis valor_digital (porta D0) e valor_analogico (porta A0) no serial monitor:
Gostou? Então confira outros posts com módulos aqui mesmo no Arduino e Cia!