#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
const int DHT_PIN = 15;
const int blower = 2;
const int heater = 4;
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void sendSensor()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
int temperature = data.temperature;
int humidity = data.humidity;
lcd.setCursor(8, 0);
lcd.print(temperature);
lcd.setCursor(8, 1);
lcd.print(humidity);
if (temperature > 40 && humidity < 30)
{
digitalWrite(blower, HIGH);
digitalWrite(heater, LOW);
lcd.setCursor(0, 0);
lcd.print("Pendingin Hidup");
lcd.setCursor(0, 1);
lcd.print("Menurunkan Suhu");
}
else if (temperature < 30 && humidity > 70)
{
digitalWrite(blower, LOW);
digitalWrite(heater, HIGH);
lcd.setCursor(0, 0);
lcd.print("Penghangat Hidup");
lcd.setCursor(0, 1);
lcd.print("Meningkatkan Suhu");
}
else
{
digitalWrite(blower, LOW);
digitalWrite(heater, LOW);
lcd.setCursor(0, 0);
lcd.print("Suhu Stabil");
lcd.setCursor(0, 1);
lcd.print("Mempertahankan Suhu");
}
}
void setup()
{
pinMode(blower, OUTPUT);
pinMode(heater, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Suhu = ");
lcd.setCursor(0, 1);
lcd.print("Humi = ");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Serial.begin(115200);
delay(1000);
}
void loop()
{
sendSensor();
delay(1000);
}