#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(0x27, 20, 4);
Adafruit_SSD1306 display(128, 64, &Wire, 4);
RTC_DS1307 rtc;
String dow[7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
void setup() {
Serial.begin(115200);
rtc.begin();
lcd.begin(16, 2);
lcd.backlight();
display.begin(SSD1306_SWITCHCAPVCC, 0x3c);
display.setTextSize(1);
display.setTextColor(WHITE);
}
void loop() {
DateTime now = rtc.now();
int dd = now.day();
int mm = now.month();
int yy = now.year();
int hr = now.hour();
int mn = now.minute();
int sc = now.second();
String dw = dow[now.dayOfTheWeek()];
char buff[11];
String d, t;
sprintf(buff, "%02d/%02d/%d", dd, mm, yy);
d = String(buff);
sprintf(buff, "%02d:%02d:%02d", hr, mn, sc);
t = String(buff);
// String d = String(dd) + "/" + String(mm) + "/" + String(yy);
// String t = "";
// if (hr < 10) {
// t += "0";
// }
// t = t + String(hr) + ":";
// if ( mn < 10) {
// t += "0";
// }
// t = t + String(mn) + ":";
// if (sc < 10) {
// t += "0";
// }
// t = t + String(sc);
//string t = string(hr) + ":" + string(mn) + ":" + string(sc);
Serial.println(d + " " + t);
lcd.setCursor(0, 1); lcd.print(d);
lcd.setCursor(0, 1); lcd.print(t);
display.clearDisplay();
display.setCursor(0, 0); display.println(d);
display.setCursor(0, 10); display.println(t);
display.display();
delay(1000);
}