#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
#include "DHT.h"
#include <TM1637.h>
LiquidCrystal_I2C lcd( 0x27 , 16 , 2 );
RTC_DS1307 rtc;
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define led 5
TM1637 tm(3, 4);
void setup() {
dht.begin();
pinMode(led, OUTPUT);
rtc.begin();
lcd.init();
lcd.backlight();
tm.init();
tm.set(BRIGHT_TYPICAL);
}
void loop() {
// nama dan nim
lcd.setCursor(0, 0);
lcd.print("Siddiq Arodhal F");
lcd.setCursor(0, 1);
lcd.print("NIM:230205601004");
delay(3000);
lcd.clear();
while(1){
float Kelembaban = dht.readHumidity();
float suhu = dht.readTemperature();
DateTime now = rtc.now();
int jam = now.hour() ;
int menit = now.minute() ;
int detik = now.second();
// menampilkan jam di led baris 0
lcd.setCursor(0, 0);
lcd.print(jam);
lcd.print(" : ");
lcd.print(menit);
lcd.print(" : ");
lcd.print(detik);
lcd.setCursor(0, 1);
// menampilkan kelembaban di 7sekmen
tampil(Kelembaban);
// menyalakan led jika sensor lembab atau detik dibawah 13
if(Kelembaban <= 50.00 || detik <= 12){
digitalWrite(led, HIGH);
lcd.setCursor(0, 1);
lcd.print("LED nyala");
}
else{
digitalWrite(led, LOW);
lcd.setCursor(0, 1);
lcd.print("LED mati");
}
delay(500);
lcd.clear();
}
}
void tampil(int aa ) {
tm.display(0, (aa / 1000) % 10);
tm.display(1, (aa / 100) % 10);
tm.display(2, (aa / 10) % 10);
tm.display(3, aa % 10);
}