//koding RTC--------------------------->
#include<Wire.h>
#include<RTClib.h>
RTC_DS1307 rtc;
//koding LCD---------------------------------->
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
//koding servo--------------------------------->
#include <ESP32Servo.h>
const int servoPin = 5;
Servo mekanik;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//koding servo--------------------------------------->
mekanik.attach(servoPin);
mekanik.write(0);
//Koding LCD --------------------------------------->
lcd.init();
lcd.backlight();
lcd.clear();
//koding rtc
Wire.begin();
if(!rtc.begin()){
Serial.println("rtc tidak terhubung");
lcd.setCursor(0,0);
lcd.print("RTC Tidak Konek");
while(1);
}
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
//delay(10); // this speeds up the simulation
//Koding RTC -------------------------------------->
DateTime now= rtc.now();
int tahun=now.year();
int bulan=now.month();
int tanggal= now.day();
int jam= now.hour();
int menit= now.minute();
int detik= now.second();
//Koding LCD --------------------------------------->
lcd.setCursor(0,0);
lcd.print(String() + "Tang.: " + tanggal + "-" + bulan + "-" + tahun);
lcd.setCursor(0,1);
lcd.print(String() + "Waktu: " + jam + ":" + menit + ":" + detik + " ");
Serial.println(String() + "tanggal : " +tanggal+ "-" +bulan+ "-" +tahun);
Serial.println(String() + "waktu: " +jam+ "-" +menit+ "-" +detik);
Serial.println();
//jadwal kasih pakan pagi----------------------------------->
if((jam==7) && (menit==36) && (detik==1)){
kasihpakanpagi();
}
//jadwal kasih pakan siang----------------------------------->
if((jam==7) && (menit==38) && (detik==1)){
kasihpakansiang();
}
//jadwal kasih pakan malam----------------------------------->
if((jam==7) && (menit==40) && (detik==1)){
kasihpakanmalam();
}
delay(1000);
}
//koding servo
void kasihpakanpagi(){
lcd.clear();
lcd.print("FEEDING TIME...");
mekanik.write(180);
delay(3000);
mekanik.write(0);
lcd.clear();
}
void kasihpakansiang(){
lcd.clear();
lcd.print("FEEDING TIME...");
mekanik.write(180);
delay(3000);
mekanik.write(0);
lcd.clear();
}
void kasihpakanmalam(){
lcd.clear();
lcd.print("FEEDING TIME...");
mekanik.write(180);
delay(3000);
mekanik.write(0);
lcd.clear();
}