ESP8266 - Sensor de Gás

Este tutorial ensina você a usar o ESP8266 e o sensor de gás MQ2 para avaliar a qualidade do ar medindo os níveis de gases como GLP, fumaça, álcool, propano, hidrogênio, metano e monóxido de carbono. Em detalhes, vamos aprender:

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Gás MQ2
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Sensor de Gás MQ2

O sensor de gás MQ2 é um dispositivo útil que consegue detectar os níveis de vários gases, incluindo GLP, fumaça, álcool, propano, hidrogênio, metano e monóxido de carbono, no ambiente ao redor. Ele oferece duas opções de saída: um pino de saída digital e um pino de saída analógica.

É importante observar que o sensor de gás MQ2 não fornece informações separadas sobre cada gás. Em vez disso, ele nos dá uma indicação geral da combinação de gases ou da 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 está ruim. Essa informação é valiosa, pois nos permite tomar as medidas adequadas para garantir a nossa segurança, como ativar um alarme ou ligar sistemas de ventilação.

Pinagem

O sensor de gás MQ2 consiste em quatro pinos que cumprem funções diferentes:

  • Pino VCC: Deve ser conectado ao terminal positivo da fonte de alimentação (5V) para fornecer a energia necessária ao sensor.
  • Pino GND: Deve ser conectado ao terminal negativo da fonte de alimentação (0V) para completar o circuito elétrico.
  • Pino DO: É um pino de saída digital que indica a presença de gases inflamáveis. Quando a concentração de gás é detectada, a saída é definida como LOW e, quando nenhum gás é detectado, a saída é definida como HIGH. O limite para a detecção da concentração de gás pode ser ajustado usando um potenciômetro embutido no sensor.
  • Pino AO: É um pino de saída analógica que gera um sinal de tensão proporcional à concentração de gás. Quando a concentração de gás aumenta, a tensão de saída também aumenta e, quando a concentração de gás diminui, a tensão de saída diminui da mesma forma.
Pinagem do Sensor de Gás MQ2

Além disso, o sensor de gás MQ2 inclui dois indicadores LED:

  • Indicador PWR-LED: Este LED serve como indicador de alimentação, mostrando se o sensor está recebendo energia. Quando o sensor está devidamente alimentado, o PWR-LED fica aceso, dando uma confirmação visual do estado de funcionamento do sensor.
  • Indicador DO-LED: Este LED está ligado diretamente ao pino DO do sensor. Ele indica a presença de concentração de gás com base no valor recebido do pino DO. Quando a concentração de gás é detectada e o pino DO está em LOW, o DO-LED acende. Por outro lado, quando nenhuma concentração de gás é detectada e o pino DO está em HIGH, o DO-LED apaga.

Como Funciona

Quanto ao pino DO:

  • O módulo MQ2 inclui um potenciômetro embutido para ajustar a sensibilidade ou o limite da concentração de gás.
  • Quando a concentração de gás no ambiente ao redor ultrapassa o limite definido, o pino de saída do sensor vai para LOW e o DO-LED acende.
  • Por outro lado, quando a concentração de gás fica abaixo do limite, o pino de saída vai para HIGH e o DO-LED apaga.

Quanto ao pino AO:

  • A tensão no pino AO aumenta à medida que a concentração de gás sobe.
  • Por outro lado, à medida que a concentração de gás diminui, a tensão no pino AO diminui da mesma forma.

É importante observar que o ajuste do potenciômetro não afeta o valor no pino AO.

O Aquecimento do Sensor MQ2

O sensor de gás MQ2 precisa de um período de aquecimento antes de poder ser usado de forma eficaz. Veja o que você precisa saber:

  • Ao usar o sensor pela primeira vez depois de um longo período de armazenamento (cerca de um mês ou mais), é necessário aquecê-lo por 24-48 horas. Isso garante que o sensor funcione com precisão.
  • Se o sensor foi usado recentemente, o tempo de aquecimento é muito menor, normalmente de apenas 5-10 minutos. Durante esse período de aquecimento, é normal que o sensor forneça inicialmente leituras mais altas. No entanto, essas leituras vão diminuir gradualmente até o sensor se estabilizar.

Para aquecer o sensor MQ2, basta conectar os pinos VCC e GND dele a uma fonte de alimentação ou aos pinos VCC e GND de um ESP8266. Deixe o sensor conectado durante o período de aquecimento indicado.

Diagrama de Ligação

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

  • O diagrama de ligação entre o ESP8266 e o sensor de gás MQ2 usando somente o DO.
diagrama de ligação do sensor de gás MQ2 com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

  • O diagrama de ligação entre o ESP8266 e o sensor de gás MQ2 usando somente o AO.
diagrama de ligação da qualidade do ar com ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

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

This image is created using Fritzing. Click to enlarge image

Código ESP8266 - Ler o valor do pino DO

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-gas-sensor */ #define DO_PIN D7 // esp8266's pin d7 connected to DO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the esp8266'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

Para começar com o ESP8266 na Arduino IDE, siga estes passos:

  • Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Faça a ligação dos componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Copie o código acima e abra na Arduino IDE
  • Clique no botão Upload na Arduino IDE para fazer o upload do código para o ESP8266
  • Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

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

Código ESP8266 - Ler o valor do pino AO

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-gas-sensor */ #define AO_PIN A0 // esp8266's pin connected to AO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 na Arduino IDE
  • Clique no botão Upload na Arduino IDE para fazer o upload do código para o ESP8266
  • Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
  • Confira o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' 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
Nodemcu 1.0 (ESP-12E Module) on COM15
2

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

※ Nota:

Este tutorial usa a função analogRead() para obter dados de um ADC (Conversor Analógico-Digital) conectado a um sensor ou a outro componente. O ADC do ESP8266 funciona bem em projetos que não exigem leituras muito precisas. Mas lembre-se de que o ADC do ESP8266 não é muito preciso para medições detalhadas. Se o seu projeto precisa ser muito preciso, você pode querer usar um ADC separado, como o ADS1115, com o ESP8266, ou usar um Arduino como o Arduino Uno R4 WiFi, que tem um ADC mais confiável.

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!