//*******************************************************************
/*
* Filename : Temperature Humidity and Light Meter
* Description : LCD displays the value of temperature, humidity, and light level.
* Author : josepepe
*/
#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
// Definiciones de pines
#define DHTPIN 13 // Pin donde se conecta el DHT22
#define LDRPIN A0 // Pin analógico donde se conecta el fotorresistor (LDR)
DHTesp dht; // Crear objeto para manejar el DHT22
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
void setup() {
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
dht.setup(DHTPIN, DHTesp::DHT22); // Inicializar DHT22 en el pin DHTPIN
}
void loop() {
// Leer temperatura y humedad del DHT22
float temperature = dht.getTemperature(); // Leer temperatura
float humidity = dht.getHumidity(); // Leer humedad
// Mostrar temperatura en el LCD
LCD.setCursor(0, 0); // Establecer posición de visualización
LCD.print("Temper:"); // Configurar la visualización
LCD.setCursor(0, 8);
LCD.print(temperature, 1); // Mostrar temperatura con 1 decimal
LCD.setCursor(0, 13);
LCD.print("C");
delay(3000);
LCD.clear();
// Mostrar humedad en el LCD
LCD.setCursor(2, 0);
LCD.print("Humid:");
LCD.setCursor(2, 8);
LCD.print(humidity, 1); // Mostrar humedad con 1 decimal
LCD.setCursor(2, 13);
LCD.print("%");
delay(3000);
LCD.clear();
// Leer valor del fotorresistor
int ldrValue = analogRead(LDRPIN);
// Mostrar valor de la luz (fotorresistor)
LCD.setCursor(4, 0);
LCD.print("Light:");
LCD.setCursor(4, 8);
LCD.print(ldrValue);
delay(3000);
LCD.clear();
}
//*******************************************************************