#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 RTC;
const int buzz=5;
Servo servo1;
void setup() {
// put your setup code here, to run once:
lcd.init();
lcd.backlight();
RTC.begin();
pinMode(buzz, OUTPUT);
servo1.attach(11);
servo1.write(0);
lcd.setCursor(4,0);
lcd.print("Project");
lcd.setCursor(2,1);
lcd.print("Jam Digital");
delay(2000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
DateTime baca = RTC.now();
utama();
if (baca.hour() == 9 & baca.minute() == 30 & baca.second() == 1 )
{
lcd.setCursor(0,0);
lcd.print(" Waktunya Makan ");
lcd.setCursor(0,1);
lcd.print(" Ikan-Ikan ");
servo1.write(180);
tone (buzz,250);
delay(3000);
servo1.write(0);
noTone (buzz);
delay(1000);
utama();
}
if (baca.hour() == 16 & baca.minute() == 30 & baca.second() == 1)
{
lcd.setCursor(0,0);
lcd.print(" Waktunya Makan ");
lcd.setCursor(0,1);
lcd.print(" Ikan-Ikan ");
servo1.write(180);
tone (buzz,250);
delay(3000);
servo1.write(0);
noTone (buzz);
delay(1000);
utama();
}
else{
utama();
noTone (buzz);
servo1.write(0);
}
}
void utama()
{
DateTime baca = RTC.now();
lcd.setCursor(0,0);
lcd.print("Date: ");
lcd.print(baca.day());
lcd.print("/");
lcd.print(baca.month());
lcd.print("/");
lcd.print(baca.year());
lcd.setCursor(0,1);
lcd.print("Time: ");
lcd.print(baca.hour());
lcd.print(":");
lcd.print(baca.minute());
lcd.print(":");
lcd.print(baca.second());
delay(1000);
lcd.clear();
}