ESP32 - Sensor de Temperatura e Umidade
Este tutorial ensina como usar o ESP32 para ler os valores de temperatura e umidade dos sensores DHT11 ou DHT22 e mostrá-los no Serial Monitor.
Hardware Necessário
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) |
Sobre os Sensores de Temperatura e Umidade DHT11 e DHT22
Em resumo, o sensor DHT22 é mais preciso e tem uma faixa maior, mas é mais caro que o DHT11. Vamos ver o que eles têm em comum e as diferenças entre eles
O que têm em comum
- A mesma pinagem
- A mesma ligação ao ESP32
- Código ESP32 parecido
As diferenças
A tabela abaixo mostra as diferenças detalhadas entre o DHT11 e o DHT22:
| DHT22 | DHT11 | |
|---|---|---|
| Preço | baixo custo | custo muito baixo |
| Faixa de umidade | 0% a 100% | 20% a 80% |
| Precisão de umidade | ± 2% a 5% | 5% |
| Faixa de temperatura | -40°C a 80°C | 0°C a 50°C |
| Precisão de temperatura | ± 0,5°C | ± 2°C |
| Taxa de leitura | 0,5Hz (uma vez a cada 2 segundos) | 1Hz (uma vez por segundo) |
| Dimensões | 15,1mm x 25mm x 7,7mm | 15,5mm x 12mm x 5,5mm |
| Tensão de operação | 3 a 5V | 3 a 5V |
Pinagem do DHT11 e do DHT22
Os sensores DHT11 e DHT22 têm 4 pinos:
- Pino GND: conecte este pino ao GND (0V)
- Pino VCC: conecte este pino ao VCC (3,3V ou 5V)
- Pino DATA: este pino é usado para a comunicação entre o sensor e o ESP32
- Pino NC: Não conectado

Recomendamos fortemente que você use os módulos de sensor DHT11 e DHT22. Os módulos têm um resistor embutido e têm apenas três pinos: VCC, GND e DATA (ou, alternativamente: +, - e OUT).

A ordem dos pinos no módulo pode ser diferente entre os fabricantes. Verifique com atenção as identificações dos pinos impressas no módulo.
Diagrama de Ligação entre DHT11/DHT22 e ESP32
A ligação ao ESP32 é a mesma para os dois sensores. Na forma original, é necessário um resistor de 5K a 10K Ohms para manter a linha de dados em nível alto e permitir a comunicação entre o sensor e o ESP32
Ligação do Sensor DHT11 com ESP32

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.
Ligação do Sensor DHT22 com ESP32

This image is created using Fritzing. Click to enlarge image
Ligação do Módulo DHT11 com ESP32
A maioria dos módulos de sensor DHT11 tem um resistor embutido, então você não precisa adicioná-lo. Isso nos poupa um pouco de trabalho de ligação ou soldagem.

This image is created using Fritzing. Click to enlarge image
Ligação do Módulo DHT22 com ESP32
A maioria dos módulos de sensor DHT22 tem um resistor embutido, então você não precisa adicioná-lo. Isso nos poupa um pouco de trabalho de ligação ou soldagem.

This image is created using Fritzing. Click to enlarge image
Código ESP32 - DHT11
Código ESP32 - DHT22
Os dois códigos acima diferem em apenas uma linha.
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação conforme a imagem acima.
- Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
- Abra o 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 do Arduino IDE.
- Digite “DHT” na caixa de pesquisa e procure a biblioteca DHT sensor library da Adafruit
- Instale a biblioteca clicando no botão Install.

- Uma janela aparece pedindo que você instale as dependências da biblioteca
- Instale todas as dependências da biblioteca clicando no botão Install All.

- Copie um dos códigos acima e abra-o no Arduino IDE
- Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE
- Deixe o sensor mais frio ou mais quente. Por exemplo, colocando o sensor perto de uma xícara de café quente
- Veja o resultado no Serial Monitor. Ele se parece com o seguinte:.