#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
#define pinLED_hijau 5
#define pinLED_Biru 18
#define pinLED_merah 19
#define DHTPIN 15
#define relay_pin 13
float suhu_rendah = 15;
float suhu_tinggi = 30;
DHTesp dht;
void setup() {
lcd.init();
lcd.clear();
lcd.backlight();
Serial.begin(115200);
Serial.println("TUGAS 2");
dht.setup(DHTPIN, DHTesp::DHT22);
pinMode(pinLED_hijau, OUTPUT);
pinMode(pinLED_Biru, OUTPUT);
pinMode(pinLED_merah, OUTPUT);
pinMode(relay_pin, OUTPUT);
}
void loop() {
TempAndHumidity data = dht.getTempAndHumidity();
float suhu_sensor = data.temperature;
float hum = data.humidity;
if (suhu_sensor < suhu_rendah){
digitalWrite(pinLED_hijau, HIGH);
digitalWrite(pinLED_Biru, LOW);
digitalWrite(pinLED_merah, LOW);
digitalWrite(relay_pin, LOW);
}
else if ((suhu_sensor >= suhu_rendah) && (suhu_sensor <= suhu_tinggi)){
digitalWrite(pinLED_hijau, LOW);
digitalWrite(pinLED_Biru, HIGH);
digitalWrite(pinLED_merah, LOW);
digitalWrite(relay_pin, LOW);
}else{
digitalWrite(pinLED_hijau, LOW);
digitalWrite(pinLED_Biru, LOW);
digitalWrite(pinLED_merah, HIGH);
digitalWrite(relay_pin, HIGH);
}
lcd.setCursor(0,0);
lcd.print("TMPRT:");
lcd.setCursor(7,0);
lcd.print(suhu_sensor);
lcd.setCursor(13,0);
lcd.print((char)223);
lcd.setCursor(14,0);
lcd.print("c");
lcd.setCursor(0,1);
lcd.print("KLMBP:");
lcd.setCursor(7,1);
lcd.print(data.humidity);
lcd.setCursor(13,1);
lcd.print("%");
delay(100);
}