Christians Bastel-Laden

Aufbauanleitung für eine Liquid-Clock

Was ist eine Liquid-Clock?

Die Liquid-Clock ist eine Arduino-basierte Uhr, welche die Uhrzeit mit Hilfe eines NeoPixel-Strips anzeigt. Ein blauer Punkt zeigt die Stunde, ein grüner die Minute und ein roter die Sekunde. Die Punkte bewegen sich dabei fließend, daher der Name Liquid-Clock. Über Nacht schaltet die Uhr das Display aus und Empfängt das offizielle Zeitsignal der PTB in der Nähe von Frankfurt (DCF77-Zeitsignal).

Bausatz

Als Steuereinheit für die Uhr dient das Bare-Bones-Real-Time-Clock-Arduino-Ding. Einen Bausatz für ein BBRTCAD gibt es bei Elmotex.

BBRTCAD-Bausatz

Wie funktioniert das?

Die Liquid-Clock nutzt für die Anzeige der Leuchtpunkte NeoPixel-Streifen.

NeoPixel-Streifen sind eigentlich Streifen mit WS2812B-RGB-LEDs. Der Begriff NeoPixel stammt von Adafruit, wo es auch ein hervorragendes Tutorial gibt.

NeoPixel-Überguide

Liquid-Clock: Einleitung

1. Einleitung

Für eine Liquid-Clock braucht man ein BBRTCAD, einen NeoPixel-Strip (60 Pixel/Meter; 1 Meter), einen DCF77-Empfänger, ein Netzteil und ein wenig Kleinkruscht. Eine genaue Liste der Teile mit Bezugsquellen findet sich ganz unten auf dieser Seite (Einkaufsliste).

Als erstes baut man das Bare Bones Real Time Clock Arduino Ding (BBRTCAD) auf, wie hier beschrieben: Aufbauanleitung BBRTCAD.

Vorher sollte man darüber nachdenken, wie die Stromversorgung stattfindet und wie der FTDI-Header liegen soll. Bei einem 5 Volt-Netzeil braucht man den Spannungsregler nicht.

Liquid-Clock: Strip-Positionierung

2. Strip-Positionierung

Für die Positionierung des Strips muß man ein wenig rechnen:

U = 2 * PI * r
→ r = U / (2 * PI)
→ r = 100 cm / (2 * PI)

Der Strip hat 1 Meter = 100 cm. Der Radius des Kreises für den Strip ist dann 15,92 cm.

Mit einem Lineal und einem Zirkel kann man nun auf der Rückwand die Position einzeichnen.

Liquid-Clock: Hinweise zu NeoPixel-Strips

3. Vorbereitung der NeoPixel-Strips

3.1 Hinweise zu NeoPixel-Strips

Laut Adafruits NeoPixel Überguide (den es sich wirklich zu lesen lohnt!) sollte für den korrekten Betrieb von NeoPixel-Strips an jedem Ende ein großer 1000 μF-Elko hängen. Vor DIN (der Einspeisung der Daten) sollte ein 300-500 Ohm-Widerstand sein, die Stromversorgung sollte man aufteilen: an einem Ende +5 Volt, am anderen Ende GND.

Liquid-Clock: Neo-Pixel-Helper
3.2 Neo-Pixel-Helper

Geübte Tüftler/Löter können das natürlich freifliegend aufbauen, für alle anderen gibt es kleine Hilfsplatinen. Diese Platinen können an die NeoPixel-Strips angelötet werden und stellen die Anschlüsse wieder zur Verfügung.

Liquid-Clock: Neo-Pixel-Helper montieren
3.3 Neo-Pixel-Helper montieren

Die Platinen kann man mit abgezwickten Bauteilbeinen oder kurzen Käbelchen anlöten. Hier bieten sich kurze Käbelchen an, damit später, wenn der Kreis geschlossen werden soll, wenig Elektronik im Weg ist.

Liquid-Clock: Vorbereiten des DCF77-Empfänger-Kabels

4. Das DCF77-Empfänger-Kabel

4.1 Vorbereiten des DCF77-Empfänger-Kabels

Typische DCF77-Empfänger haben vier Anschlüsse: Vcc, GND, Data und PON (Empfänger schlafen legen/aufwecken). Um sich keine Störsignale auf den Dateleitung einzufangen, nimmt man für die Verkabelung am besten ein geschirmtes Kabel.

Liquid-Clock: Litzen anlöten
4.2 Litzen anlöten

Dieses Kabel wird abisoliert, und an die Seele bzw. Schirmung je ein kurzes Kabel (für DATA/GND) gelötet.

Liquid-Clock: Lötstellen schrumpfen
4.3 Lötstellen schrumpfen

Dann werden die blanken Teile eingeschrumpft...

(Schrumpfschläuche bei Reichelt)

Liquid-Clock: Lötstellen zusammenfassen
4.4 Lötstellen zusammenfassen

... und mit einem größeren Schrumpschlauch wieder zu einer Einheit eingeschrumpft.

Liquid-Clock: Kabel (Vcc/PON) zugeben
4.5 Kabel (Vcc/PON) zugeben

Dann packt man zwei weitere Kabel (für Vcc/PON) dazu und hat ein schönes DCF77-Verbindungskabel. Bei mir hier mit:
Schwarz → GND
Gelb → Data
Rot → Vcc
Grau → PON

