#include <Wire.h>
#include <RTClib.h>
#include "DateTime.h"
RTC_DS1307 clock;
int dtminutes=30;
int dthours=22;
byte minutes;
int hours;
int CurrentTime[4];
String Time_Comp[19]{ "ONE",
"TWO",
"THREE",
"FOUR",
"FIVE",
"SIX",
"SEVEN",
"EIGHT",
"NINE",
"TEN",
"ELEVEN",
"TWELVE",
"PAST",
"TO",
"FIVE",
"TEN",
"QUARTER",
"TWENTY",
"HALF"};
void setup() {
Serial.begin(9600);
clock.begin();
clock.adjust(DateTime(2023, 11, 21, 23, 12, 05));
}
void loop() {
DateTime dt = clock.now();
// minutes=byte((dt.Minute)/5)*5;
// if (minutes<35 and minutes>=0) hours=dt.Hour ;else hours=dt.Hour+1 ;
// if (minutes==0) {CurrentTime[0]=99;CurrentTime[1]=99;}
// if ((minutes==5) or (minutes==55)) {CurrentTime[0]=14;CurrentTime[1]=99;}
// if ((minutes==10) or (minutes==50)) {CurrentTime[0]=15;CurrentTime[1]=99;}
// if ((minutes==15) or (minutes==45)) {CurrentTime[0]=16;CurrentTime[1]=99;}
// if ((minutes==20) or (minutes==40)) {CurrentTime[0]=17;CurrentTime[1]=99;}
// if ((minutes==25) or (minutes==35)) {CurrentTime[0]=17;CurrentTime[1]=14;}
// if (minutes==30) {CurrentTime[0]=18;CurrentTime[1]=99;}
// if (minutes>= 5 and minutes<35) CurrentTime[2]=12;
// if (minutes>=35 and minutes<=59) CurrentTime[2]=13;
// if (minutes==0) CurrentTime[2]=99;
// CurrentTime[3]=hours - int(hours/12)*12-1;
Serial.print(DateTime.Hour,DEC);
Serial.print(":");
Serial.print(dt.minute);
Serial.print("-");
Serial.print(hours);
Serial.print(":");
Serial.print(minutes);
Serial.print("-");
if (CurrentTime[0]!=99) {Serial.print(Time_Comp[CurrentTime[0]]);Serial.print(" ");}
if (CurrentTime[1]!=99) {Serial.print(Time_Comp[CurrentTime[1]]);Serial.print(" ");}
if (CurrentTime[2]!=99) {Serial.print(Time_Comp[CurrentTime[2]]);Serial.print(" ");}
Serial.println(Time_Comp[CurrentTime[3]]);
delay(1000);
}