Arduino Nano ESP32 - Sensor de Gás
Este tutorial vai guiar você no uso do Arduino Nano 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 abordar os seguintes aspectos em detalhes:
- Fazer a conexão entre o sensor de gás e o Arduino Nano ESP32
- Programar o Arduino Nano ESP32 para obter as leituras do sensor de gás
Hardware Necessário
Or you can buy the following kits:
| 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 notar que o sensor de gás MQ2 não fornece informações específicas sobre cada gás individualmente. Em vez disso, ele nos informa sobre a combinação de gases ou a presença de gases como um todo.
Ao usar 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 adequadas para garantir nossa segurança, como ativar um alarme ou ligar sistemas de ventilação.
Pinagem
O sensor de gás MQ2 tem quatro pinos com funções específicas:
- Pino VCC: este pino precisa ser conectado ao VCC (5V).
- Pino GND: este pino precisa ser conectado ao GND (0V).
- Pino DO: é um pino de saída digital que indica a presença de gases inflamáveis. Quando uma concentração de gás inflamável é detectada, o pino emite um sinal LOW; caso contrário, emite um sinal HIGH. O valor limite para detectar a concentração de gás pode ser ajustado usando 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 indicadores LED:
- Indicador PWR-LED: este LED serve como indicador de alimentação, mostrando que o sensor está recebendo energia. Ele fica aceso quando o sensor está alimentado e funcionando.
- Indicador DO-LED: este LED está ligado ao pino DO do sensor. Ele mostra visualmente a concentração de gás com base no valor recebido do pino DO. Quando há concentração de gás e o pino DO está em LOW, o indicador DO-LED acende. Por outro lado, se nenhuma concentração de gás é detectada e o pino DO está em HIGH, o indicador DO-LED 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 passa do limite definido, o pino de saída do sensor vai para LOW e o DO-LED acende.
- Por outro lado, se a concentração de gás fica abaixo do limite definido, o pino de saída do sensor vai para HIGH e o DO-LED apaga.
Sobre o pino AO:
- Conforme a concentração de gás aumenta, a tensão no pino AO também aumenta proporcionalmente.
- Por outro lado, quando a concentração de gás diminui, a tensão no pino AO diminui de forma correspondente.
É importante notar que ajustar o 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 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-48 horas. Esse tempo de aquecimento prolongado garante um funcionamento preciso.
- Se o sensor foi usado recentemente, o tempo de aquecimento é bem menor. Normalmente leva apenas 5-10 minutos para o sensor aquecer por completo. Durante esse período de aquecimento, o sensor pode inicialmente dar leituras altas, mas essas leituras vão diminuindo aos poucos 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 Arduino Nano ESP32. Deixe o sensor nesse estado durante o período de aquecimento necessário.
Diagrama de Ligação
Como o módulo do sensor de gás MQ2 tem duas saídas, você pode escolher usar uma delas ou as duas, dependendo do que precisa.
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de gás MQ2 quando alimentado pela porta USB.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de gás MQ2 quando alimentado pelo pino Vin.

This image is created using Fritzing. Click to enlarge image
Código do Arduino Nano ESP32 - Ler o valor do pino DO
Passos Rápidos
- Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano 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 de que, se você notar que o status do LED fica sempre aceso ou sempre apagado, você pode ajustar o potenciômetro para regular a sensibilidade do sensor.
Código do Arduino Nano ESP32 - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Coloque o sensor de gás MQ2 perto da fumaça/gás que você quer detectar
- Veja o resultado no Serial Monitor.
A partir dos valores lidos de DO ou AO, você pode inferir a qualidade do ar com base no seu padrão, ou disparar 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 ou componente. O ADC do Arduino Nano ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, tenha em mente o seguinte:
- O ADC do Arduino Nano ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa Arduino Nano ESP32 pode variar um pouco, então a calibração é necessária para cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre dá os resultados exatos que você quer.
Para projetos que exigem alta precisão, considere usar um ADC externo (ex.: ADS1115) com o Arduino Nano ESP32 ou usar outro Arduino, como o Arduino Uno R4 WiFi, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do Arduino Nano ESP32, consulte o ESP32 ADC Calibration Driver.