#include <LiquidCrystal.h>
#include <DHT.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // Pines de la pantalla LCD
DHT sensorht(2, DHT22); // Pin de la señal del sensor de temperatura y humedad
const int alarmaPin = 3; // Pin del LED
void setup() {
Serial.begin(9600); // Velocidad de transmisión de la pantalla LCD
lcd.begin(16, 2);
sensorht.begin();
pinMode(alarmaPin, OUTPUT); // Variable de salida de la alarma (LED)
Serial.println("Iniciando...");
lcd.setCursor(0, 0);
lcd.print("HUMEDAD"); // Lectura que se mostrará en la pantalla LCD
lcd.setCursor(0, 1);
lcd.print(" Y TEMPERATURA "); // Lectura que se mostrará en la pantalla LCD
delay(2000); // Tiempo en milisegundos que se demorará en mostrar la lectura
}
void loop() {
float h = sensorht.readHumidity();
float t = sensorht.readTemperature();
Serial.print("Humedad: ");
Serial.print(h);
Serial.println(" %");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.println(" °C");
lcd.setCursor(0, 0);
lcd.print("H.R.: "); //Impresion de las lecturas de Humedad en el LCD
lcd.print(h);
lcd.print(" % ");
lcd.setCursor(0, 1);
lcd.print("Temp.: "); //Impresion de las lecturas de temperatura en el LCD
lcd.print(t);
lcd.print(" ");
lcd.print((char)223);
lcd.print("C ");
if (t > 50.0) {
digitalWrite(alarmaPin, HIGH); // Si la temperatura es mayor a 50 grados el LED se encenderá
} else {
digitalWrite(alarmaPin, LOW); // Si la temperatura es menor o igual a 50 grados el LED se apagará
}
delay(1000); // Tiempo en milisegundos que se demora el LED en encender o apagarse
}