Arduino Nano ESP32 - Sensor de Álcool MQ3
Este tutorial guia você no uso do Arduino Nano ESP32 com o sensor de álcool MQ3 para detectar e medir concentrações de etanol e de vapor de álcool. O sensor MQ3 é ideal para montar sistemas de análise de hálito (bafômetros), alarmes de vapor de álcool e ferramentas de avaliação da qualidade do ar.
Neste tutorial, você vai aprender:
- Como conectar o módulo sensor de álcool MQ3 ao Arduino Nano ESP32
- Como programar o Arduino Nano ESP32 para ler e processar os dados de concentração de álcool

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Álcool MQ3
O MQ3 é um quimiorresistor de semicondutor de óxido metálico (MOS) que detecta a presença de álcool monitorando as variações de resistência no seu elemento sensor. Este sensor é especializado na detecção de vapor de etanol e oferece desempenho consistente em uma ampla faixa de concentração.
O componente ativo do sensor tem uma camada de dióxido de estanho (SnO2) aplicada sobre um substrato cerâmico de óxido de alumínio. O aquecimento torna o material SnO2 reativo às moléculas de álcool ao redor. Uma malha de proteção de aço inoxidável envolve o sensor, protegendo os componentes internos e ao mesmo tempo permitindo que as moléculas de gás cheguem à câmara de detecção.
As aplicações típicas incluem bafômetros caseiros, dispositivos de detecção de direção sob efeito de álcool, sistemas de alerta de vapor de álcool e estações de monitoramento de álcool no ambiente.
Especificações Técnicas
- Tensão de operação: 5V DC
- Resistência de carga: 200 KΩ
- Resistência do aquecedor: 33Ω ± 5%
- Consumo do aquecimento: < 800mW
- Resistência de detecção: 1 MΩ – 8 MΩ
- Faixa de detecção: 25 – 500 ppm (partes por milhão)
- Tempo de pré-aquecimento: 24-48 horas no primeiro uso
O que é ppm? O termo ppm (partes por milhão) expressa a proporção entre as moléculas do gás-alvo e o total de moléculas. Por exemplo, 500 ppm indica que existem 500 moléculas de álcool em cada 1.000.000 de moléculas de gás, sendo que as outras 999.500 são outros componentes da atmosfera.
Pinagem
O módulo sensor MQ3 oferece quatro terminais de conexão:
- Pino VCC: Conecte a uma fonte de +5V.
- Pino GND: Conecte ao terra (0V).
- Pino DO: A saída digital muda para LOW quando o álcool passa do limite, ou para HIGH quando está abaixo. O limite é ajustável pelo potenciômetro da placa.
- Pino AO: A saída analógica fornece uma tensão proporcional à concentração de álcool. Mais álcool gera uma tensão de saída maior.

