#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#include <DHTesp.h>
DHTesp dht;
#define DHTPIN 4 // Pin donde está conectado el DHT22
#define DHTTYPE DHT22 // Definir el tipo de sensor DHT
DHT dht(DHTPIN, DHTTYPE);
// Crear objeto de pantalla LCD en la dirección I2C predeterminada (0x27 o 0x3F)
LiquidCrystal_I2C lcd(0x3F, 16, 2); // Cambia 0x27 por la dirección I2C de tu pantalla si es diferente
void setup() {
Serial.begin(115200);
dht.setup(DHTPIN, DHTesp::DHT22);
delay(2000); // Esperar 2 segundos para que el sensor se estabilice
// Inicializar pantalla LCD
lcd.init();
lcd.backlight();
// Mostrar mensaje inicial
lcd.setCursor(0, 0);
lcd.print("Iniciando...");
delay(2000);
lcd.clear();
}
void loop() {
TempAndHumidity data = dht.getTempAndHumidity();
// Leer humedad y temperatura
float h = dht.readHumidity();
float t = dht.readTemperature();
// Verificar si las lecturas son válidas
if (isnan(data.temperature) || isnan(data.humidity)) {
Serial.println("Error al leer del sensor DHT!");
lcd.setCursor(0, 0);
lcd.print("Error DHT! ");
delay(2000); // Esperar antes de intentar leer nuevamente
return;
} else {
float t = data.temperature;
float h = data.humidity;
}
// Mostrar nombre del insumo
lcd.setCursor(0, 0);
lcd.print("Insumo: Producto");
// Mostrar temperatura y humedad
lcd.setCursor(0, 1);
lcd.print("T:");
lcd.print(t);
lcd.print("C H:");
lcd.print(h);
lcd.print("% ");
delay(2000);
}