Skip to Content

Como usar o Sensor de Gás Metano MQ-4 com Arduino

Como usar o Sensor de Gás Metano MQ-4 com Arduino

Neste tutorial, vamos aprender como usar o Sensor de Gás Metano MQ-4 com Arduino para construir um sistema de alarme de deteção de gás. Este sistema utilizará um LED e um buzzer para nos alertar quando for detetado gás metano no ambiente.

Os sensores de gás são essenciais em várias aplicações, incluindo ambientes industriais, segurança doméstica e monitorização ambiental. O sensor de gás MQ-4 é especificamente desenhado para detetar gás metano, tornando-o ideal para aplicações onde é necessário monitorizar fugas de metano.

Para criar o nosso sistema de alarme de deteção de gás, vamos ligar o sensor de gás MQ-4 a uma placa Arduino e programá-lo para ativar o LED e o buzzer quando for detetado gás metano. Vamos começar por reunir as peças necessárias para este projeto.

Peças Necessárias

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Abaixo encontrará as peças necessárias para este projeto. Se já tiver um conjunto de resistores e alguns LEDs, não precisará do kit sugerido. Apenas um LED vermelho e um resistor de 220 Ohm são necessários para este projeto específico.

Arduino Uno

Dupont wire set

Conjunto de Fios Dupont

Half_breadboard56a

Breadboard

USB Data Sync cable Arduino

Cabo USB para Arduino UNO

Kit de Resistores & LED

Buzzer Passivo

Sensor de Gás MQ-4

Apresentação do Sensor de Gás MQ-4

O Sensor de Gás MQ-4 é um sensor popular usado para detetar gás metano. É frequentemente utilizado em sistemas de deteção de fugas de gás e também pode detetar álcool, fumos de cozinha e fumo de cigarro. É muito fácil de usar e pode ser integrado de forma simples com placas Arduino para vários projetos.

Características do Sensor de Gás MQ-4

O Sensor de Gás MQ-4 possui as seguintes características:

  • Tensão de Funcionamento: O sensor opera numa faixa de tensão de 5V a 24V DC.
  • Tensão do Aquecedor: Requer uma tensão de aquecedor de 5V ±0,2V.
  • Resistência do Aquecedor: O sensor tem uma resistência do aquecedor de 31Ω ±3Ω.
  • Consumo de Energia: Baixo consumo de energia (100mA)
  • Sensibilidade: O sensor MQ-4 tem alta sensibilidade ao gás metano (CH4), tornando-o adequado para detetar fugas de gás natural.
  • Faixa de Deteção: O sensor tem uma faixa de deteção de 300 a 10.000 ppm (partes por milhão) para gás metano.
  • Tempo de Aquecimento: Requer um tempo de aquecimento de aproximadamente 48 horas antes de fornecer leituras precisas.
  • Tempo de Resposta: O tempo de resposta do sensor é inferior a 10 segundos.
  • Tempo de Recuperação: O tempo de recuperação do sensor é inferior a 30 segundos.
  • Temperatura de Funcionamento: O sensor pode operar numa faixa de temperatura de -10°C a 50°C.
  • Dimensões: O módulo do sensor de gás MQ-4 tem dimensões aproximadas de 32mm x 20mm x 22mm.
  • Interface: Pode ser facilmente ligado a microcontroladores ou placas de desenvolvimento usando pinos analógicos ou digitais.

Note que estas especificações podem variar ligeiramente dependendo do fabricante ou do modelo específico do sensor de gás MQ-4.

Funcionamento Interno do Sensor de Gás MQ-4

Nesta secção, damos uma rápida vista de olhos ao funcionamento interno do sensor MQ-4. No coração do sensor está a camada sensora de gás composta por um óxido metálico (SnO2). Quando o gás metano entra em contacto com esta camada, reage com o oxigénio presente na superfície do SnO2. Isto resulta numa alteração da resistência do material. Medimos esta alteração para detetar a presença e concentração do gás.

As imagens abaixo são retiradas do MQ-4 Datasheet sensor e mostram os seus componentes e circuitos internos.

Envolvendo a camada sensora (1) está uma bobina de aquecimento (4). Este é um componente importante porque a camada de SnO2 precisa de ser aquecida para que a reação química com o metano ocorra. Por isso, vai sentir que o sensor aquece.

