ESP32 - Sensor de Gás
Este tutorial vai guiar você no uso do ESP32 e do sensor de gás MQ2 para avaliar a qualidade do ar examinando os níveis de vários gases inflamáveis, como GLP, fumaça, álcool, propano, hidrogênio, metano e monóxido de carbono. Vamos ver os seguintes pontos em detalhes:
- Como fazer a conexão entre o sensor de gás e o ESP32
- Como programar o ESP32 para obter as leituras do sensor de gás
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Gás MQ2
O sensor de gás MQ2 pode detectar a presença de vários gases, como 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 saber que o sensor de gás MQ2 não dá informação específica sobre cada gás individualmente. Em vez disso, ele informa sobre a combinação dos gases ou a presença de gases como um todo.
Com o sensor MQ2, podemos identificar se há um vazamento de gás ou se a qualidade do ar está ruim. Essa informação nos permite tomar as ações certas para garantir a nossa segurança, como ativar um alarme ou ligar sistemas de ventilação.
Pinagem
O sensor de gás MQ2 tem quatro pinos, cada um com uma função:
- Pino VCC: este pino deve ser conectado ao VCC (5V).
- Pino GND: este pino deve ser conectado ao GND (0V).
- Pino DO: é um pino de saída digital que indica a presença de gases inflamáveis. Quando a concentração de gás inflamável é detectada, o pino envia um sinal LOW; caso contrário, envia um sinal HIGH. O valor limite para detectar a concentração de gás pode ser ajustado com um potenciômetro embutido.
- Pino AO: é um pino de saída analógica que gera uma tensão analógica 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.

Além disso, o sensor de gás MQ2 tem dois LEDs indicadores:
- LED PWR: este LED indica a alimentação, mostrando que o sensor está recebendo energia. Ele fica aceso quando o sensor está alimentado e funcionando.
- LED DO: este LED está ligado ao pino DO do sensor. Ele mostra visualmente a concentração de gás com base no valor do pino DO. Quando há concentração de gás e o pino DO está em LOW, o LED DO acende. Por outro lado, se nenhuma concentração de gás é detectada e o pino DO está em HIGH, o LED DO apaga.
Como Funciona
Sobre o pino DO:
- O módulo MQ2 tem um potenciômetro embutido que permite ajustar a sensibilidade ou o limite da concentração de gás.
- Se a concentração de gás no ambiente ao redor passar do limite definido, o pino de saída do sensor vai para LOW e o LED DO acende.
- Por outro lado, se a concentração de gás ficar abaixo do limite definido, o pino de saída do sensor vai para HIGH e o LED DO apaga.
Sobre o pino AO:
- Quando a concentração de gás aumenta, a tensão no pino AO também aumenta de forma proporcional.
- Por outro lado, quando a concentração de gás diminui, a tensão no pino AO diminui na mesma proporção.
É importante saber que ajustar o potenciômetro não afeta o valor no pino AO.
Aquecimento do Sensor MQ2
O sensor de gás MQ2 precisa de um período de aquecimento antes de ser usado de forma eficaz. Veja os detalhes:
- Ao usar o sensor pela primeira vez depois de um longo período guardado (cerca de um mês ou mais), é necessário aquecê-lo por 24 a 48 horas. Esse tempo de aquecimento mais longo garante o funcionamento correto.
- Se o sensor foi usado há pouco tempo, o tempo de aquecimento é bem menor. Normalmente leva só de 5 a 10 minutos para o sensor aquecer por completo. Durante esse período, o sensor pode dar leituras altas no início, mas essas leituras vão diminuir aos poucos até o sensor se estabilizar.
Para aquecer o sensor MQ2, basta conectar os pinos VCC e GND a uma fonte de alimentação ou aos pinos VCC e GND de um ESP32. Deixe o sensor assim pelo tempo de aquecimento necessário.
Diagrama de Ligação
Como o módulo do sensor de gás MQ2 tem duas saídas, você pode usar uma delas ou as duas, conforme a sua necessidade.
- Como conectar o ESP32 e o sensor de gás usando protoboard (alimentado pelo cabo USB)

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
- Como conectar o ESP32 e o sensor de gás usando protoboard (alimentado pelo pino Vin)

This image is created using Fritzing. Click to enlarge image
- Como conectar o ESP32 e o sensor de gás usando uma placa breakout com bornes de parafuso (alimentado pelo cabo USB)

- Como conectar o ESP32 e o sensor de gás usando uma placa breakout com bornes de parafuso (alimentado pelo pino Vin)

Código ESP32 - Lendo o valor do pino DO
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 na Arduino IDE.
- Copie o código acima e abra na Arduino IDE
- Clique no botão Upload da Arduino IDE para fazer o upload do código para o ESP32
- Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
- Veja o resultado no Serial Monitor.
Lembre-se: se o LED ficar sempre aceso ou sempre apagado, você pode ajustar o potenciômetro para regular a sensibilidade do sensor.
Código ESP32 - Lendo o valor do pino AO
Passos Rápidos
- Copie o código acima e abra na Arduino IDE
- Clique no botão Upload da Arduino IDE para fazer o upload do código para o ESP32
- Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
- Veja o resultado no Serial Monitor.
Com os valores lidos do DO ou do AO, você pode inferir a qualidade do ar com base no seu próprio padrão, ou acionar um alarme ou ligar sistemas de ventilação.
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor de gás. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. Porém, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para dar resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC de cada placa individualmente.
- A calibração pode ser difícil, principalmente para iniciantes, e nem sempre dá o resultado exato que você quer.
Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, o ADS1115) com o ESP32, ou usar um Arduino, que tem um ADC mais confiável. Se mesmo assim você quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver