Neste tutorial vamos aprender a montar um monitor de qualidade do ar com ESP8266 usando o sensor MQ-135. Esse sensor é capaz de identificar variações na concentração de gases como amônia, dióxido de carbono, benzeno, óxido nítrico, além de fumaça e álcool.

Os dados serão exibidos em um display OLED, e o sistema será alimentado por uma bateria recarregável, permitindo levar o monitor para diferentes ambientes da casa.
Materiais necessários
Para montar o projeto, você vai precisar de:
- Placa ESP8266 D1 Mini
- Sensor de gás MQ-135 para gases tóxicos
- Display OLED 0.96″ 128×64 I2C
- Bateria Li-Po 450mAh
- Módulo carregador de bateria de lítio TP4056
- Jumpers fêmea-fêmea
- Chave liga-desliga 10A
- Conversor de nível lógico bidirecional
- Parafusos M2.2
- Case impresso em 3D
Ferramentas extras: ferro de solda, estanho, alicate de corte, cabo micro USB, chave Phillips, cola quente e algo que gere fumaça/gás (isqueiro, vela etc.) para os testes.
Impressão 3D do monitor de qualidade do ar
As peças da case do Monitor de Qualidade do Ar ESP8266 estão disponíveis gratuitamente para download no Thingiverse. O modelo é composto por três partes principais: tonel, tampa e divisória.

