ESP8266 - Sensor de Álcool MQ3
Este tutorial explica como conectar o ESP8266 ao sensor de álcool MQ3 para medir etanol e vapor de álcool no ambiente. O sensor MQ3 é valioso em dispositivos de teste de hálito, alarmes de detecção de álcool e aplicações de monitoramento da qualidade do ar.
Neste guia, vamos cobrir:
- Ligação do módulo sensor de álcool MQ3 ao ESP8266
- Programação do ESP8266 para ler 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
Projetado como um Quimiorresistor de Semicondutor de Óxido Metálico (MOS), o MQ3 detecta álcool por meio de variações de resistência dentro do seu material ativo. Este sensor é especializado na detecção de vapor de etanol, com sensibilidade confiável em toda a sua faixa de medição.
Seu componente de detecção possui uma camada de Dióxido de Estanho (SnO2) sobre uma base cerâmica de Óxido de Alumínio. O aquecimento ativa o SnO2 para responder às moléculas de álcool presentes no ar. Uma malha protetora de aço inoxidável envolve o elemento, protegendo-o e ao mesmo tempo permitindo o acesso do gás à zona de detecção.
Implementações comuns incluem a construção de bafômetros caseiros, sistemas de detecção de comprometimento, dispositivos de aviso de vapor de álcool e medição de álcool na atmosfera.
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? A medida ppm (partes por milhão) indica a proporção da concentração. Com 500 ppm, você tem 500 moléculas de álcool para cada 1.000.000 de moléculas de gás no total, sendo que as 999.500 restantes são gases atmosféricos.
Pinagem
Há quatro pinos no módulo sensor MQ3:
- Pino VCC: Forneça aqui a alimentação de +5V.
- Pino GND: Conecte ao terra (0V).
- Pino DO: A saída digital vai para LOW quando o álcool ultrapassa o limite e para HIGH quando está abaixo dele. Ajuste o limite com o potenciômetro da placa.
- Pino AO: A tensão da saída analógica varia conforme a concentração de álcool. Mais álcool gera mais tensão.

Dois LEDs indicadores fornecem retorno visual:
- PWR-LED: Acende quando o módulo está alimentado.
- DO-LED: Reflete a saída digital — acende durante a detecção e fica apagado nos demais casos.
Como Funciona
O mecanismo de detecção do MQ3 depende da variação da resistência do Dióxido de Estanho (SnO2):
Em ar não contaminado: O SnO2 aquecido liga moléculas de oxigênio à sua superfície, capturando elétrons em uma camada de depleção. Esses elétrons capturados formam uma barreira de condução, produzindo alta resistência.
Com álcool presente: As moléculas de álcool interagem com o oxigênio da superfície, liberando os elétrons capturados na matriz de dióxido de estanho. Os elétrons liberados aumentam a condutividade — mais álcool significa menos resistência.
São oferecidos dois modos de saída:
Saída Digital (pino DO):
- O potenciômetro da placa define o nível do limite.
- Álcool acima do limite leva o DO para LOW e ativa o LED.
- Álcool abaixo do limite mantém o DO em HIGH com o LED apagado.
Saída Analógica (pino AO):
- A tensão de saída acompanha a concentração de álcool.
- Mais álcool = tensão elevada.
- Menos álcool = tensão reduzida.
- Observação: O potenciômetro afeta somente o limite digital, não a tensão analógica.
Aquecimento e Calibração
Requisitos de Pré-aquecimento
O funcionamento correto do sensor MQ3 exige um aquecimento adequado:
- Primeira utilização ou armazenamento prolongado (30+ dias): Mantenha o aquecimento contínuo por 24-48 horas para estabilizar o sensor e obter medições precisas.
- Uso regular: Um aquecimento rápido de 5-10 minutos é suficiente. As leituras iniciais podem estar elevadas, mas se normalizam rapidamente.
Aqueça o sensor conectando VCC e GND a 5V e ao terra — use uma fonte de alimentação ou os pinos de alimentação do ESP8266.
Encontrando Seus Valores de Limite
Sensores aquecidos como o MQ3 podem sofrer deriva durante o armazenamento. Para usos como bafômetro, estabeleça os limites com este procedimento de calibração:
- Registre a linha de base em ar limpo: Opere o sensor em ar fresco e registre a saída analógica (normalmente 100-150).
- Introduza vapor de álcool: Posicione álcool isopropílico ou álcool em gel perto do sensor (sem encostar nele), deixando o vapor chegar até ele. Anote as leituras elevadas (geralmente 400-900, dependendo da densidade do vapor).
- Estabeleça as faixas de detecção: A partir das suas medições, defina as zonas de limite:
- Sem álcool presente: Abaixo da linha de base + 20 (exemplo: < 120)
- Álcool moderado: Valores de faixa intermediária (exemplo: 120-400)
- Álcool alto: Acima da faixa moderada (exemplo: > 400)
Crítico: Sensores e ambientes individuais geram valores diferentes. Sempre calibre o seu hardware específico antes da implementação.
Definindo o Limite Digital
Ajuste o nível de disparo 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 ativar.
- Gire lentamente no sentido anti-horário até o LED desativar por pouco.
- O limite está configurado.
Diagrama de Ligação
Como o módulo do sensor de álcool MQ3 tem duas saídas, você pode escolher usar uma ou as duas, dependendo do que precisa.

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.
Código ESP8266 - Leitura da Saída Digital
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 uma fonte de vapor de álcool perto do sensor MQ3 (álcool em gel ou álcool comum em algodão funciona bem)
- Confira o resultado no Serial Monitor.
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 - Leitura da Saída Analógica
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
- Leve vapor de álcool até o sensor (álcool em gel ou vapores de álcool isopropílico)
- Confira o resultado no Serial Monitor.
A partir dos valores lidos do DO ou do AO, você pode criar uma lógica baseada em limites para acionar alarmes, controlar indicadores de aviso ou registrar dados para a função de bafômetro.
Código ESP8266 - Bafômetro com Detecção por Limite
Este exemplo demonstra o uso da saída analógica com limites calibrados para estimar os níveis de intoxicação.
Passos Rápidos
- Crítico: Primeiro calibre o seu sensor usando o exemplo de leitura analógica para determinar valores de limite apropriados para o seu ambiente.
- Atualize as constantes SOBER_THRESHOLD e DRUNK_THRESHOLD no código com os seus números calibrados.
- 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
- Teste com vapor de álcool (vapor de álcool isopropílico ou de álcool em gel)
- Confira o resultado no Serial Monitor.
Aviso: Este projeto tem fins exclusivamente educacionais. Nunca confie neste dispositivo para funções legais de bafômetro nem para avaliações de segurança ao dirigir.
※ 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.