#include <RTClib.h>
#include <Wire.h>
#include <LCD_I2C.h>
#include <ESP32Servo.h>
Servo myservo;
RTC_DS1307 rtc;
LCD_I2C lcd (0x27, 16, 2);
void setup() {
// put your setup code here, to run once:
myservo.attach(15);
pinMode(17,OUTPUT);
lcd.begin();
lcd.backlight();
Serial.begin(115200);
Wire.begin();
if(!rtc.begin()){
Serial.println("RTC Disconnect");
while (1);
}
}
//rtc.adjust(DateTime(F(__DATE__),F(__TIME__)));
void loop() {
// put your main code here, to run repeatedly:
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();
lcd.setCursor(0,0);
lcd.print(String() + "Tgl:" + tanggal +"-" + bulan +"-" + tahun);
lcd.setCursor(0,1);
lcd.print(String() + "Waktu:" + jam +":" + menit+":" + detik);
lcd.println();
delay(1000);
if(detik==20){
digitalWrite(17,HIGH);
myservo.write(0);
delay(500);
digitalWrite(17, LOW);
myservo.write(90);
delay(500);
}
if(detik==40){
digitalWrite(17, HIGH);
myservo.write(0);
delay(500);
digitalWrite(17, LOW);
myservo.write(90);
delay(500);
}
if(detik==0){
digitalWrite(17, HIGH);
myservo.write(0);
delay(500);
digitalWrite(17, LOW);
myservo.write(90);
delay(500);
}
}