#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHTesp.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
LiquidCrystal_I2C lcd2(0x28, 16, 2);
DHTesp dhtSensor;
int RED = 19;
int GREEN = 18;
int BLUE = 17;
unsigned long previousMillis = 0;
const long interval = 500;
void setup() {
Serial.begin(115200);
dhtSensor.setup(13,DHTesp::DHT22);
lcd.init();
lcd2.init();
lcd.backlight();
lcd2.backlight();
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
if (data.temperature>35){
Serial.println("Hot!");
lcd.setCursor(5, 0);
lcd.print("Hot!");
lcd2.setCursor(3,0);
lcd2.print("COOL DOWN!!");
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}
if (data.temperature>9 && data.temperature<36){
Serial.println("Normal");
lcd.setCursor(5, 0);
lcd.print("Normal");
lcd2.setCursor(0,0);
lcd2.print("ALL GOOD");
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, LOW);
}
if (data.temperature<10){
Serial.println("Cold!");
lcd.setCursor(5, 0);
lcd.print("Cold!");
lcd2.setCursor(1,0);
lcd2.print("WANT SOME HUG?");
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, HIGH);
}
}
}