Blue-Pill Board aus China
Startseite

Binäruhr

Nach meinen ersten Experimenten mit STM32 Mikrocontrollern habe ich damit eine schön bunte Uhr gebaut.

Die Uhrzeit wird mit vier Binärzahlen dargstellt, welche den vier Ziffern der normalen Uhrzeit entsprechen:

Stunden Minuten
Zehner Einer Zehner Einer
8 8 8 8
4 4 4 4
2 2 2 2
1 1 1 1

Die gelb leuchtenden Felder bedeuten in diesem Fall 17:49. Man muss einfach nur die vertikal untereinander stehenden Zahlen addieren.

Bedienung

Um die Uhrzeit einzustellen drückt man beide Tasten genau gleichzeitig. Die Anzeige flackert dann, es sei denn es ist gerade zufällig 00:00 Uhr. Anschließend kann man mit der linken Taste die Stunden hoch drücken und mit der rechten Taste mit Minuten hoch drücken. Nach 5 Sekunden beendet die Uhr diesen Setup-Modus automatisch.

Außerhalb des Setup-Modus kann man durch Druck auf die linke oder rechte Taste das Farbmuster wechseln. Folgende Muster sind programmiert:

  1. Jede vertikale Spalte hat eine andere Farbe: gelb, rot, grün und blau.
  2. Alle Felder sind rot.
  3. Alle Felder sind gelb.
  4. Alle Felder sind grün.
  5. Alle Felder sind cyan.
  6. Alle Felder sind blau.
  7. Alle Felder sind magenta.
  8. Die Farben sind zufällig gewürfelt und ändern sich jede Minute.
  9. Die Farben sind zufällig gewürfelt und ändern sich jede Sekunde.

Material

AnzahlBezeichnung
1Steckernetzteil 5V min. 300mA
1STM32F103C8T6 Board (Blue-Pill)
2Mikrotaster
16RGB LED in der Bauform PLCC-6 (ohne WS28xx Chip)
4Transistoren BC337-40
4Widerstände 1k Ohm 1/4 W
12Widerstände für die LEDs, z.B. 100 Ohm 1/4 W (siehe Text)
1Rolle Kupferlackdraht, min. 5 Meter lang mit 0,1 - 0,3mm Durchmesser
(1)Knopfzelle 3V mit Batteriehalter
2Blatt dickes Papier Din-A4 (Herlitz Karteikarten 170g/m²)
1Gehäuse

Zum Aufbau

Die Vorwiderstände für die Leuchtdioden sollen so ausbalanciert werden, dass alle drei Farben gleich hell aussehen. Der Strom darf dabei pro Farbe nicht über 15mA betragen, sonst wird der Mikrocontroller überlastet. Ich bin für meine Leuchtdioden durch Ausprobieren auf folgende Werte gekommen: 4x220 Ohm für grün, 4x100 Ohm für rot, und 4x10 Ohm für blau.

Die Leuchtdioden sind in einer Matrix aus 4x4 Feldern angeordnet. Sie befinden sich in einem Gitterartigen Rahmen, welcher mit einem bedruckten Blatt Transparentpapier als Mattscheibe abgedeckt ist.

Die Transistoren und Widerstände habe ich direkt an das Mikrocontroller Board angelötet. Die Leuchtdioden und Taster werden mit dem Kupferlackdraht verbunden. Dieser lässt sich bei hoher Temperatur (in meinem Fall 380°C) gut löten. Aber schone dabei die empfindlichen Leuchtdioden!

Man kann optional eine 3V Batterie an den Anschluss 3VB (und GND) anlöten, damit die eingestellte Uhrzeit bei Stromausfall nicht verloren geht.

Die Firmware habe ich mit der System Workbench geschrieben. Man kann sie wahlweise mit einem ST-Link Adapter oder mit einem USB-UART Adapter in den Mikrocontroller übertragen (Anleitung). Bei der Inbetriebnahme sind die LEDs zunächst alle dunkel, weil die Anzeige mit 00:00 Uhr beginnt.

Download: Druckvorlage für das Gitter, Firmware, Quelltext der Firmware