Ir para o conteúdo
Eletrônica União
Monte sua lista e peça um orçamento — respondemos no mesmo dia pelo WhatsApp.Ver minha lista

Estação de temperatura e umidade (DHT22 + LCD 16×2 I2C)

Sensores · Intermediário · Tempo: 2 horas

Combine o sensor DHT22 (±0,5 °C) com o LCD 16×2 com adaptador PCF8574.

Como funciona

O DHT22 usa um único fio de dados com resistor de pull-up de 10 kΩ e deve ser lido no máximo a cada 2 segundos. O LCD com adaptador I2C usa SDA/SCL (no Uno: A4/A5); o endereço comum é 0x27 (ou 0x3F na versão PCF8574A).

Esquema de ligações

123456789DHT22VCCDATAGNDResistor 10kABLCD I2CVCCGNDSDASCLArduinoD25VGNDA4 (SDA)A5 (SCL)

Vermelho = alimentação (+), preto = terra (GND/−). As etiquetas indicam ligação com a fonte ou bateria; os números correspondem à tabela abaixo.

#DeParaObservação
1DHT22: VCCArduino: 5V
2DHT22: DATAArduino: D2
3DHT22: GNDArduino: GND
4DHT22: DATAResistor 10k: Apull-up
5Resistor 10k: BArduino: 5V
6LCD I2C: VCCArduino: 5V
7LCD I2C: GNDArduino: GND
8LCD I2C: SDAArduino: A4 (SDA)
9LCD I2C: SCLArduino: A5 (SCL)

Código-fonte Arduino (C/C++)

// Estação DHT22 + LCD 16x2 I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

DHT dht(2, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);   // use 0x3F se o display ficar em branco

void setup() {
  dht.begin();
  lcd.init();
  lcd.backlight();
  lcd.print("Iniciando...");
}

void loop() {
  delay(2000);                        // o DHT22 mede no máximo a cada 2 s
  float umidade = dht.readHumidity();
  float temperatura = dht.readTemperature();
  lcd.clear();
  if (isnan(umidade) || isnan(temperatura)) {
    lcd.print("Erro no sensor");
    return;
  }
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temperatura, 1);
  lcd.print((char)223);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print("Umid: ");
  lcd.print(umidade, 0);
  lcd.print("%");
}

Montagem

  1. Instale as bibliotecas "DHT sensor library" (Adafruit) e "LiquidCrystal I2C".
  2. DHT22: VCC 5V, DATA no pino 2 com 10 kΩ entre DATA e VCC, GND.
  3. LCD I2C: VCC 5V, GND, SDA no A4, SCL no A5.
  4. Carregue o código; se o LCD ficar em branco, ajuste o contraste no trimpot do adaptador ou troque o endereço para 0x3F.

Ferramentas

Computador com Arduino IDE