//Imprimir los valores de humedad y temperatura, captados por el sensor DHT mediante la LCD2x16
//Autor: Integracion
#include <LiquidCrystal_I2C.h> // Incluye la librería para manejar la pantalla LCD con I2C
#include <Wire.h> // Incluye la librería Wire para la comunicación I2C
#include <DHT.h> // Incluye la librería DHT para manejar el sensor de temperatura y humedad
LiquidCrystal_I2C lcd(0x27, 16, 2); // Inicializa la pantalla LCD con la dirección I2C 0x27 y tamaño 16x2
DHT dht(32, DHT22); // Inicializa el sensor DHT22 en el pin 32
float t = 0, h = 0, idc = 0; // Variables para almacenar temperatura, humedad e índice de calor
void setup() {
dht.begin(); // Inicializa el sensor DHT22
lcd.init(); // Inicializa la pantalla LCD
lcd.backlight(); // Enciende la luz de fondo de la pantalla LCD
lcd.clear(); // Limpia la pantalla LCD
lcd.setCursor(3, 0); // Establece el cursor en la primera fila, cuarta columna
lcd.print("SISTEMA DE"); // 16-10=6/2=3 Imprime "SISTEMA DE" en la pantalla LCD
lcd.setCursor(3, 1); // Establece el cursor en la segunda fila, cuarta columna
lcd.print("MONITOREO"); // 16-9=7/2=3.5 Imprime "MONITOREO" en la pantalla LCD
delay(5000); // Espera 5 segundos
lcd.clear(); // Limpia la pantalla LCD
}
void loop() {
t = dht.readTemperature(); // Lee la temperatura del sensor DHT22
h = dht.readHumidity(); // Lee la humedad del sensor DHT22
idc = dht.computeHeatIndex(t, h); // Calcula el índice de calor basado en la temperatura y humedad
lcd.setCursor(0, 0); // Establece el cursor en la primera fila, primera columna
lcd.print("T: " + String(t) + "*C"); // Imprime la temperatura en la pantalla LCD
lcd.setCursor(0, 1); // Establece el cursor en la segunda fila, primera columna
lcd.print("H: " + String(h) + "%HR"); // Imprime la humedad en la pantalla LCD
delay(5000); // Espera 5 segundos
lcd.clear(); // Limpia la pantalla LCD
lcd.setCursor(0, 0); // Establece el cursor en la primera fila, primera columna
lcd.print("ST: " + String(idc) + "*C"); // Imprime el índice de calor en la pantalla LCD
delay(5000); // Espera 5 segundos
lcd.clear(); // Limpia la pantalla LCD
}