Dois indicadores LED mostram o status:
- PWR-LED: Acende quando o módulo está alimentado.
- DO-LED: Reflete o status da saída digital — acende durante a detecção de álcool e fica apagado no resto do tempo.
Como Funciona
O princípio de detecção do MQ3 se baseia nas variações de resistência do seu semicondutor de dióxido de estanho (SnO2):
No ar limpo: O aquecimento faz as moléculas de oxigênio aderirem à superfície do SnO2, prendendo elétrons e formando uma camada de depleção. Esses elétrons presos criam uma barreira de condução, resultando em alta resistência elétrica.
Durante a exposição ao álcool: As moléculas de álcool interagem com o oxigênio da superfície, quebrando ligações e liberando os elétrons presos na rede do dióxido de estanho. Essa liberação de elétrons aumenta bastante a condutividade — quanto maior a concentração de álcool, menores os valores de resistência.
O sensor oferece dois modos de saída:
Saída Digital (pino DO):
- Um potenciômetro de ajuste na placa controla o limite de detecção.
- Quando o álcool detectado fica acima do limite, o DO vai para LOW e o indicador LED acende.
- Quando a detecção fica abaixo do limite, o DO fica em HIGH e o LED apagado.
Saída Analógica (pino AO):
- A tensão varia diretamente com a concentração de álcool.
- Mais vapor de álcool = tensão de saída mais alta.
- Menos vapor de álcool = tensão de saída mais baixa.
- Observação: O potenciômetro de ajuste afeta apenas o limite digital, não a saída analógica.
Aquecimento e Calibração
Requisitos de Pré-aquecimento
O sensor MQ3 precisa de um aquecimento adequado para dar medições confiáveis:
- Primeira instalação ou armazenamento prolongado (30+ dias): Mantenha o aquecimento contínuo por 24-48 horas para estabilizar o sensor e garantir a precisão das medições.
- Uso recente: Um aquecimento curto de 5-10 minutos é suficiente. Os valores iniciais podem parecer altos, mas se normalizam rapidamente.
Para aquecer o sensor, conecte VCC e GND a 5V e ao terra — por uma fonte de alimentação dedicada ou diretamente aos pinos de alimentação do seu Arduino Nano ESP32.
Encontrando os Seus Valores de Limite
Sensores de gás com elementos de aquecimento, como o MQ3, podem sofrer desvio de calibração após o armazenamento. Para projetos de bafômetro, defina os valores de limite corretos com esta sequência de calibração:
- Meça a linha de base no ar limpo: Deixe o sensor funcionando em ar fresco, sem álcool presente. Anote o valor analógico (normalmente 100-150).
- Teste com vapor de álcool: Posicione álcool isopropílico ou álcool em gel perto do sensor (sem tocar), deixando o vapor chegar ao detector. Anote as leituras mais altas (comumente 400-900, dependendo da concentração do vapor).
- Defina os limites de detecção: Usando os dados que você anotou, defina as zonas de detecção:
- Faixa sóbria: Valores abaixo da linha de base + 20 (exemplo: < 120)
- Faixa moderada: Valores intermediários (exemplo: 120-400)
- Faixa alta: Valores acima do limite moderado (exemplo: > 400)
Importante: Cada unidade do sensor e cada condição do ambiente produzem valores diferentes. Sempre calibre usando o seu hardware específico antes de usar.
Definindo o Limite Digital
Configure o ponto de ativação do pino DO usando o potenciômetro do módulo:
- Exponha o sensor ao vapor de álcool.
- Gire o potenciômetro no sentido horário até o LED acender.
- Gire aos poucos no sentido anti-horário até o LED acabar de apagar.
- O limite digital agora está calibrado.
Diagrama de Ligação
O módulo MQ3 oferece saídas digital e analógica. Escolha uma das saídas ou use as duas ao mesmo tempo, de acordo com as necessidades da sua aplicação.
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de álcool MQ3 quando alimentado pela porta USB.

This image is created using Fritzing. Click to enlarge image
| Sensor de Álcool MQ3 | Arduino Nano ESP32 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D2 |
| AO | A5 |
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de álcool MQ3 quando alimentado pelo pino Vin.

This image is created using Fritzing. Click to enlarge image
Código do Arduino Nano ESP32 - Leitura da Saída Digital
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 para o Arduino IDE
- Clique no botão Upload para programar o Arduino Nano ESP32
- Aproxime uma fonte de vapor de álcool do sensor MQ3 (álcool em gel ou álcool comum em um algodão funcionam bem)
- Veja os resultados da detecção no Serial Monitor
Lembre-se de que, se o status do LED ficar sempre aceso ou sempre apagado, ajuste o potenciômetro para regular a sensibilidade do sensor e obter uma detecção precisa.
Código do Arduino Nano ESP32 - Leitura da Saída Analógica
Passos Rápidos
- Copie o código acima para o Arduino IDE
- Clique no botão Upload para programar o Arduino Nano ESP32
- Aproxime vapor de álcool do sensor (álcool em gel ou vapores de álcool isopropílico)
- Acompanhe os valores no Serial Monitor
Usando a saída digital ou a analógica, você pode criar uma lógica baseada em limites para disparar alarmes, controlar indicadores de alerta ou capturar dados para aplicações de bafômetro.
Código do Arduino Nano ESP32 - Bafômetro com Detecção por Limites
Este código mostra como interpretar a saída analógica com limites calibrados para avaliar os níveis de consumo de álcool.
Passos Rápidos
- Essencial: Primeiro calibre o seu sensor específico usando o exemplo de leitura analógica para encontrar os valores de limite adequados.
- Substitua as constantes SOBER_THRESHOLD e DRUNK_THRESHOLD no código pelos seus valores calibrados.
- Faça o upload do código modificado para o Arduino Nano ESP32
- Teste expondo o sensor a vapor de álcool (álcool isopropílico ou vapor de álcool em gel)
- Observe as mensagens de status no Serial Monitor
Aviso: Este é estritamente um projeto educacional. Nunca use este dispositivo como bafômetro legal nem para avaliar a segurança ao dirigir.
※ 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.