#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Definir el pin donde está conectado el DHT22
#define DHTpin 2 // GPIO 2 (D4 en Wokwi)
#define DHTTYPE DHT22 // Cambiado de DHT11 a DHT22
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C, columnas y filas de la pantalla LCD
DHT dht(DHTpin, DHTTYPE); // Configuración del sensor DHT22
void setup() {
// Inicializar la pantalla LCD
lcd.init();
lcd.backlight();
lcd.print("Initializing...");
// Inicializar el sensor DHT22
dht.begin();
// Configurar la comunicación Serial (opcional, para depuración)
Serial.begin(115200);
delay(1500);
}
void loop() {
// Leer datos de temperatura y humedad
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Verificar si los datos son válidos
if (isnan(humidity) || isnan(temperature)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error leyendo");
lcd.setCursor(0, 1);
lcd.print("DHT22");
return;
}
// Limpiar la pantalla LCD
lcd.clear();
// Mostrar temperatura en la pantalla LCD
lcd.setCursor(0, 0); // Primer fila
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
// Mostrar humedad en la pantalla LCD
lcd.setCursor(0, 1); // Segunda fila
lcd.print("Hum: ");
lcd.print(humidity);
lcd.print(" %");
// Esperar 2 segundos antes de la siguiente lectura
delay(2000);
}