Arduino - Sensor de Gás

Neste tutorial, vamos aprender a usar o Arduino e o sensor de gás MQ2 para verificar a qualidade do ar, checando as concentrações de GLP, fumaça, álcool, propano, hidrogênio, metano e monóxido de carbono, ou outros gases inflamáveis. Em detalhes, vamos aprender:

Sobre o Sensor de Gás MQ2

O sensor de gás MQ2 é capaz de detectar a presença de concentrações de GLP, fumaça, álcool, propano, hidrogênio, metano e monóxido de carbono no ambiente ao redor. O sensor de gás MQ2 oferece duas opções, através de um pino de saída digital e de um pino de saída analógica.

Observe que o sensor de gás MQ2 não fornece informações sobre cada gás separadamente. Em vez disso, ele fornece informações sobre a combinação de gases ou a presença de gases como um todo.

Usando o sensor MQ2, podemos determinar se há um vazamento de gás ou se a qualidade do ar não está boa. Essa informação pode nos ajudar a tomar as medidas adequadas para ficarmos seguros, como disparar um alarme ou ligar sistemas de ventilação.

Pinagem

O sensor de gás MQ2 inclui quatro pinos:

  • Pino VCC: Precisa ser conectado ao VCC (5V).
  • Pino GND: Precisa ser conectado ao GND (0V).
  • Pino DO: Um pino de saída digital que indica a presença de gases inflamáveis. Fica em LOW se a concentração de gases for detectada e em HIGH caso contrário. O valor limite para detectar a concentração de gases pode ser ajustado usando um potenciômetro integrado.
  • Pino AO: Um pino de saída analógica que gera uma tensão de saída analógica que muda proporcionalmente com a concentração de gás. Quando a concentração de gás aumenta, a tensão também sobe, e quando a concentração de gás diminui, a tensão diminui proporcionalmente.
Pinagem do Sensor de Gás MQ2

Além disso, ele tem dois LEDs indicadores:

  • Um LED indicador PWR-LED para alimentação.
  • Um LED indicador DO-LED para a concentração de gás com base no valor do pino DO: ele acende quando há concentração de gás e apaga caso contrário.

Como Funciona

Para o pino DO:

  • O módulo tem um potenciômetro integrado para definir o limite de concentração de gases (sensibilidade).
  • Quando a concentração de gases no ambiente ao redor está acima do valor limite, o pino de saída do sensor fica em LOW e o DO-LED acende.
  • Quando a concentração de gases no ambiente ao redor está abaixo do valor limite, o pino de saída do sensor fica em HIGH e o DO-LED apaga.

Para o pino AO:

  • Quando a concentração de gás aumenta, a tensão também sobe.
  • Quando a concentração de gás diminui, a tensão diminui proporcionalmente.

Observe que o potenciômetro não afeta o valor no pino AO.

Aquecimento do Sensor MQ2

O sensor de gás MQ2 precisa ser aquecido antes do uso.

  • Quando você usar o sensor pela primeira vez depois de ele ter ficado guardado por muito tempo (um mês ou mais), ele precisa ser aquecido por 24-48 horas para garantir que funcione com precisão.
  • Se o sensor foi usado recentemente, levará apenas 5-10 minutos para aquecer totalmente. Durante esse período de aquecimento, o sensor pode inicialmente fornecer leituras altas, mas elas vão diminuir gradualmente até se estabilizarem.

Para aquecer o sensor MQ2, basta conectar seus pinos VCC e GND a uma fonte de alimentação, ou conectá-los ao VCC e GND do Arduino, e então deixá-lo assim por um período de tempo.

Diagrama de Ligação

Como o módulo sensor de gás MQ2 tem duas saídas, você pode escolher usar uma ou ambas, dependendo do que precisar.

  • O diagrama de ligação entre o Arduino e o sensor de gás MQ2 usando apenas o DO.
Diagrama de ligação do sensor de gás MQ2 com Arduino

This image is created using Fritzing. Click to enlarge image

  • O diagrama de ligação entre o Arduino e o sensor de gás MQ2 usando apenas o AO.
Diagrama de ligação de qualidade do ar com Arduino

This image is created using Fritzing. Click to enlarge image

  • O diagrama de ligação entre o Arduino e o sensor de gás MQ2 usando o AO e o DO.
Diagrama de ligação do sensor de fumaça com Arduino

This image is created using Fritzing. Click to enlarge image

Código Arduino - Ler valor do pino DO

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-gas-sensor */ #define DO_PIN 2 // Arduino's pin connected to DO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
Ln 11, Col 1
Arduino Uno on COM15
2

Lembre-se de que, se você notar que o LED permanece sempre aceso ou apagado, você pode ajustar o potenciômetro para regular a sensibilidade do sensor.

Código Arduino - Ler valor do pino AO

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-gas-sensor */ #define AO_PIN A0 // Arduino's pin connected to AO pin of the MQ2 sensor void setup() { // initialize serial communication Serial.begin(9600); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasValue = analogRead(AO_PIN); Serial.print("MQ2 sensor AO value: "); Serial.println(gasValue); }

Passos Rápidos

  • Copie o código acima e abra-o com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
MQ2 sensor AO value: 135 MQ2 sensor AO value: 136 MQ2 sensor AO value: 136 MQ2 sensor AO value: 573 MQ2 sensor AO value: 674 MQ2 sensor AO value: 938 MQ2 sensor AO value: 954 MQ2 sensor AO value: 1000 MQ2 sensor AO value: 1002 MQ2 sensor AO value: 1014 MQ2 sensor AO value: 1017
Ln 11, Col 1
Arduino Uno on COM15
2

A partir dos valores lidos no DO ou no AO, você pode inferir a qualidade do ar com base no seu padrão, ou disparar um alarme ou ligar sistemas de ventilação.

Vídeo

Referências de Funções

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!