#include "RTClib.h"
#include <Wire.h>
#include "SSD1306Ascii.h"
#include "SSD1306AsciiWire.h"
#define I2C_ADDRESS 0x3C
#define RST_PIN 4
RTC_DS1307 rtc;
DateTime CurrentTime;
int Hour,Minute,Second;
String DisplayString;
SSD1306AsciiWire oled;
void setup() {
Serial.begin(9600);
// initialize as I2C master
Wire.begin();
Wire.setClock(400000L);
oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN);
oled.clear();
oled.setFont(ZevvPeep8x16);
oled.clear();
oled.print("______TIME______");
oled.println();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
}
void loop() {
CurrentTime = rtc.now();
Hour=CurrentTime.hour();
Minute=CurrentTime.minute();
Second=CurrentTime.second();
DisplayString=" " + String(Hour) + ":" ;
if (Minute<10){
DisplayString=DisplayString + "0" + String(Minute) + ":";
} else{
DisplayString=DisplayString + String(Minute) + ":";
}
if (Second<10){
DisplayString=DisplayString + "0" + String(Second);
} else{
DisplayString=DisplayString + String(Second);
}
oled.SSD1306Ascii::setCursor(0,4);
oled.print(DisplayString);
delay(1000);
}