Alarme sensor de gás com o módulo MQ-2

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:

Sensor de gás MQ-2

O módulo sensor de gás MQ-2

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), PropanoMetanoHidrogê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!

5/5 - (2 votos)

Related posts

Processing e Conversor Digital Analógico DAC MCP4725

by Arduino e Cia
9 anos ago

Arduino – Como realizar um scroll no LCD 16×2, deixando uma linha fixa

by Arduino e Cia
11 anos ago

Dimmer com Arduino usando portas analógicas

by Arduino e Cia
11 anos ago
Sair da versão mobile