Introdução
Série: Automação de Cafeteira
Este é o Nível 2 da nossa série completa de automação de cafeteira.
Se você deseja dar o primeiro passo para transformar sua cafeteira tradicional em uma smart coffee controlada digitalmente, este guia é perfeito para você. Usando um ESP32, um módulo relé simples, e um sensor básico de temperatura (DS18B20), você terá o controle remoto do aquecimento da sua cafeteira via uma interface web simples, acompanhando também a temperatura da água em tempo real.
Este projeto simplificado é ideal para iniciantes que querem aprender eletrônica, programação e automação aos poucos, preparatório para sistemas mais robustos e avançados.
ATENÇÃO CRÍTICA - SEGURANÇA ELÉTRICA
Este projeto trabalha com eletricidade 220V que pode ser FATAL!
- Só implemente se tiver conhecimento básico de elétrica
- Use sempre disjuntor dedicado e aterramento
- Teste primeiro todo o circuito sem água
- Em caso de dúvida, procure um eletricista qualificado
- Nunca manipule circuito energizado
Materiais Necessários
Eletrônicos:
- ESP32 DevKit V1 – R$ 35-55
- Módulo relé 5V (1 canal) – R$ 18-30
- Sensor de temperatura DS18B20 – R$ 12-25
- Resistor de 4.7 kΩ (para o sensor) – R$ 2-5
- Protoboard e jumpers – R$ 15-25
- Fonte 5V USB (ou fonte chaveada 5V) – R$ 20-35
Instalação elétrica:
- Cafeteira simples com resistência elétrica
- Fios elétricos 2.5mm² para conexão do relé
- Caixa elétrica vedada – R$ 15-25
- Disjuntor 16A – R$ 25-40
- Fusível 10A + porta-fusível – R$ 15-25
Ferramentas:
Ferro de solda, multímetro, alicate, chaves
Custo total: R$ 160-290 (incluindo segurança elétrica)
⚠️ Importante: As marcas mencionadas neste tutorial são citadas apenas para fins educativos e informativos. Não possuímos qualquer parceria, vínculo comercial ou patrocínio com essas empresas.
Diagrama Elétrico Simplificado
+------------------+ +-------------------+ | | | | | ESP32 | | Módulo Relé | | | | | | GPIO13 ------- IN|----------| | | | | NO ----> Fio ligado à cafeteira (fase cortada) | GPIO17 --+---- Data | COM --- Fio vindo da tomada (fase) | | | | | | | +--- 4.7kΩ ------+ (pull-up resistor para DS18B20) | | | | +---- GND ----------- GND comum | | | 5V ------- 5V | (Para alimentação sensor e relé) | GND ------- GND | (Todos em comum) +------------------+ +-------------------+ ⚠CUIDADO: Cafeteira elétrica com fio FASE interrompido pelo relé (NO e COM) Fio NEUTRO vai direto para a cafeteira (SEM passar pelo relé) Terra/PE direto para a cafeteira (obrigatório)
Montagem e Configuração Passo a Passo
1. Preparação dos Materiais e Ferramentas
- Separe todos os componentes listados acima
- Certifique-se de que possui as ferramentas necessárias para realizar conexões e testes
- DESLIGUE o disjuntor antes de qualquer conexão elétrica
2. Montagem Elétrica - Parte Baixa Tensão (5V)
- Prepare os cabos com comprimento adequado, desencape as pontas
- Monte o circuito no protoboard conectando:
- Módulo relé ao GPIO 13 do ESP32 (pino IN), com alimentação 5V e GND comuns
- Sensor DS18B20 ao GPIO 17, com resistor de 4.7 kΩ entre Data e 5V (pull-up)
- Conecte todos os GNDs juntos para referência comum
3. Montagem Elétrica - Parte Alta Tensão (220V)
ATENÇÃO: Esta etapa é PERIGOSA! Se não tem experiência, contrate um eletricista!
Para o relé controlar a energia da cafeteira:
- DESLIGUE o disjuntor geral
- Corte APENAS o fio FASE da alimentação da cafeteira
- Conecte as pontas cortadas nos terminais NO (normal aberto) e COM (comum) do relé
- Fio NEUTRO vai direto para a cafeteira (não passa pelo relé)
- Fio TERRA/PE vai direto para a cafeteira (obrigatório)
- Use caixa isolante e fusível 10A na linha fase
- Instale disjuntor dedicado 16A
4. Configuração do Ambiente de Desenvolvimento
- Instale a Arduino IDE em seu computador
- Configure o suporte do ESP32 na IDE seguindo tutoriais oficiais
- Instale as bibliotecas necessárias: ESPAsyncWebServer, OneWire, DallasTemperature
5. Programação do ESP32
No código, altere os campos do WiFi para seu SSID e senha:
const char* ssid = "SEU_SSID"; const char* password = "SUA_SENHA";
- Compile e faça upload para o ESP32 via conexão USB
- Abra o Monitor Serial para visualizar o IP obtido após conexão WiFi
6. Testes e Uso
- Acesse o IP pelo navegador no seu smartphone ou computador conectado na mesma rede
- Na página, o botão liga/desliga controla o relé que aciona a resistência da cafeteira
- A temperatura da água aparece atualizada a cada 2 segundos na interface
7. Checklist de Segurança Final
- ✓ Disjuntor dedicado instalado
- ✓ Fusível de proteção funcionando
- ✓ Aterramento conectado
- ✓ Caixa elétrica vedada
- ✓ Não há fios expostos
- ✓ Teste sem água funcionou
- ✓ Multímetro confirmou voltagens
Código Completo do Projeto Simplificado
Ver código completo
#include <WiFi.h> #include <ESPAsyncWebServer.h> #include <OneWire.h> #include <DallasTemperature.h> // Pinos do ESP32 #define RELAY_PIN 13 #define TEMP_PIN 17 // Credenciais WiFi - ALTERE AQUI const char* ssid = "SEU_SSID"; const char* password = "SUA_SENHA"; // Objetos sensor e servidor web OneWire oneWire(TEMP_PIN); DallasTemperature sensors(&oneWire); AsyncWebServer server(80); bool relayState = false; float temperature = 0; // Página HTML simples e responsiva const char* htmlPage = R"rawliteral( <!DOCTYPE html> <html> <head> <title>SmartCoffee Simples</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { font-family: Arial, sans-serif; background: linear-gradient(135deg, #6B4423, #8B4513); color: white; text-align: center; padding: 20px; margin: 0; } .container { max-width: 400px; margin: 0 auto; background: rgba(0,0,0,0.3); padding: 30px; border-radius: 15px; } h1 { margin-bottom: 30px; } .temp-display { font-size: 2em; margin: 20px 0; padding: 20px; background: rgba(255,255,255,0.1); border-radius: 10px; } .control-btn { font-size: 1.2em; padding: 15px 30px; border: none; border-radius: 10px; background: linear-gradient(45deg, #4CAF50, #45a049); color: white; cursor: pointer; transition: all 0.3s; } .control-btn:hover { background: linear-gradient(45deg, #45a049, #3d8b40 </>); } .status { margin-top: 20px; padding: 10px; border-radius: 5px; background: rgba(255,255,255,0.1); } </style> </head> <body> <div class="container"> <h1>☕ SmartCoffee Simples</h1> <div class="temp-display"> Temperatura: <span id="temp">--</span> °C </div> <button class="control-btn" onclick="toggleRelay()"> <span id="btnText">Ligar Cafeteira</span> </button> <div class="status" id="status"> Status: <span id="relayStatus">Desligada</span> </div> </div> <script> let currentState = false; function toggleRelay() { fetch('/toggle') .then(response => response.text()) .then(data => { currentState = !currentState; updateInterface(); }); } function updateInterface() { document.getElementById('btnText').textContent = currentState ? 'Desligar Cafeteira' : 'Ligar Cafeteira'; document.getElementById('relayStatus').textContent = currentState ? 'Ligada' : 'Desligada'; } function updateTemp() { fetch('/temp') .then(response => response.json()) .then(data => { if (data.temperature > -50) { document.getElementById('temp').textContent = data.temperature.toFixed(1); } else { document.getElementById('temp').textContent = 'Erro'; } }); } // Atualizar temperatura a cada 2 segundos setInterval(updateTemp, 2000); updateTemp(); </script> </body> </html> )rawliteral"; void setup() { Serial.begin(115200); Serial.println("Iniciando SmartCoffee Simples..."); // Configurar pinos pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Inicializar sensor sensors.begin(); // Conectar WiFi WiFi.begin(ssid, password); Serial.print("Conectando ao WiFi"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi Conectado!"); Serial.print("Acesse: http://"); Serial.println(WiFi.localIP()); // Configurar rotas do servidor web server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ request->send(200, "text/html", htmlPage); }); server.on("/toggle", HTTP_GET, [](AsyncWebServerRequest *request){ relayState = !relayState; digitalWrite(RELAY_PIN, relayState ? HIGH : LOW); Serial.println("Relé " + String(relayState ? "LIGADO" : "DESLIGADO")); request->send(200, "text/plain", relayState ? "Ligado" : "Desligado"); }); server.on("/temp", HTTP_GET, [](AsyncWebServerRequest *request){ sensors.requestTemperatures(); temperature = sensors.getTempCByIndex(0); String json = "{"temperature": " + String(temperature) + "}"; request->send(200, "application/json", json); Serial.println("Temperatura: " + String(temperature) + "°C"); }); server.begin(); Serial.println("Servidor web iniciado!"); } void loop() { // Nenhuma ação necessária no loop principal // O servidor web funciona de forma assíncrona delay(1000); }
Solução de Problemas
Problema: ESP32 não conecta ao WiFi
- Verifique SSID e senha no código
- Confirme que está na rede 2.4GHz (ESP32 não suporta 5GHz)
- Reset do ESP32 e retry
Problema: Temperatura mostra -127°C
- Sensor DS18B20 desconectado
- Verifique resistor pull-up 4.7kΩ
- Confirme conexões: Data, 5V, GND
Problema: Relé não aciona
- Verifique alimentação 5V do relé
- Confirme GPIO13 está conectado ao pino IN
- Teste LED do relé (deve acender quando ativo)
Problema: Interface web não carrega
- Confirme IP no monitor serial
- Verifique se está na mesma rede WiFi
- Teste ping para o IP do ESP32
Análise de Custos
Comparação de investimento:
- Este projeto: R$ 160-290
- Cafeteira com timer básico: R$ 150-300
- Cafeteira programável comercial: R$ 400-800
- Sistema IoT comercial: R$ 1000-2500
Vantagens do DIY:
- Controle total via celular
- Monitoramento de temperatura
- Expandível para recursos avançados
- Aprendizado técnico valioso
- Custo muito menor
Evoluindo para o Sistema Profissional
Dominou este projeto básico? Próximo nível disponível:
🚀 Sistema ESP32 Avançado - Nível Profissional
Recursos Avançados:
- Múltiplos sensores: Fluxo de água, pressão, corrente
- Interface profissional: Dashboard com gráficos em tempo real
- Perfis automáticos: 4 tipos de café pré-programados
- Notificações push: Telegram, WhatsApp, email
Integrações Pro:
- Sistema de segurança: Proteções automáticas avançadas
- Casa inteligente: Integração MQTT, Alexa, Google Home
- Análise energética: Consumo e sustentabilidade
- Machine Learning: Otimização automática
Investimento: R$ 300-550 para sistema completo profissional
(80% mais barato que cafeteiras comerciais equivalentes)
Conclusão
Este projeto é o primeiro passo perfeito para entrar no mundo da automação residencial e IoT. Com investimento de R$ 160-290, você tem:
Resultados imediatos:
- Controle remoto total da cafeteira
- Monitoramento de temperatura em tempo real
- Interface web responsiva
- Base sólida para projetos avançados
Aprendizado técnico:
- Programação ESP32
- Eletrônica básica
- Desenvolvimento web
- Conceitos de IoT
Próximos passos:
- Teste por algumas semanas
- Documente melhorias desejadas
- Evolua para o sistema profissional
- Explore outros projetos IoT
Este guia foi pensado para que você possa iniciar com segurança e aprendizado gradual, aproveitando o poder do ESP32 para automatizar sua cafeteira sem gastar muito e com muita satisfação técnica.
📚 Progressão da Série Completa
Nível 2: ESP32 Básico
Você está aqui! ✓
CONCLUÍDOAproveite sua jornada de IoT DIY no mundo do café!