Liquid-Clock: Kabelenden vorbereiten
4.6 Kabelenden vorbereiten

Da ich meine Kabel stecken möchte, kommen jetzt noch Crimp-Stecker auf die Enden.
(Stecker / Zange bei EXP-Tech)

Dazu werden die Kabel kurz abisoliert.
(Abisolierzange bei Reichelt)

Liquid-Clock: Stecker crimpen
4.7 Stecker crimpen

Jetzt werden auf die Enden die Crimp-CV-Stecker gecrimpt.

Liquid-Clock: Stecker einschrumpfen
4.8 Stecker einschrumpfen

Finalemente werden die Stecker eingeschrumpft. Ich habe das lieber als die zugehörigen Gehäuse, weil man so etwas Bauhöhe spart und flexiebler bleibt.

Fertig ist das perfekte DCF77-Kabel!

Liquid-Clock: Restliche Komponenten vorbereiten

5. Restliche Komponenten vorbereiten

An den LDR (lichtabhängigen Widerstand) und die Taster lötet man auch Kabel, verschrumpft sie, und crimpt Stecker an.

Dann kann man einen Probeaufbau machen.

Liquid-Clock: Probeaufbau

6. Probeaufbau

Die Komponenten werden folgendermaßen an die Steuerplatine angeschlossen (siehe auch den Link zum Anschlußplan in der rechten Spalte auf dieser Seite):

Pin Anschluß
D11 Mode-Taster, andere Seite zu GND
D12 H+-Taster, andere Seite zu GND
D13 M+-Taster, andere Seite zu GND
D4 DCF-PON (DCF77-Empfänger Aufwecken/Schlafen legen)
D3 DCF-Signal
D6 Neo-Pixel-Data-Pin (Widerstand nicht vergessen!)
optional (nicht verkabelt, aber in der Software aktiv):
D9 Signal-LED von der Echtzeituhr zur Verfizierung
D10 Signal-LED vom DCF-Empfänger zur Verifizierung
intern auf der Platine verbunden:
D2 Interrupt von der Echtzeituhr (1 Mal/Sekunde = 1 Hz)
A0 Lichtabhängiger Widerstand (hat eigene Pinheader LDR auf der Platine)
A4/A5 I2C-Bus zur Echtzeituhr
Liquid-Clock: Firmware aufspielen

7. Firmware aufspielen

Jetzt kann die Firmware (Link in der rechten Spalte auf dieser Seite) über die Arduino-IDE und einen FTDI-Header aufgespielt werden, und die Liquid-Clock sollte erste Lebenszeichen von sich geben!

Die Firmware benötigt die NeoPixel-Library von Adafruit!

Liquid-Clock: Funktionsweise/Bedienung

8. Funktionsweise/Bedienung

Die Liquid-Clock kennt drei Modi, die man mit dem Modus-Taster durchschalten kann:

Uhrzeit: Hier wird die Uhrzeit gezeigt. Über die beiden Taster M+ und H+ kann die Uhrzeit eingestellt werden.

Colortest: Hier werden alle LEDs farbig angesteuert.

Alle LEDs aus: Hier wird der NeoPixel-Strip ausgeschaltet und der DCF77-Empfänger eingeschaltet, da der NeoPixel-Strip den Empfänger stört. Nachts zwischen 3:00 Uhr und 4:30 Uhr wechselt die Liquid-Clock selbstständig in diesen Modus, um die Uhrzeit zu aktualisieren.

Liquid-Clock: Diffusor

9. Diffusor

Für den finalen Einbau in ein Gehäuse kann man den NeoPixel-Strip in Schaumstoff einlegen. Der Schaumstoff arbeitet dann als Diffusor. Meinen Schaumstoff habe ich aus dem Verpackungsmaterial eines Paketes genommen.

Liquid-Clock: Fertig ist die Liquid-Clock!

10. Fertig ist die Liquid-Clock!

Damit die Liquid-Clock auch wie eine Uhr aussieht, kann man bei PlottFlott Folien für das Zifferblatt und die Maske kaufen.

Die Maße sind auf den Bilderrahmen eines bekannten schwedischen Möbelhauses abgestimmt (50x50 cm).

Wie geht es weiter?

Der Uhr fehlt jetzt nur noch ein schönes Gehäuse und eine ansprechende Frontplatte. Ein Gehäuse kann man sich selbst bauen, oder man läßt sich eines fräsen. Hinweise dazu gibt es im Diskussions-Forum.

zum Diskussionsforum gehen

Als Frontplatte eignet sich z.B. Acryglas (Plexiglas). Die Front (mit Skala und Zier-Elementen) kann man als Folien-Plot entwerfen und bei einem Folien-Plotter herstellen lassen.

Plott-Flott

Einkaufsliste

Name Quelle
Bare-Bones-Real-Time-Clock-Arduino-Ding Elmotex
Netzteil (5 Volt/1.000 mA) Reichelt
NeoPixel-Strip (60 Pixel/Meter; 1 Meter) Exp Tech (4 Meter, alternativ bei eBay/Amazon etc. nach WS2812B Strip suchen)
DCF77-Empfänger Elmotex
NeoPixel-Helper Elmotex
Kleinteile Reichelt