Arduino UNO R4 - Sensor de Álcool MQ3
Este guia mostra como usar o Arduino UNO R4 e o sensor de álcool MQ3 para detectar vapor de álcool e etanol no ar. Esse sensor é muito usado em projetos de bafômetro e em sistemas de detecção de álcool.
- Como conectar o sensor de álcool MQ3 ao Arduino UNO R4
- Como escrever um código para o Arduino UNO R4 ler a concentração de álcool do sensor

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Álcool MQ3
O sensor de álcool MQ3 é um sensor MOS (Metal Oxide Semiconductor, semicondutor de óxido metálico), também conhecido como Chemiresistor (resistor químico), porque detecta o álcool com base na mudança de resistência do material sensor quando exposto ao vapor de álcool. Ele foi projetado especificamente para detectar vapor de álcool (etanol) no ar e é muito sensível às concentrações de álcool.
O sensor usa um revestimento de Dióxido de Estanho (SnO2) sobre um substrato cerâmico de Óxido de Alumínio como elemento sensor. Quando aquecido, o SnO2 fica sensível ao álcool. O sensor é coberto por uma malha de aço inoxidável (rede antiexplosão) que protege o elemento de aquecimento interno e filtra as partículas em suspensão, deixando os elementos gasosos chegarem à câmara de detecção.
Aplicações comuns incluem bafômetros, sistemas de detecção de embriaguez ao volante, alarmes de presença de álcool e projetos que precisam monitorar a concentração 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 significa ppm? Partes por milhão (ppm) é a unidade usada para medir a concentração de um gás. Por exemplo, 500 ppm de álcool significa que, de um milhão de moléculas de gás, 500 são de álcool e 999.500 são de outros gases.
Pinagem
O sensor de álcool MQ3 tem quatro pinos:
- Pino VCC: conecte este pino ao VCC (5V).
- Pino GND: conecte este pino ao GND (0V).
- Pino DO: é um pino de saída digital. Ele mostra LOW quando álcool é detectado e HIGH quando não. Você pode ajustar o limite de detecção de álcool usando o potenciômetro da placa.
- Pino AO: é um pino de saída analógica. Ele produz uma tensão que muda conforme a concentração de álcool. Uma concentração maior de álcool faz a tensão subir.

