#include <U8g2lib.h>
// -----------------------------
// Display: SH1106 128x64 I2C
// -----------------------------
U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(
U8G2_R0,
U8X8_PIN_NONE
);
// -----------------------------
// Setup
// -----------------------------
void setup() {
Serial.begin(9600);
Serial.println(F("Starte DCF77 + SH1106 OLED"));
u8g2.begin();
u8g2.firstPage();
do {
// Startanzeige
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 12, "DCF77 Funkuhr");
u8g2.drawStr(0, 28, "Warte auf Signal...");
} while ( u8g2.nextPage() );
delay(2000);
}
// -----------------------------
// Hauptschleife
// -----------------------------
void loop() {
displayTime();
delay(2000);
}
// -----------------------------
// Anzeige auf OLED
// -----------------------------
void displayTime() {
u8g2.firstPage();
do {
// Kopfzeile
u8g2.setFont(u8g2_font_6x10_tr);
u8g2.drawStr(0, 10, "DCF77 Funkuhr");
// Sync-Status
// if (dcfSyncOk) {
// u8g2.drawStr(90, 10, "OK");
// } else {
// u8g2.drawStr(90, 10, "Suche");
// }
// Uhrzeit groß
char buf[20];
// sprintf(buf, "%02d:%02d:%02d", hour(), minute(), second());
sprintf(buf, "%02d:%02d:%02d", 20, 30, 45);
u8g2.setFont(u8g2_font_logisoso28_tn);
u8g2.drawStr(0, 50, buf);
// Datum
u8g2.setFont(u8g2_font_6x10_tr);
// sprintf(buf, "%02d.%02d.%04d", day(), month(), year());
sprintf(buf, "%02d.%02d.%04d", 26, 12, 25);
u8g2.drawStr(0, 63, buf);
} while ( u8g2.nextPage() );
}