A envolver estes componentes está o tubo cerâmico (5). Ele protege fisicamente a camada sensora e a bobina de aquecimento. Também ajuda a manter uma temperatura estável dentro do sensor, fornecendo isolamento térmico.

Finalmente, temos os eletrodos (2, 3), feitos de ouro (Au) e platina (Pt). Estes estão ligados à camada sensora. Os eletrodos medem as alterações na resistência da camada sensora.

Características de Sensibilidade do Sensor de Gás MQ-4

O sensor de gás MQ-4 é principalmente desenhado para detetar metano (CH4). Mas também tem níveis variados de sensibilidade a outros gases, incluindo GPL (gás de petróleo liquefeito), hidrogénio (H2), monóxido de carbono (CO), álcool e fumo. A sensibilidade do sensor refere-se à razão entre a resistência do sensor em vários gases e a resistência do sensor em ar limpo. O gráfico seguinte mostra as características de sensibilidade para esses gases.

Para o metano, pode ver que o MQ-4 tem uma excelente sensibilidade. Isto significa que podemos detetar e medir com precisão as alterações na concentração de metano na atmosfera. Mesmo pequenas alterações na quantidade de metano resultarão em mudanças notórias na resistência do sensor.

Para GPL e hidrogénio, o sensor MQ-4 também apresenta uma sensibilidade bastante alta, embora não tão elevada como para o metano. Isto significa que, embora possamos detetar estes gases, as leituras podem não ser tão precisas ou responsivas como para o metano.

Finalmente, o sensor MQ-4 tem uma sensibilidade menor ao monóxido de carbono, álcool e fumo. Isto significa que, embora o sensor reaja a estes gases, as alterações na resistência serão menores.

Dependência da Humidade e Temperatura do Sensor de Gás MQ-4

Note que a precisão do sensor de gás MQ-4 é influenciada não só pela presença dos gases alvo, mas também por fatores ambientais como humidade e temperatura. O gráfico seguinte mostra a alteração da resistência dependendo da temperatura ambiente e da humidade:

A humidade pode afetar o desempenho do sensor, principalmente porque o vapor de água pode ocupar os locais ativos na camada sensora de dióxido de estanho (SnO2) onde ocorrem as reações de deteção de gás. Em níveis elevados de humidade, a sensibilidade do sensor ao metano diminui, o que pode levar a leituras menos precisas.

A temperatura é outro fator importante ao usar o sensor de gás MQ-4. O sensor MQ-4 inclui um aquecedor incorporado para manter a temperatura necessária para a camada sensora de SnO2. No entanto, a temperatura ambiente ainda pode influenciar as leituras do sensor.

Para leituras precisas e estáveis, pode ser considerada a combinação do sensor de gás MQ-4 com um sensor de temperatura e humidade. Note também que o MQ-4 precisa de aquecer (lembre-se do elemento de aquecimento) por pelo menos 20 segundos antes que as suas leituras se tornem estáveis e fiáveis.

Outros Sensores de Gás MQ

O Sensor de Gás MQ-4 é apenas um dos muitos sensores de gás disponíveis na série MQ. Cada sensor da série é desenhado para detetar um gás específico. Abaixo encontra uma comparação entre o Sensor de Gás MQ-4 e alguns outros sensores de gás MQ comumente usados:

  1. Sensor de Gás MQ-2: O sensor MQ-2 é desenhado para detetar múltiplos gases, incluindo metano, propano, butano e álcool. Tem uma faixa de deteção mais ampla comparado ao MQ-4, tornando-o adequado para aplicações onde é necessária a deteção de vários gases.
  2. Sensor de Gás MQ-5: O sensor MQ-5 é especificamente desenhado para detetar gás natural e GPL (gás de petróleo liquefeito). Tem uma sensibilidade maior a estes gases comparado ao MQ-4, tornando-o ideal para sistemas de deteção de fugas de gás.
  3. Sensor de Gás MQ-6: O sensor MQ-6 é desenhado para detetar gases GPL, butano e propano. Tem uma sensibilidade semelhante ao metano como o MQ-4, mas está mais focado na deteção destes gases específicos.
  4. Sensor de Gás MQ-9: O sensor MQ-9 é desenhado para detetar monóxido de carbono, gases inflamáveis e fumo. Tem uma faixa de deteção mais ampla comparado ao MQ-4 e é comumente usado em sistemas de deteção de incêndios.

