Menü Schließen

Die Binär-Uhr

Die Binär-Uhr* zeigt die Uhrzeit mit Hilfe von leuchtenden Glaskugeln an, die auf der Vorderseite eines etwa 16x16x7 cm großen Gehäuses angebracht sind. Das Gehäuse wurde mit dem 3D-Drucker gedruckt. Die Glaskugeln werden von hinten mit LEDs angeleuchtet.

Im Inneren befindet sich ein Raspberry Pi Pico Microcontroller mit dem Programm zur Ansteuerung der LEDs. Außerdem gibt es auf der Rückseite zwei Taster zum Stellen der Uhrzeit (Stunden und Minuten).

Wie wird die Uhr gelesen?

Die Uhrzeit wird jeweils zweistellig in Stunden und Minuten angezeigt: die beiden linken Spalten sind die Stunden (Zehner und Einer), die beiden rechten Spalten sind die Minuten (Zehner und Einer). In jeder Spalte haben die Kugeln von unten nach oben die Werte 1, 2, 4 und 8. Die Werte der in einer Spalte leuchtenden Kugeln muss man im Kopf addieren und man erhält so den Gesamtwert der jeweiligen Stelle.

Hier zeigt die Uhr die Zeit 12:48 Uhr an.
Hier ist es 17:55 Uhr…
… und hier 21:45 Uhr.

Mit der Zeit gewöhnt man sich daran, die Uhrzeit zu lesen und nicht mehr zu berechnen, da man die „Bilder“ direkt als Zahlenwerte erkennt.

Auf jeden Fall ist die Uhr ein echter Hingucker. Die Herstellung einer Uhr mit anderen Farben für das Gehäuse bzw. die Glaskugeln ist relativ einfach, da für die Beleuchtung Neopixel LED-Streifen des Typs WS2812B verwendet werden, wo die LEDs einzeln per Software angesteuert werden können. Benötigt werden zudem zwei Taster, ein Netzteil sowie ein Raspberry Pi Pico und Litzendraht; es sind manuell etwa 35 Lötverbindungen anzubringen.

Wenn Sie selbst eine solche Uhr bauen oder haben möchten, senden Sie mir für weitere Informationen gerne eine E-Mail.

Mathematischer und programmtechnischer Hintergrund

Wie schon gesagt, liegt der Darstellung der Zeitwerte das binäre Zahlensystem (auch Dual- oder Zweiersystem genannt) zugrunde. Im Binärsystem gibt es nur zwei Ziffern bzw. Werte oder Zustände: null und eins (bzw. an und aus). Jede beliebige Zahl kann in die in ihr enthaltenen Zweierpotenzen (1, 2, 4, 8, 16, 32, 64 usw.) aufgeteilt werden. So ist z. B. 5 die Summe aus 20 + 22 (1+4) oder 10 die Summe aus 21 + 23 (2+8). Im Binärsystem werden nun die Zweierpotenzen von rechts nach links aufsteigend dargestellt (20 ganz rechts, 21 dann links daneben usw.). Die Zahl 42 beispielsweise ist die Summe der Zweierpotenzen 2 + 8 + 32; vollständig ausgedrückt: 0 mal 20, 1 mal 21, 0 mal 22, 1 mal 23, 0 mal 24, 1 mal 25. In binärer Schreibweise wird die Zahl also mit 101010 dargestellt.

Für die Uhr werden maximal nur die Werte 0 bis 9 benötigt (bei den Stunden-Zehnern sogar nur 0 bis 2), so dass für jede Stelle höchstens vier Leuchtkugeln gebraucht werden.

In meinem Programm nutze ich unmittelbar die Binärwerte der einzelnen Ziffern, indem ich den Dezimalwert (beispielsweise die 9 der Minuten-Einer) in ihren Binärwert konvertiere (1001) und dann die vier LEDs der letzten Spalte entsprechend von unten nach oben schalte: ein – aus – aus – ein.

Das gesamte MicroPython-Programm, welches auf dem Microcontroller ausgeführt wird, kann hier angesehen werden.


* Streng genommen handelt es sich nicht um eine reine Binär-Uhr, sondern um eine binär codierte Dezimal-Uhr, denn die Zehner- und Einer-Stellen der Uhrzeit werden einzeln mit Binärwerten dargestellt.