Temperatura: ±0.5°C na faixa de -40°C a 80°C.
Umidade: ±2-5% na faixa de 0% a 100% de umidade relativa (RH).
Faixa de Medição:
Temperatura: -40°C a 80°C.
Umidade: 0% a 100% RH.
Resolução:
Temperatura: 0.1°C.
Umidade: 0.1% RH.
Tempo de Resposta:
Umidade: ≤5 segundos.
Temperatura: ≤2 segundos.
Intervalo de Leitura:
O sensor pode fornecer novas leituras aproximadamente a cada 2 segundos
Fonte de Alimentação:
Tensão de operação: 3.3V a 5.5V.
Corrente de operação: 1.5mA durante a medição, 40-50µA em estado de espera.
Interface de Comunicação:
O DHT22 usa uma interface digital de 1 fio para comunicação, pode transmitir informação usando um fio de até 20 m.
A grande diferença entre o DHT22 e o DHT11 é que o primeiro possui muito mais resolução, exibindo o valor da umidade com uma casa decimal
Neste projeto vamos construir um circuito usando um Arduino nano, um DHT 22 e um display lcd 2x16 I2C.
Vamos utilizar um display com modulo I2C soldado ao display pois isso deixa a conexão com o arduino muito mais fácil, necessitando apenas 4 fios.
O pino SCL do display deve ser conectado ao pino A5 do arduino, o pino SDA ao A4, o pino VCC ao 5V. O DHT 22 utiliza apenas 3 fios, o pino DAT deve ser conectado ao pino digital 2 do arduino.
Agora vamos carregar o código no arduino e verificar o funcionamento dos sensor.
// Bem vindo ao Blog Luz da Ciência
// Conheça também o Canal Luz da ciência no YouTube
// https://www.youtube.com/@Luzdaciencia
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2 // Pino de dados do sensor DHT22
#define DHTTYPE DHT22 // Definindo o tipo de sensor como DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2); // Endereço do display 0x27
//16 colunas, 2 linhas
DHT dht(DHTPIN, DHTTYPE); // Inicializando o sensor DHT22
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
lcd.print(" Luz da ciencia "); // Tela de apresentação
delay(2000);
lcd.clear();
}
void loop() {
float temperatura = dht.readTemperature();
float umidade = dht.readHumidity();
// Verificando se a leitura falhou
if (isnan(temperatura) || isnan(umidade)) {
lcd.setCursor(0, 0);
lcd.print("Erro na leitura");
return;
}
// Exibindo a temperatura na linha de cima
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperatura);
lcd.print(" C");
// Exibindo a umidade na linha de baixo
lcd.setCursor(0, 1);
lcd.print("Umid: ");
lcd.print(umidade);
lcd.print(" %");
delay(2000); // Atraso de 2 segundos entre as leituras
}
O modulo I2C do display LCD possui um pequeno potenciometro que pode ser ajustado para melhorar o contraste dos dígitos.
.webp)


