ESP32 - Sensor de Temperatura

Este tutorial ensina você a usar o ESP32 para ler a temperatura do sensor de temperatura DS18B20 e imprimi-la no Serial Monitor.

Hardware Necessário

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativa) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) ESP32 Uno-form board
1×(Alternativa) ESP32 S3 Uno-form board
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentação para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables ESP32 S3 Starter Kit (ESP32 S3 included)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Sobre o Sensor de Temperatura One Wire - DS18B20

Pinagem do Sensor de Temperatura DS18B20

O sensor de temperatura DS18B20 tem três pinos:

  • Pino GND: conecte este pino ao GND (0V)
  • Pino VCC: conecte este pino ao VCC (5V ou 3.3V)
  • Pino DATA: é o barramento de dados 1-Wire. Ele deve ser conectado a um pino digital do ESP32.

O sensor DS18B20 tem dois formatos:

  • Encapsulamento TO-92 (parecido com um transistor)
  • Sonda à prova d'água. Usamos este formato neste tutorial.
Pinagem do sensor de temperatura DS18B20

Conectar um sensor de temperatura DS18B20 a um ESP32 geralmente exige um resistor de pull-up, o que pode ser trabalhoso. No entanto, alguns fabricantes simplificaram o processo oferecendo um adaptador de ligação com um resistor de pull-up embutido e um bloco de bornes de parafuso para facilitar a conexão.

Diagrama de Ligação entre o Sensor de Temperatura DS18B20 e o ESP32

  • Como conectar o ESP32 e o sensor de temperatura DS18B20 usando uma protoboard.
Diagrama de ligação do ESP32 com o sensor de temperatura

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

  • Como conectar o ESP32 e o sensor de temperatura DS18B20 usando uma protoboard e o adaptador.
Diagrama de ligação do ESP32 com o DS18B20

This image is created using Fritzing. Click to enlarge image

Como conectar o ESP32 e o sensor de temperatura
  • Diagrama de ligação real com o adaptador
Diagrama de ligação do ESP32 com o adaptador do DS18B20

This image is created using Fritzing. Click to enlarge image

Para facilitar a conexão, é recomendável comprar um sensor DS18B20 que vem com um adaptador de ligação equipado com um resistor embutido, eliminando a necessidade de um resistor adicional na ligação.

Código ESP32

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 17 // ESP32 pin GPIO17 connected to DS18B20 sensor's DATA pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in °C tempF = tempC * 9 / 5 + 32; // convert °C to °F Serial.print("Temperature: "); Serial.print(tempC); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(tempF); // print the temperature in °F Serial.println("°F"); delay(500); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
  • Faça a ligação conforme a imagem acima.
  • Conecte a placa ESP32 ao seu PC usando um cabo USB Type-C
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Clique no ícone Libraries na barra esquerda da Arduino IDE.
  • Pesquise “DallasTemperature” na caixa de pesquisa e procure a biblioteca DallasTemperature de Miles Burton.
  • Clique no botão Install para instalar a biblioteca DallasTemperature.
Biblioteca Dallas Temperature para ESP32
  • Será solicitado que você instale a dependência. Clique no botão Install All para instalar a biblioteca OneWire.
Biblioteca OneWire para ESP32
  • Copie o código acima e cole-o na Arduino IDE.
  • Compile e carregue o código na placa ESP32 clicando no botão Upload na Arduino IDE
  • Deixe o sensor mais quente ou mais frio segurando o sensor de temperatura DS18B20 na mão ou mergulhando-o em água quente e fria.
  • Veja o resultado no Serial Monitor. Ele fica assim:
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!