#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// DHT22 Configuration
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// LCD Configuration
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
Serial.println("Starting Monitor...");
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Temp & Hum");
lcd.setCursor(0, 1);
lcd.print("System...");
delay(2000);
lcd.clear();
// Seed random generator (important!)
randomSeed(analogRead(0));
}
void loop() {
// wait 3 seconds
delay(2000);
// Generate temperature (20.0°C to 35.0°C)
float t = random(200, 351) / 10.0;
// Generate humidity (40% to 90%)
float h = random(400, 901) / 10.0;
// Print to Serial Monitor
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" % | ");
Serial.print("Temp: ");
Serial.print(t);
Serial.println(" °C");
// Clear LCD before writing (prevents leftover digits)
lcd.clear();
// Print to LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(h);
lcd.print(" %");
}