Arduino Nano ESP32 - Sensor de Temperatura e Umidade
Este tutorial mostra como usar o Arduino Nano ESP32 para ler o valor de temperatura e umidade dos sensores DHT11 ou DHT22 e imprimi-lo no Serial Monitor.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor 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 quais são as diferenças
O que eles têm em comum
- A mesma pinagem
- A mesma ligação ao Arduino Nano ESP32
- Um código Arduino Nano ESP32 semelhante
As diferenças
A tabela abaixo mostra as diferenças detalhadas entre o DHT11 e o DHT22:
| DHT22 | DHT11 | |
|---|---|---|
| O preço | baixo custo | custo ultrabaixo |
| A faixa de umidade | 0% a 100% | 20% a 80% |
| A precisão da umidade | ± 2% a 5% | 5% |
| A faixa de temperatura | -40°C a 80°C | 0°C a 50°C |
| A precisão da temperatura | ± 0.5°C | ± 2°C |
| A 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 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: o pino usado para a comunicação entre o sensor e o Arduino Nano ESP32
- Pino NC: Não conectado

Recomendamos fortemente o uso dos módulos sensores DHT11 e DHT22. Os módulos têm um resistor embutido e possuem apenas três pinos: VCC, GND e DATA (ou, alternativamente: +, - e OUT).

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

This image is created using Fritzing. Click to enlarge image
Arduino Nano ESP32 - Ligação do Sensor DHT22

This image is created using Fritzing. Click to enlarge image
Arduino Nano ESP32 - Ligação do Módulo DHT11
A maioria dos módulos sensores 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
Arduino Nano ESP32 - Ligação do Módulo DHT22
A maioria dos módulos sensores 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 Arduino Nano ESP32 - DHT11
Código Arduino Nano ESP32 - DHT22
Os dois códigos acima têm apenas uma linha diferente.
Passos Rápidos
Para começar com o Arduino Nano ESP32, siga estes passos:
- Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 na Arduino IDE.
- Faça a ligação dos componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
- Abra o Library Manager clicando no ícone Library Manager na barra de navegação à esquerda da Arduino IDE
- Digite “Adafruit DHT” na caixa de pesquisa e procure a biblioteca DHT sensor library da Adafruit
- Instale a biblioteca clicando no botão Install.

- Uma janela pode aparecer pedindo para você instalar 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 na Arduino IDE
- Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload na Arduino IDE
- Deixe o sensor mais frio ou mais quente. Por exemplo, coloque o sensor perto de uma xícara de café quente
- Veja o resultado no Serial Monitor. Ele se parece com o exemplo abaixo:.