Ele também tem dois LEDs:
- Um LED PWR indica que a alimentação está ligada.
- Um LED DO mostra o estado da detecção de álcool com base no valor do pino DO: acende quando álcool é detectado e apaga quando não há.
Como Funciona
O sensor MQ3 funciona com base nas mudanças de resistência elétrica do elemento sensor de Dióxido de Estanho (SnO2):
No ar limpo: Quando o semicondutor de SnO2 é aquecido, moléculas de oxigênio são adsorvidas na superfície, criando uma camada de depleção de elétrons. Isso forma uma barreira de potencial que deixa o material com resistência muito alta, impedindo a passagem de corrente.
Na presença de álcool: O vapor de álcool reage com o oxigênio adsorvido, reduzindo a densidade de oxigênio na superfície e diminuindo a barreira de potencial. Isso libera elétrons no dióxido de estanho, permitindo que a corrente flua livremente. Quanto mais álcool presente, menor a resistência.
O sensor oferece dois tipos de saída:
Para o pino DO (Saída Digital):
- O módulo inclui um potenciômetro para ajustar o limite de sensibilidade na detecção de álcool.
- Se a concentração de álcool passar do limite definido, o pino de saída do sensor fica LOW e o LED DO acende.
- Se a concentração de álcool estiver abaixo do limite, o pino de saída do sensor fica HIGH e o LED DO apaga.
Para o pino AO (Saída Analógica):
- A tensão de saída é proporcional à concentração de álcool.
- Uma concentração maior de vapor de álcool produz uma tensão maior.
- Uma concentração menor de vapor de álcool produz uma tensão menor.
- O potenciômetro não afeta o valor do pino AO.
Aquecimento e Calibração do Sensor MQ3
Tempo de Aquecimento
O sensor de álcool MQ3 precisa ser aquecido antes do uso para dar leituras precisas:
- Primeiro uso ou depois de muito tempo guardado (mais de um mês): Aqueça-o por 24-48 horas para obter resultados estáveis e precisos.
- Uso recente: Ele precisa de apenas 5-10 minutos para aquecer. No início, as leituras podem estar altas, mas vão se estabilizar depois de pouco tempo.
Para aquecer o sensor MQ3, conecte os pinos VCC e GND dele a uma fonte de alimentação ou ao VCC e GND de um Arduino UNO R4 e deixe-o conectado durante o período de aquecimento.
Calibração dos Valores de Limite
Como o MQ3 é um sensor com aquecedor, a calibração pode se desviar se ele ficar guardado por muito tempo. Para calibrar o sensor e encontrar os valores de limite para o seu projeto de bafômetro:
- Registre os valores de base: Deixe o sensor funcionando em ar limpo e anote as leituras analógicas (normalmente em torno de 100-150).
- Teste com álcool: Use álcool isopropílico ou álcool em gel (não deixe o líquido tocar no sensor - apenas os vapores). Aperte o frasco perto do sensor para liberar vapores e anote as leituras (normalmente 400-900, dependendo da concentração).
- Defina os limites: Com base nas suas leituras, você pode definir os níveis de limite:
- Sóbrio: Abaixo da base + 20 (por exemplo, < 120)
- Dentro dos limites legais: Entre a base e um nível moderado (por exemplo, 120-400)
- Acima dos limites legais: Acima do nível moderado (por exemplo, > 400)
Nota: Esses valores variam conforme o seu sensor e o ambiente. Sempre calibre com o seu próprio sensor antes de usar.
Ajustando o Limite da Saída Digital
Para definir o limite do pino DO usando o potenciômetro da placa:
- Exponha o sensor a vapores de álcool.
- Gire o potenciômetro no sentido horário até o LED de status acender.
- Gire o potenciômetro no sentido anti-horário só até o LED apagar.
- Pronto, o seu limite está definido.
Diagrama de Ligação
O módulo do sensor de álcool MQ3 tem duas saídas. Você pode usar uma delas ou as duas, conforme a sua necessidade.
| Sensor de Álcool MQ3 | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pino 2 |
| AO | A0 |

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Código Arduino UNO R4 - Ler o valor do pino DO
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
- Conecte a placa Arduino Uno R4 ao sensor de álcool MQ3 de acordo com o diagrama fornecido.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 correta (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4.
- Exponha o sensor MQ3 ao vapor de álcool (você pode usar álcool em gel ou álcool comum em um algodão perto do sensor).
- Confira o resultado no Serial Monitor.
Nota: Se a saída do sensor não refletir a presença real de álcool (por exemplo, ele detecta álcool quando não há, ou não detecta quando há álcool), você precisa ajustar o limite de disparo girando o potenciômetro do módulo do sensor. Gire no sentido horário para aumentar a sensibilidade ou no sentido anti-horário para diminuí-la, até a detecção corresponder à realidade.
Código Arduino UNO R4 - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4
- Exponha o sensor MQ3 ao vapor de álcool (você pode usar álcool em gel ou álcool comum)
- Confira o resultado no Serial Monitor.
Com base nos valores de DO ou AO, você pode definir níveis de limite para a detecção de álcool e disparar um alarme, acender um LED de aviso ou registrar os dados em aplicações de bafômetro.
Código Arduino UNO R4 - Bafômetro Simples com Limites
Este exemplo avançado usa a saída analógica para estimar o nível de embriaguez com base em valores de limite calibrados.
Passos Rápidos
- Importante: Antes de usar este código, execute o sketch de calibração acima para encontrar os valores de limite do seu sensor no ar limpo e na presença de álcool.
- Substitua os valores de limite no código (SOBER_THRESHOLD e DRUNK_THRESHOLD) pelos seus valores calibrados.
- Faça o upload do código para o Arduino UNO R4.
- Teste expondo o sensor ao vapor de álcool (álcool em gel ou álcool isopropílico).
- Confira o resultado no Serial Monitor.
Nota: Isto serve apenas para fins educacionais. Não use como bafômetro legal nem para decidir se alguém está apto a dirigir.