Das ist wirklich eine super Anleitung! Vielen Dank dafür.
Es funktioniert!
Um allen anderen eine fertigen Sketch zu geben, hier mein kleines Testprogramm:
#include "DCF77.h"
#include "TimeLib.h"
#include <Wire.h>
#define DCF_PIN 35
#define DCF_INTERRUPT 0
//time_t time;
DCF77 DCF = DCF77(DCF_PIN, DCF_INTERRUPT);
bool g_bDCFTimeFound = false;
void setup()
{
Serial.begin(115200);
DCF.Start();
Serial.println("Warten auf DCF77-Zeit... ");
delay(2000);
}
void loop()
{
delay(1000);
time_t DCFtime = DCF.getTime();
if (DCFtime!=0)
{
Serial.println("Zeit ist aktuell");
setTime(DCFtime);
g_bDCFTimeFound = true;
}
if (g_bDCFTimeFound)
{
delay(50);
}
digitalClockDisplay();
}
void digitalClockDisplay()
{
printDigits(hour());
Serial.print(":");
printDigits(minute());
Serial.print(":");
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits)
{
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}