DCF77 Zeitsignal
Hier erhalten Sie die Materialliste und den Programmcode für die Decodierung des DCF77-Zeitsignals mittels Arduino.
Verwendetes Material:
- Arduino Uno
- DCF Empfängermodul von Conrad
- 10 kΩ-Widerstand
- optional: LCD-Display (z.B. I2C LCD 2004)
Prüfung der Empfangsqualität
Zunächst sollten Sie Empfangsqualität bestimmung und so die optimale Ausrichtung der Antenne ermitteln. Dazu sind folgende Schritte notwendig:
- Installieren der Arduino-Grundsoftware auf ihrem Rechner
- Anschließen des DCF77-Moduls an den Arduino (siehe Artikeltext)
- Verbinden des Arduinos mit dem PC
- Herunterladen der Codebausteine (hier am Ende der Seite!)
- Einmaliges Entpacken der heruntergeladenen Dateien (nur den heruntergeladenen Ordner entpacken, nicht die darin enthaltenen Zzip-Dateien)
- Öffnen des Codes "DCF77-Messung-Signalstaerke"
- Hochladen des Codes auf den Arduino
- Öffnen des Serial Monitors in der Arduino-Software
Nun wird die Empfangsqualität gut sichtbar im Serial Monitor angezeigt. Achten Sie dabei darauf, dass die lange Seite der Antenne in Richtung Frankfurt am Main zeigt und sich keine elektromagnischen Störquellen in der Nähe befinden. Besonders Schaltnetzteile und auch Bildschirme stören den Empfang stark!
Decodierung des Zeitsignals
Wenn der Empfang des Signals durchgehend gut ist, können Sie nun auch die Zeit durch den Arduinio decodieren lassen. Dazu führen Sie folgende Schritte aus:
- Einbinden der Bibliotheken "Time", "Timezone", "Time-master" und "DCF77" über die Sketch -> Bibliothek einbinden -> .zip-Bibliothek einbinden
- Öffnen und hochladen des Codes "DCF77_ohne_Display"
- Öffnen des Serial Monitors
Nun sollte Ihnen nach 2 1/2 - 5 Minuten die aktuelle Zeit angesagt werden. Bis dahin wird alle 5 Sekunden eine neue Zeile im Serial Monitor geschrieben, sodass sichtbar ist, dass der Code läuft.
Autarker Einsatz ohne PC
Wenn Sie den den Aruduino autark, also ohne Verbindung zum PC, als Uhr nutzen wollen, benötigen die zur Ausgabe der decodierten Zeit ein LCD-Display. Hierfür sind beliebige Displays geeignet - der Ausgabecode muss jedoch dafür angepasst werden. Die Stromversorgung des Arduinos erfolgt dann über eine beliebige Powerbank.
Um das oben genannte I2C-Display zu nutzen, müssen Sie folgendes tun:
- Einbinden der Bibliothek "LiquidCrystal_I2C" über die Sketch -> Bibliothek einbinden -> .zip-Bibliothek einbinden
- Öffnen und hochladen des Codes "DCF77_mit_Display"
Nun sollte wiederum nach 2 1/2 bis 5 Minuten die aktuelle Zeit und das Datum auf dem LCD-Display angezeigt werden und weiterlaufen. Zuvor zählt die Uhr nur vom typischen UNIX-Startdatum 1.1.1970 nach oben.
Hinweis: Einig der Bibliotheken können alternativ auch direkt über den Arduino-Bibliotheksmanager bezogen werden (Sketch -> Bibliothek einbinden -> Bibliotheken verwalten).
Downloads
- Code für DCF77 mit Arduino (324 KByte)