DCF77 am ESP 32

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);
}
1 Like