Binäruhr mit DCF77 / NTP

Noch ein Projekt, welches ich schon vor sehr langer Zeit gemacht habe: Eine Binäruhr, welche sich synchronisieren lässt.
Dieses Projekt habe ich auch mehrmals aufgegriffen.

Für alle, die nicht wissen um was es sich hierbei handelt:

Auszug von Wikipedia: Binäre Uhr

Eine erste Variante von binären Uhren stellt die aktuelle Uhrzeit binär mit Hilfe von binären Anzeigeelementen dar, welche jede Dezimalziffer der auszugebenden Zeit analog dem BCD-Code einzeln in das Dualsystem umrechnet und anzeigt. Eine zweite Variante stellt die Uhrzeit je einzeln für Stunden, Minuten und Sekunden ohne einen direkten Bezug zu Dezimalziffern im Dualsystem dar.

Die erste Version war ein Nachbau von jb-electronics mit einem PIC-Mikrocontroller welche ich während der Ausbildung gebaut hatte (erstes Mikrocontroller-Projekt). Das Projekt kann man hier finden: Mini-Binäruhr
Allerdings hatte diese noch keine Zeitsynchronisation und auch keine Sekundenanzeige.

Deswegen habe ich mir im nächsten Schritt selber eine gebaut.

Die zweite Variante war die erste selbstentwickelte Binäruhr. Basierend auf einem 40-Pin Atmega16. Die Uhr war prinzipiell freilaufend, musste aber initial über das DCF77-Signal synchronisiert werden. Die LEDs und das DCF77-Modul sind direkt mit dem Mikrocontroller verdrahtet.

Die Gehäusewahl ist im Nachhinein betrachtet nich ganz so optimal. Durch das transparente Gehäuse kann man zwar die LEDs sehen, aber nur recht unscharf.


geöffnetes Gehäuse


aktive Schaltung

Die aktuellste Variante, die ich gebaut habe enthält einen ESP8266 als Mikrocontroller. Die Uhrzeit wird hier über WLAN von einem NTP-Server geholt. Angezeigt wird das ganze über RGB-LEDs. Vom Konzept ist das ein bisschen an eine Word-Clock angelehnt.

Hier diese Variante im Video:

Der Fokus liegt hier ganz klar auf dem 3D-Druck.

In das Gehäuse wird in die entsprechende Aussparung eine USB-Platine eingeklebt. In die entsprechenden Segmente wird jeweils ein Papierstück geklebt, das dafür sorgt, dass die Zahlen matt leuchten. Als Zwischenschicht zwischen LED und Auge. Prinzipiell lassen sich die LEDs in jeder Farbe steuern. Und auch entsprechend animieren. Ich habe mich hier aber für eine simple Darstellung entschieden: Jede Reihe eine andere Grundfarbe. Der Vorteil an den WS2812B ist aber, dass man flexibel ist und das einfach ändern kann, wenn es einem nicht mehr gefällt.

Alles in allem ist es wesentlich umproblematischer (und günstiger) mit einem WLAN-fähigen Mikrocontroller gegenüber einem DCF77-Modul. Da man nicht von einem guten DCF77-Empfang abhängig ist und WLAN ja heute überall in den Wohnungen bereit steht.


Binär-Uhr, die 01:02:23 anzeigt


Innenleben der Binäruhr

Als externe Bibliothek wird WiFiManager, NTPClient und Adafruit NeoPixel benötigt.

Die Software stellt ein WLAN bereit zum Konfigurieren (der Konfigurationsmodus erscheint wieder, wenn sich die Uhr beim Start nicht mit dem WLAN verbinden kann). Nach dem Eingeben der Verbindungsdaten holt die Uhr die aktuelle Uhrzeit via NTP und gibt sie über die RGB-Streifen als Binärcode wieder aus.

Eine Unterscheidung für Sommer-/Winterzeit ist aktuell noch nicht integriert. Die Sommerzeit ist aktuell als Konstante hinterlegt. Das lässt sich aber relativ einfach nachrüsten, wie z.B. hier beschrieben ist.

binary_clock.ino

binaeuhr_v3.svg (umgewandelt in *.dxf)


binaeuhr_v3.scad

Gehäuse

Download

Deckel

Download


Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information