In letzter Zeit spiele ich ein wenig mit RGB LEDs mit integrierten Steuerungschips (WS2812) herum (z.B. ein Ambilight für XBMC) und bin dabei auf RGB LED Stripes gestossen. Das sind quasi LEDs vom laufenden Meter und genauso werden diese in der Regel auch verkauft (man kann ja mehrere hintereinanderschalten, wenn es länger werden soll). Als ich dann 60 Stück LEDs per Meter gesehen habe dachte ich mir, baust Du mal eine schicke Uhr daraus. Und so wurde mein Arduino RGB LED Uhr Projekt geboren.
Funktionsübersicht
- Zeitanzeige: Stunden (rot), Minuten (grün), Sekunden laufen durch (blau). Kommt die Sekunde auf die Minuten oder Stunden, mischen sich die jeweiligen Farben.
- Echtzeituhr, realisiert mit DS1307 und Hardware-Interrupt zur Steuerung der LEDs
- Temperatursensor DS18B20
- RGB LED in der Mitte des Ziffernblatts als Statusanzeige. Entweder Tag-/ Nachtanzeige oder Temparaturindikator (realisiert mit Temperatursensor DS18B20).
- Taster 1: Modus, z.B. Uhr stellen
- Taster 2: Stunden einstellen
- Taster 3: Minuten einstellen
- Taster 4: Displaymodus einstellen
Bauteileliste
- RGB LED Stripe, 60 Stück
- Analog Wanduhr (BONDIS, IKEA)
- DS1307 RTC
- Knopfzelle + Batteriehalter
- DS18B20
- 4 x Taster
- Widerstände, 470Ohm und 10KOhm
- 1 x RGB LED
- Arduino Nano (kann man sicher auch etwas anderes nehmen, hatte nur gerade noch welche rumliegen)
- 5V Netzteil
Hinweis zur Wanduhr: Da die LED Stripes „starr“ sind, ergibt sich ein fester Durchmesser. Bei einem Umfang (Länge des Stripes) von 100cm ergeben diese, als Kreis zusammengelegt, einen Durchmesser von ca. 32 cm (31.831). Die o.g. Uhr passt dazu perfekt.
Vorbereitung des Uhrengehäuses
Die Uhr wird komplett auseinandergenommen, die Zeiger und das Uhrwerk entfernt (das Ziffernblatt wird noch nicht abgenommen). Anschließend werden 60 Löcher, passend in die Minutenmarkierungen gebohrt. Anschließend wird das Ziffernblatt abgenommen (lässt sich leicht lösen und ist aus stabiler Plastikfolie).
Anbringen der LEDs
Wie gesagt, die Größe der Uhr spielt eine entscheidende Rolle bei der Verwendung von LED Stripes. Mann muss sehr ganu dabei arbeiten, lieber erstmal in Ruhe testen, wie die LEDs passgenau angebracht werden müssen. Es wäre schade, wenn die letzten LEDs zum Beispiel nicht sitzen oder sichtbar sind 😉
Nachdem alles ausgemessen wurde, habe ich die LEDs einfach senkrecht mit einer Heissklebepistole (alle 2 LEDs ein Klebepunkt) fixiert.

An den Anfang des Stripes (da sind Pfeile aufgedruckt) noch drei Kabel angelötet (5V, Data, GND) und die Enden eine 3-er Steckleiste, die dann später auf die Platine gesteckt wird (so ist man schön modular und kann weiterhin alles auseinandernehmen.)

Aufbau der Schaltung
Die Schaltung ist an sich nicht magic. Sie besteht eigentlich nur aus den Bestandteilen:
- RTC Uhr
- Temperatursensor und
- Tastern
Ich bin immer noch kein richtiger Freund von EAGLE & Co., aber hier ein Versuch des Schaltplans:

Und so sieht das in der Praxis auf einer Lochrasterplatine aus.

Und die Rückseite. Da die Zeiger entfernt wurden, befindet sich in der Mitte des Ziffernblatts ein Loch. Hier habe ich auf der Rückseite der Platine eine einzelne RGB LED platziert, die später dieses Loch genau ausfüllt. Die LED kann zur Status (Tag / Nacht) oder als Temperaturanzeige dienen.

Hier eingebaut, mit der LED in Richtung Ziffernblatt.

Und so sieht das dann mit Ziffernblatt aus.

Wichtig ist, dass man die Schaltung so auf der Lochrasterplatine aufbaut, dass diese dort Platz findet, wo vorher das Uhrwerk platziert wurde. Dazu habe ich an den Seiten des „Kästchens“ die Wände herausgefräst und meine Platine so genau einpassen können.

Auch bzgl. der Höhe der Platine muss man aufpassen, da das umliegende Plastik später die Rückwand ist. Ich habe daher die ICSP Headerpins des Arduino Nano abgeschnitten, da diese hervorstanden (braucht man aber auch nicht mehr).
Anschluss der Platine
Die Uhr, also der Arduino Nano, wird über den Micro USB-Anschluss mit Strom versorgt. Das hat zwei Vorteile:
- Handelsübliche 5V Netzteile können zur Stromversorgung verwendet werden.
- Zum Programmieren des Arduino Nano wird die Uhr ganz einfach mit einem USB-Kabel an den Computer angeschlossen.
Es muss nur noch ein passender Kanal in die Rückseite gefräst werden, um Platz für den USB-Anschluss zu schaffen.

Das war die Hardwarseite der RGB LED Uhr, im nächsten Beitrag geht es um die Software dazu.