- Tonel: é a estrutura central do projeto. Ele acomoda a bateria, a placa ESP8266, o conversor lógico e o módulo carregador, permitindo a organização dos componentes eletrônicos. Além disso, possui aberturas laterais que dão acesso às portas USB da placa e do carregador.
- Tampa: parte superior do case, responsável por fixar o sensor de gás MQ-135 e a chave liga/desliga. Também garante o fechamento seguro do projeto, protegendo os componentes internos.
- Divisória: peça interna que separa os módulos eletrônicos, mantendo-os bem organizados e firmes dentro do case. Ela facilita a montagem e evita que os componentes se movimentem durante o uso.
Todas as peças foram projetadas para impressão em 3D com PLA e camada de 0,2 mm, o que oferece um bom equilíbrio entre qualidade e tempo de produção. Caso deseje um acabamento mais refinado, é possível imprimir em 0,1 mm de altura de camada.
Preparando a Arduino IDE
Antes de começar a montagem, precisamos configurar a Arduino IDE para programar o ESP8266.
- Abra a Arduino IDE e vá em Arquivo > Preferências.
- No campo URLs adicionais para Gerenciadores de Placas, adicione o seguinte link: http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Em seguida, vá em Ferramentas > Placas > Gerenciador de Placas.
- Procure por esp8266, clique em Instalar e aguarde a conclusão (pode levar alguns minutos).
- Quando terminar, vá novamente em Ferramentas > Placas e selecione a opção LOLIN (Wemos) D1 R2 & mini.
Instalando bibliotecas na Arduino IDE
Para que nosso monitor funcione corretamente, precisamos instalar algumas bibliotecas na Arduino IDE.
- Abra a Arduino IDE e vá em Ferramentas > Gerenciador de Bibliotecas.
- Pesquise e instale a biblioteca Adafruit GFX.
- Caso seja sugerida a instalação da Adafruit BusIO, confirme.
- Se não aparecer a sugestão, procure e instale manualmente.
- Em seguida, procure por Adafruit SSD1306 e instale.
Com essas bibliotecas instaladas, seu ambiente está pronto para carregar o código do monitor de qualidade do ar.
Carregando o código no ESP8266
Com a Arduino IDE preparada e as bibliotecas instaladas, é hora de carregar o código no ESP8266.
- Copie e cole o código abaixo na Arduino IDE.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
// Projeto: Monitor de Qualidade do Ar ESP8266 // Autor original: MakerHero // --- Inclusão de bibliotecas necessárias --- #include <SPI.h> // Comunicação SPI #include <Wire.h> // Comunicação I2C #include <Adafruit_GFX.h> // Biblioteca gráfica base da Adafruit #include <Adafruit_SSD1306.h> // Biblioteca específica para displays OLED SSD1306 // --- Definições da tela OLED --- #define TELA_LARGURA 128 // Largura do display em pixels #define TELA_ALTURA 64 // Altura do display em pixels #define OLED_RESET -1 // Sem pino de reset físico conectado Adafruit_SSD1306 display(TELA_LARGURA, TELA_ALTURA, &Wire, OLED_RESET); // --- Configurações do sensor --- const int pinoAnalogicoSensor = A0; // Pino analógico onde o sensor MQ-135 está conectado const int referenciaSensor = 400; // Valor de referência para detecção de gás (ajustável conforme o ambiente) int valorAnalogico; // Variável para armazenar a leitura do sensor void setup() { // Inicializa a comunicação serial (para depuração no monitor serial) Serial.begin(9600); // Inicializa o display OLED no endereço I2C 0x3C display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); // Limpa a tela na inicialização display.setTextSize(1); // Define tamanho da fonte (1 = pequeno, 2 = médio, etc.) display.setTextColor(WHITE); // Define cor do texto (branco) } void loop() { // --- Leitura do valor do sensor --- valorAnalogico = analogRead(pinoAnalogicoSensor); // Lê o valor do pino A0 // Exibe no monitor serial para depuração Serial.print("Valor analogico: "); Serial.println(valorAnalogico); // --- Atualização do display --- display.clearDisplay(); // Limpa o conteúdo da tela a cada ciclo // Linha superior: status do monitor display.setCursor(0, 20); // Define a posição do texto (coluna 0, linha 20 px) display.print("Monitoramento ON"); // Linha intermediária: valor lido display.setCursor(0, 30); display.print("Leitura analog: "); display.print(valorAnalogico); // Mostra o valor atual do sensor // Linha inferior: condição de gás presente ou ausente if (valorAnalogico > referenciaSensor) { // Se o valor for maior que a referência, detecta gás display.setCursor(0, 40); display.print("Gas Presente"); } else { // Caso contrário, considera ambiente limpo display.setCursor(0, 40); display.print("Gas Ausente "); } // Atualiza efetivamente o display com as informações display.display(); // Atraso de 1 segundo entre leituras delay(1000); } |
- Conecte o ESP8266 ao computador usando um cabo micro USB.
- Na Arduino IDE, vá em Ferramentas > Porta e selecione a porta à qual a placa está conectada.
- Clique em Carregar (ícone de seta para a direita) e aguarde até que o código seja enviado para a placa.
Depois que o processo terminar, seu ESP8266 estará pronto para se comunicar com os sensores e o display OLED.
Preparando os jumpers
Antes de montar o circuito, precisamos preparar os jumpers que farão as conexões entre os componentes.
- Separe os seguintes jumpers: 4 vermelhos, 4 pretos, 1 azul, 1 amarelo, 1 verde e 1 laranja.
- Corte um jumper vermelho ao meio, depois corte uma das metades novamente ao meio. Repita para todos os 4 jumpers vermelhos.
- Remova os conectores dos jumpers e estanhe todas as pontas cortadas.
- Para os jumpers pretos, corte todos na metade e descarte uma parte.
- Solde conjuntos de jumpers vermelhos e pretos lado a lado, usando tubo termo retrátil de 3 mm para proteger as conexões.
No final, você terá conjuntos de jumpers prontos para realizar todas as conexões do ESP8266, do sensor MQ-135, do display OLED e do conversor lógico.
Soldando as barras de pinos
Agora que os jumpers estão prontos, é hora de soldar as barras de pinos nos componentes principais.
- Encaixe as barras de pinos na placa ESP8266, deixando o conector micro USB voltado para cima.
- Solde cuidadosamente cada terminal para garantir uma conexão firme.
- Faça o mesmo procedimento no display OLED e no conversor de nível lógico bidirecional.
- Se desejar, utilize uma protoboard para auxiliar no posicionamento antes de soldar definitivamente.
Com as barras de pinos soldadas, os componentes estarão prontos para receber os jumpers e completar o circuito.
Conectando a alimentação e componentes
Com os jumpers e pinos preparados, podemos agora fazer as conexões principais do circuito de alimentação.
- Corte o conector da bateria e o jumper branco que vem junto com ela. Desencape e estanhe as pontas restantes.
- Solde o jumper vermelho preparado anteriormente na ponta positiva da bateria e um jumper preto na ponta negativa. Não se esqueça de usar tubo termo retrátil de 2 mm para proteger as conexões.
- Posicione a chave liga/desliga na tampa do case. Passe o jumper vermelho pelo terminal da chave e solde, cobrindo com o termo retrátil. Faça o mesmo para o outro terminal usando outro pedaço do jumper vermelho.
- Conecte o jumper vermelho da chave no terminal B+ do módulo carregador e o jumper preto da bateria no B- do carregador.
- Por fim, conecte o jumper vermelho e o jumper preto do conjunto de jumpers preparados anteriormente nas saídas OUT+ e OUT- do carregador, respectivamente.
Com isso, a alimentação do monitor está pronta, e podemos prosseguir para conectar todos os outros componentes do circuito.
Montando o circuito do monitor de qualidade do ar
Com a alimentação pronta, vamos realizar as conexões finais entre os componentes:

- Conecte os jumpers pretos nos pinos GND da placa ESP8266, do display OLED, do conversor lógico e do sensor MQ-135.
- Conecte os jumpers vermelhos:
- Conjunto ligado ao módulo carregador → 3V3 do ESP8266, VCC do display e LV do conversor lógico.
- Outro conjunto de jumpers vermelhos → 5V do ESP8266, VCC do sensor e HV do conversor lógico.
- Conecte os jumpers de sinal:
- Verde: pino SCL do display → D2 da placa.
- Amarelo: pino SDA do display → D1 da placa.
- Azul: pino AO do sensor → RXI do conversor.
- Laranja: pino RXO do conversor → A0 do ESP8266.
Dica: confira sempre o esquema completo antes de ligar o circuito para evitar erros de conexão.
Montagem final do monitor de qualidade do ar com ESP8266
Com o circuito pronto, é hora de organizar os componentes no case:
- Encaixe e cole com cola quente a divisória dentro do case, posicionando o ESP8266, o conversor lógico e o módulo carregador de bateria nos lugares corretos. Certifique-se de que os conectores USB fiquem para fora.
- Posicione o display OLED no topo do case, mantendo os conectores para cima, e fixe com cola quente.
- Prenda o sensor de gás na tampa do case usando os parafusos M2.2.
- Coloque a bateria dentro do compartimento e encaixe a divisória de forma que os conectores fiquem acessíveis pela lateral.
- Feche a tampa, garantindo que a chave liga/desliga fique do lado correto, e fixe com os parafusos restantes.
Pronto! Seu monitor de qualidade do ar já está montado e quase pronto para os testes.
Calibragem do sensor de gás MQ-135
Antes de usar o monitor, precisamos ajustar a sensibilidade do sensor MQ-135:
- Ligue o monitor e aguarde cerca de 3 minutos para que o sensor aqueça.
- Aproximando uma fonte de gás ou fumaça (como um isqueiro ou fósforo), observe o valor exibido no display. O valor deve aumentar rapidamente ao detectar o gás.
- Utilize essa leitura para definir no código o valor de referência que indicará “gás presente” ou “gás ausente”. Por exemplo: se o valor em ar limpo é 300 e sobe para 400 na presença de gás, 400 pode ser um bom valor de referência.
- Teste em diferentes locais da sua casa e ajuste o código conforme necessário.
Dica: este ajuste garante que o monitor detecte corretamente mudanças na qualidade do ar, mas lembre-se: é um projeto experimental e não deve ser usado para medições críticas.
Funcionamento do monitor de qualidade do ar com ESP8266
Agora que o monitor está calibrado, veja como ele funciona:
- Ao ligar o circuito, o display mostrará o valor analógico medido pelo sensor.
- Dependendo da leitura e do valor de referência definido, aparecerá a mensagem “gás presente” ou “gás ausente”.
- Para testar, aproxime uma fonte de fumaça ou gás do sensor. O valor deve subir rapidamente e o display indicará a presença de gás.
Lembre-se: este projeto tem finalidade educacional e experimental. Ele não é preciso o suficiente para medir a qualidade do ar de forma profissional ou gerar alertas de segurança. Utilize apenas como ferramenta de estudo e exploração maker!
Conclusão
Para aprofundar seus conhecimentos sobre o projeto, você pode explorar os seguintes tópicos:
- Controlando um display OLED usando a biblioteca SSD1306
- Como funciona o sensor de gás MQ-135
- Conhecendo o módulo WiFi ESP8266 D1 Mini
- Entendendo o conversor de nível lógico
Esse projeto é uma ótima oportunidade para experimentar, aprender sobre sensores, programação e eletrônica, e ainda se divertir criando algo útil. Teste, ajuste, explore e compartilhe suas experiências. A comunidade maker vai adorar ver suas criações!