Fala galera! Quem aqui já teve aquele "trauma" de um projeto com sensor de temperatura que não funcionou como esperado? Eu sim! Agora, vamos Fujar esse grito com um teste prático e simples do Sensor DS18B20 com o poderoso ESP32. Vamos aprender a conectar, codificar e ler dados de temperatura com esses dois superadores da maker culture!
Neste post, você vai aprender a:
- Conectar o Sensor DS18B20 à placa ESP32 corretamente
- Escrever um código básico para leitura de temperatura
- Entender como o protocolo 1-Wire funciona nesse.setup
- Evitar os principais erros de configuração
Antes de começarmos, é importante entender que o DS18B20 é um sensor de temperatura digital preciso, workings no protocolo 1-Wire, enquanto o ESP32 é uma placa Wi-Fi/BLE com processamento poderoso. Essa combinação é perfeita para projetos de IoT!
💡 O que é o Sensor DS18B20?O DS18B20 é um sensor de temperatura digital que fornece leituras precisas de -55°C a 125°C. Seu pequeno tamanho e baixo consumo de energia o tornam ideal para uma variedade de aplicações, desde monitoramento ambiental até projetos industriais.
Aqui está a lista de materiais necessários para o projeto:
| Componente | Onde comprar | Preço médio (R$) |
| Placa ESP32 (organic/clone) | Amaozn/Conectiva | 50-100 |
| Sensor DS18B20 | Ebay/AliExpress | 5-15 |
| Resistor Pull-Up 4.7kΩ | Lojas de Eletrônicos | 1-5 |
| Breadboard e Jumpers | Conectiva/Eletronics Store | 10-20 |
Conecte o Sensor DS18B20 à placa ESP32 da seguinte maneira: - **VCC** do DS18B20 para **3.3V** do ESP32 - **GND** do DS18B20 para **GND** do ESP32 - **DATA** do DS18B20 para **GPIO 4** do ESP32 (com resistor Pull-Up 4.7kΩ entre VCC e DATA)
Baixe e instale a biblioteca `OneWire` e `DallasTemperature` no Arduino IDE:
// Incluir bibliotecas
#include
#include
// Definir pino e instâncias
OneWire oneWire(4); // GPIO 4
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.println("°C");
delay(1000);
}
🔌 Passo 3 — Upload e Teste
Selecione a placa ESP32 correta no Arduino IDE, faça o upload do código e verifique a leitura de temperatura no Monitor Serial.
🔍 Passo 4 — Solucionando Erros Comuns
- Leitura -127°C: Verifique a conexão do resistor Pull-Up ou danos no sensor.
- Não detecta o sensor: Confira as conexões e o pino utilizado.
Para enviar dados para um servidor web, adicione essa parte ao seu `loop()`:
WiFi.begin("SeuSSID", "SuaSenha");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Conectando...");
}
// Código para envio via HTTP
Você pode conectar múltiplos sensores DS18B20 no mesmo pino, identificando cada um por seu endereço único. Ideal para monitoramento de várias zonas!
📊 Análise de Dados AvançadaUse bibliotecas de análise de séries temporais para identificar padrões nos dados de temperatura ao longo do tempo.
🚀 Dicas extras para o seu projeto
- Use um capacitor de 100nF entre VCC e GND do sensor para filtrar ruins.
- Crie um dashboard com Dashing ou Grafana para visualizar os dados em tempo real.
- Incorpore alertas por e-mail ou SMS para temperaturas extremas.
Compartilhe suas experiências, dicas ou perguntas nos comentários abaixo! E não se esqueça de seguir o Arcade Maker BR para mais tutoriais como esse!
Tags: ESP32, DS18B20, Sensor de Temperatura, IoT, Arduino, Tutoriais de Maker