#include "RTClib.h"
#include<Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS3231 rtc;
char dataHari[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
String hari;
int tanggal, bulan, tahun, jam, menit, detik;
float suhu;
#include<Servo.h>
Servo mekanik;
void setup () {
Serial.begin(9600);
lcd.begin(16,2);
mekanik.attach(4);
//mekanik.write(0);
if (! rtc.begin()) {
Serial.println("RTC Tidak Ditemukan");
Serial.flush();
abort();
}
//Atur Waktu
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
rtc.adjust(DateTime(2023, 12, 24, 19, 43, 00)); //tahun, bulan, tanggal, jam, menit, detik
}
void loop () {
DateTime now = rtc.now();
hari = dataHari[now.dayOfTheWeek()];
tanggal = now.day(), DEC;
bulan = now.month(), DEC;
tahun = now.year(), DEC;
jam = now.hour(), DEC;
menit = now.minute(), DEC;
detik = now.second(), DEC;
suhu = rtc.getTemperature();
lcd.setCursor(0,0);
lcd.print(String() +hari+"," +tanggal+"-"+bulan+"-"+tahun);
lcd.setCursor(0,1);
lcd.print(String() +jam+":" +menit+":"+detik+" " +suhu+".C ");
delay(1000);
Serial.println(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
Serial.println(String() + jam + ":" + menit + ":" + detik);
Serial.println(String() + "Suhu: " + suhu + " C");
Serial.println();
if(jam == 19 & menit == 43 & detik == 10){
pakan(2);
}
if(jam == 19 & menit == 43 & detik == 40){
pakan(2);
}
}
void pakan(int jumlah) {
for(int i=1; i <= jumlah; i++) {
mekanik.write(0);
delay(500);
mekanik.write(85);
delay(500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ikan Makan");
lcd.setCursor(0,1);
lcd.print(" ");
//delay(1000);
}
}