#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
#include <DHT.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27,20,4);
#define DHTPIN 3
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
char dataHari[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
String hari;
int tanggal, bulan, tahun, jam, menit, detik;
void setup()
{
Serial.begin(9600);
lcd.begin(20,4);
lcd.backlight();
if (!rtc.begin())
{
lcd.print("RTC OFF");
while (1)
;
}
if (!rtc.isrunning())
{
lcd.print("RTC tidak berfungsi");
}
dht.begin();
}
void loop() {
DateTime now = rtc.now();
int temperature = dht.readTemperature(); // Baca suhu dari sensor DHT
int humidity = dht.readHumidity(); // Baca kelembaban dari sensor DHT
lcd.setCursor(0, 0);
lcd.print(dataHari[now.dayOfTheWeek()]);
lcd.print(":");
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.setCursor(0, 1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
lcd.setCursor(0, 2);
lcd.print("Temp:");
lcd.print(temperature);
lcd.write(2);
lcd.print("C");
lcd.setCursor(0, 3);
lcd.print("Humidity:");
lcd.print(humidity);
lcd.print("%");
delay(1000);
}