#include <Servo.h>
#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
const int DHT_PIN = 15;
Servo servoku;
DHTesp dhtSensor;
unsigned long lastMsg = 0;
float temp = 0;
float hum = 0;
int rotasi = 90;
void setup() {
// Program Awal LCD
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("Sistem IoT TK");
LCD.setCursor(0, 1);
LCD.print("213310014");
delay (500);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print(" Dwi Novi ");
LCD.setCursor(0, 1);
LCD.print("'Keran Otomatis'");
delay (500);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("MULAI");
delay(700);
LCD.clear();
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
servoku.attach(25);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
LCD.setCursor(0, 0);
LCD.print("Temp: " + String(data.temperature, 2) + "°C");
delay(5000);
LCD.clear();
if (data.temperature > 35) {
servoku.write(90);
LCD.setCursor(0, 0);
LCD.print(" Keran Terbuka ");
delay(5000);
} else {
servoku.write(0);
LCD.setCursor(0, 0);
LCD.print(" Keran Tertutup ");
delay(5000);
}
}