#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
char timeOfTheDay[3][12] = {"Morning", "Afternoon", "Night"};
void setup () {
Serial.begin(115200);
lcd.init();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
}
void loop () {
DateTime now = rtc.now();
Serial.print("Current Date: ");
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print("\n");
Serial.print("Current Day: ");
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("\n");
Serial.print("Current Time: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
if ((now.hour(), DEC) == 6)
{
lcd.setCursor(0,0);
lcd.print("Hello, ");
lcd.setCursor(0,1);
lcd.print("Good " + String(timeOfTheDay[0]) + "!");
delay(1000);
}
else if ((now.hour(), DEC) == 12)
{
lcd.setCursor(0,0);
lcd.print("Hello, ");
lcd.setCursor(0,1);
lcd.print("Good " + String(timeOfTheDay[1]) + "!");
delay(1000);
}
else
{
lcd.setCursor(0,0);
lcd.print("Hello, ");
lcd.setCursor(0,1);
lcd.print("Good " + String(timeOfTheDay[2]) + "!");
delay(1000);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Current Date: ");
lcd.setCursor(0,1);
lcd.print(String(now.year(), DEC) + "/"+ String(now.month(), DEC) + "/" + String(now.day(), DEC));
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Current Day: ");
lcd.setCursor(0,1);
lcd.print(String(daysOfTheWeek[now.dayOfTheWeek()]));
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Current Time: ");
lcd.setCursor(0,1);
lcd.print(String(now.hour(), DEC) + ":"+ String(now.minute(), DEC) + ":" + String(now.second(), DEC));
delay(2000);
lcd.clear();
Serial.println();
delay(3000);
}