Note que temos um tutorial para um Air Pollution Monitoring and Alert System Using MQ-135 e outro tutorial sobre o MQ3 Sensor & Arduino: Building An Alcohol Detector.

Pinout do Sensor de Gás MQ-4

Um módulo típico do sensor de gás MQ-4 é mostrado na imagem abaixo. Normalmente vem com 4 pinos: A0, D0, VCC e GND.

Pinout of MQ-4 Gas Sensor
Pinout do MQ-4

Aqui está o resumo dos pinos do módulo do sensor de gás metano.

Nomes dos Pinos Descrição dos Pinos Observações
VCC Alimentação Positiva 5 V é a alimentação recomendada
A0 Saída analógica Ligue este pino a uma entrada analógica do Arduino
D0 Saída digital Ligue a qualquer pino GPIO do Arduino
GND Terra  

No lado de trás do módulo encontrará um trimmer para ajustar a sensibilidade da deteção. Há também um LED de alimentação (vermelho) que acende quando o módulo tem energia e um LED de deteção (verde) que acende quando o gás é detetado.

Backside of MQ-4 gas sensor module
Lado de trás do módulo do sensor de gás MQ-4

Testar o Sensor de Gás MQ-4

Pode testar facilmente o funcionamento do módulo sem um Arduino. Ligue VCC e GND a uma fonte de alimentação de 5V e o LED vermelho de alimentação na parte de trás do módulo deve acender. Agora espere alguns segundos (para leituras estáveis >20 segundos). Vai notar que o módulo do sensor aquece ligeiramente. Isto é normal. Há um elemento de aquecimento interno necessário para o funcionamento do sensor.

Testing the MQ-4 gas sensor
Testar o sensor de gás MQ-4

Se agora colocar um isqueiro perto e pressionar o botão para libertar o gás ( não o acenda! ), o LED verde de deteção na parte de trás deve acender. Caso contrário, ajuste o trimmer na parte de trás do módulo.

Na próxima secção, vamos discutir como ligar o Sensor de Gás MQ-4 ao Arduino e escrever o código necessário para começar a detetar gás metano.

Ligar as Peças

Nesta secção ligamos todas as peças. Comecemos por ligar a fonte de alimentação à breadboard e depois desta ao sensor MQ-4 (fios azul e vermelho). Certifique-se de que os 5V estão ligados ao VCC do MQ-4. Depois ligamos a saída analógica de dados (A0) do MQ-4 com um fio amarelo ao Pino A0 (entrada analógica) do Arduino.

Connecting the buzzer, led and MQ-4 to the Arduino
Ligação do buzzer, LED e MQ-4 ao Arduino

Ao ligar o buzzer, certifique-se de ligar o polo positivo (marcado com um símbolo (+) ténue) ao Pino 3 do Arduino (fio roxo). O outro pino está ligado ao terra.

Finalmente o LED. Primeiro ligamos o resistor ao pino mais longo do LED (Ânodo) e depois o resistor ao Pino 2 do Arduino (fio verde). O outro pino do LED deve ser ligado ao terra.

E é tudo. A ligação está completa. Se precisar de mais detalhes, consulte a tabela completa de ligações abaixo.

De Pino Cor do fio Para Pino
Arduino 5V Vermelho Breadboard Trilho positivo
Arduino GND Azul Breadboard Trilho negativo
MQ-4 GND Azul Breadboard Trilho negativo
MQ-4 VCC Vermelho Breadboard Trilho positivo
MQ-4 Out/Sinal Amarelo Arduino A0
Buzzer Positivo (+) Roxo Arduino ~4
Buzzer Negativo (-) Azul Breadboard Trilho negativo
Resistor Qualquer LED Ânodo (pino longo)
Resistor Qualquer outro Verde Arduino ~3
LED Cátodo (pino curto) Azul Breadboard Trilho negativo

Na próxima secção vamos escrever o código para o nosso sistema de deteção de gás.

Escrever o Código Arduino

