#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);
  }
}