#include "DHT.h"
#include <LiquidCrystal_I2C.h>

#define DHTPIN 13    
#define DHTTYPE DHT22   
DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2); // Address may vary depending on your LCD module

void setup() {
  lcd.begin(16, 2);
  lcd.print("Deteksi Suhu");
  lcd.setCursor(0, 1);
  lcd.print("dan Kelembaban");
  delay(2000);
  
  Serial.begin(9600);
  Serial.println("Deteksi Suhu dan Kelembaban");
  dht.begin();
}

void loop() {
  delay(2000);
  float t = dht.readTemperature();
  float h = dht.readHumidity();
  if (isnan(h) || isnan(t)) {
    lcd.clear();
    lcd.print("Sensor Error!");
    Serial.println("Sensor tidak terbaca!");
    return;
  }

  lcd.clear();
  lcd.print("Humidity: ");
  lcd.print(h);
  lcd.print(" %");
  lcd.setCursor(0, 1);
  lcd.print("Temperature: ");
  lcd.print(t);
  lcd.print(" *C");
  
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.println(" *C ");
}