Nesta secção vamos escrever o código para o nosso sistema de alarme de deteção de gás. Queremos ligar o LED e ativar o buzzer se os níveis de gás no ambiente ultrapassarem um determinado limiar. Abaixo está o código completo e na próxima secção explicaremos as suas partes.

const int ledPin = 2;
const int buzzerPin = 3;
const int sensorPin = A0;
const int threshold = 500;

void alarm_on() {
  digitalWrite(ledPin, HIGH);
  tone(buzzerPin, 5000);
  delay(1000);
  alarm_off();
}

void alarm_off() {
  digitalWrite(ledPin, LOW);
  noTone(buzzerPin);
  delay(500);
}

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  Serial.print("MQ-4:");
  Serial.println(sensorValue);
  (sensorValue > threshold) ? alarm_on() : alarm_off();
}

Constantes

Começamos por declarar as constantes necessárias.

const int ledPin = 2;
const int buzzerPin = 3;
const int sensorPin = A0;
const int threshold = 500;

Primeiro definimos ledPin, que representa o número do pino ao qual o LED está ligado. buzzerPin é o pino ao qual o buzzer está ligado. Depois precisamos de uma constante para o sensorPin, onde o sensor MQ-4 está ligado. E finalmente definimos um threshold que especifica o nível de gás a partir do qual o sistema de alarme se torna ativo.

Funções do Alarme

De seguida definimos duas funções: alarm_on() e alarm_off(). Estas funções controlam o comportamento do sistema de alarme. A função alarm_on() é responsável por ligar o alarme.

void alarm_on() {
  digitalWrite(ledPin, HIGH);
  tone(buzzerPin, 5000);
  delay(1000);
  alarm_off();
}

Nela, primeiro definimos o pino do LED para HIGH, ligando o LED. Depois ativamos o buzzer gerando um tom com frequência de 5000 Hz. Esperamos 1000ms = 1s e finalmente chamamos alarm_off() para desligar o alarme. Isto resultará num som intermitente enquanto detetarmos níveis elevados de gás.

void alarm_off() {
  digitalWrite(ledPin, LOW);
  noTone(buzzerPin);
  delay(500);
}

Na função alarm_off(), primeiro definimos o pino do LED para LOW, desligando o LED. Depois paramos o buzzer chamando a função noTone(). E finalmente esperamos 500ms = 0,5 segundos.

Função Setup

Na função setup() inicializamos a comunicação e os modos de IO dos pinos. Nada de especial. Apenas certifique-se de que o pino do sensor está em modo INPUT.

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
}

Função Loop

Na função loop() lemos continuamente o valor analógico do sensor MQ-4 e ativamos o alarme se o valor do sensor ultrapassar o limiar.

void loop() {
  int sensorValue = analogRead(sensorPin);
  Serial.print("MQ-4:");
  Serial.println(sensorValue);
  (sensorValue > threshold) ? alarm_on() : alarm_off();
}

A única parte interessante aqui é a linha (sensorValue > 500) ? alarm_on() : alarm_off(), onde usamos um ternary conditional operator para verificar se o valor do sensor é maior que o threshold. Se for, a função alarm_on() é chamada para ativar o alarme. Caso contrário, a função alarm_off() é chamada para desligar o alarme.

Este ciclo continua indefinidamente, monitorizando continuamente o valor do sensor e ativando o alarme conforme necessário.

Executar o código

Se abrir o Monitor Serial e executar este código, verá uma linha com o rótulo “MQ-4” a aparecer. Quando expuser o sensor MQ-4 a gás metano (por exemplo, gás de um isqueiro), deverá notar um aumento súbito do valor do sensor e depois uma descida mais lenta. Veja a imagem abaixo, onde fiz exatamente isso.

Serial Plotter output with gas detection peak
Saída do Serial Plotter com pico de deteção de gás

Parabéns, agora tem um sistema de alarme de deteção de gás a funcionar! Divirta-se a experimentar ; )

Conclusão

Neste tutorial, aprendemos como usar o Sensor de Gás Metano MQ-4 com Arduino. Começámos por apresentar as peças necessárias para este projeto, que incluem uma placa Arduino, o sensor de gás MQ-4, um buzzer, um LED, fios jumper e uma breadboard.

De seguida, discutimos o sensor de gás MQ-4 em detalhe, explicando o seu princípio de funcionamento e a sua capacidade para detetar gás metano. Também destacámos algumas das principais características deste sensor.

