domingo, 4 de agosto de 2024

Medidor de temperatura e umidade com DHT22 e display LCD

O  DHT22 é um sensor de umidade e temperatura com alta precisão e que pode ser empregado em uma infinidade de aplicações, como monitoramento ambiental, sistemas de automação residencial ,estações meteorológicas, controle de condições em ambientes como estufas e armazéns, projetos e protótipos usando Arduino. 

O DHT 22 possui as seguintes características técnicas:                                                                               

Precisão:
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. 



Esse projeto é muito versátil, você pode substituir o DHT 22 por outros sensores  umidade como DHT 11, ou substituir por um sensor de pressão BMP280 para medir pressão atmosférica. 



Jogo da Tabuada

🎯 Mestre da Multiplicação 🎯 Mestre da Multiplicação Aprenda a tab...