Depois, passámos ao aspeto prático do projeto e explicámos como ligar as peças. Fornecemos um diagrama de ligações claro e instruções passo a passo para garantir uma ligação bem-sucedida entre o sensor de gás MQ-4 e a placa Arduino.

Uma vez concluída a configuração do hardware, escrevemos o código Arduino. Explicámos como usar a entrada analógica do Arduino para ler os valores do sensor e ativar um alarme quando a concentração de gás ultrapassar um determinado limiar.

Em conclusão, o Sensor de Gás Metano MQ-4 é uma ferramenta útil para detetar fugas de gás metano ou monitorizar níveis de metano em várias aplicações. Seguindo este tutorial, deverá agora ter uma boa compreensão de como usar este sensor com Arduino e como interpretar as leituras do sensor.

Lembre-se de sempre ter cuidado ao trabalhar com sensores de gás e garantir uma ventilação adequada no ambiente de teste. A segurança deve ser uma prioridade máxima ao lidar com gases potencialmente perigosos.

Esperamos que este tutorial tenha sido útil para começar a usar o Sensor de Gás Metano MQ-4. Se tiver mais perguntas ou precisar de assistência adicional, consulte a secção de Perguntas Frequentes ou contacte-nos através dos links fornecidos.

Boas experiências e mantenha-se seguro!

Perguntas Frequentes

Aqui estão algumas perguntas comuns sobre o uso do Sensor de Gás Metano MQ-4 com Arduino:

P1: Como funciona o Sensor de Gás MQ-4?

O Sensor de Gás MQ-4 funciona com base no princípio da condutividade do gás. Contém um elemento sensor feito de dióxido de estanho (SnO2) que reage com o gás metano. Quando o gás metano está presente, a condutividade do elemento sensor aumenta, o que pode ser medido pelo Arduino.

P2: O Sensor de Gás MQ-4 pode detetar outros gases além do metano?

Embora o Sensor de Gás MQ-4 seja principalmente desenhado para detetar gás metano, também pode detetar outros gases inflamáveis como propano e butano. No entanto, pode não ser tão preciso ou sensível para gases diferentes do metano.

P3: Quão preciso é o Sensor de Gás MQ-4?

A precisão do Sensor de Gás MQ-4 pode variar dependendo de vários fatores, como calibração, condições ambientais e concentração do gás detetado. Recomenda-se calibrar o sensor periodicamente para melhor precisão.

P4: Como posso calibrar o Sensor de Gás MQ-4?

Para calibrar o Sensor de Gás MQ-4, pode expô-lo a uma concentração conhecida de gás metano e ajustar o potenciômetro de sensibilidade até que o sensor forneça a resposta desejada. É importante seguir as diretrizes do fabricante para a calibração.

P5: Posso usar o Sensor de Gás MQ-4 para aplicações de segurança?

Embora o Sensor de Gás MQ-4 possa detetar gases inflamáveis, não é certificado para aplicações de segurança. Destina-se principalmente a fins educativos, de pesquisa e prototipagem. Para aplicações críticas de segurança, recomenda-se usar sensores de gás certificados que cumpram os padrões exigidos.

P6: Posso usar o Sensor de Gás MQ-4 com ESP32?

Sim, o Sensor de Gás MQ-4 pode ser usado com ESP32 também. A ligação e o código serão semelhantes aos usados com Arduino. No entanto, certifique-se de verificar os níveis de tensão e a compatibilidade dos pinos entre o sensor e a placa ESP32.

P7: Posso alimentar o Sistema de Deteção de Gás com baterias?

É possível, mas requer baterias bastante grandes e não recomendaria. O sensor MQ-4 consome cerca de 100mA e precisa de aquecer por pelo menos 30 segundos para leituras fiáveis. Isto significa que, mesmo que coloquemos o Arduino em deep-sleep para poupar energia e acordá-lo apenas a cada 5 minutos, não podemos evitar que o MQ-4 consuma a maior parte da energia.

Lembre-se de consultar o MQ-4 Gas Sensor Datasheet para informações e especificações mais detalhadas.

Links

Abaixo alguns outros links úteis sobre o sensor MQ-4 e como usá-lo com um Arduino.