Inspiriert vom sowjetischen Tischrechner "RASA" aus dem Jahre 1968 entstand diese Uhr mit einer Stroboskopanzeige. Für die gesamte numerische Anzeige mit zwei Stellen für die Stunden, den Doppelpunkt und zwei Stellen für Minuten werden nur fünf weiße LEDs benötigt.
Zutaten
- Motor aus einem CD-Laufwerk
- 2 IR-Lichtschranken aus Floppy-Laufwerken
- USB-Kabel für Stromversorgung
- 2 Taster
- 6 Widerstände 100 Ohm
- 5 Widerstände 10 kOhm
- Diode 1N4148
- Transistor BD439
- Elko 1000 µF/6.3 V
- Kondensator 200 nF
- Lochrasterplatine
- IC-Sockel 28-polig
- 5 weisse LEDs 3 mm/15000 mcd
- Mikrocontroller Atmel ATmega328p
- Stiftleiste
- Draht
- Selbst hergestellt: Anzeigescheibe, designed mit Google Sketchup und gedruckt auf meinem 3D-Drucker Makerbot Thing-O-Matik
- Etiketten mit Aufdruck
Beschreibung
Bei der hier vorgestellten Konstruktion handelt es sich um eine Uhr mit elektromechanischer Anzeige, die den Stroboskopeffekt von fünf getrennt angesteuerten LEDs ausnutzt, um Ziffern, Zeichen und Text anzuzeigen. Kernstück der Uhr ist eine von einem Elektromotor angetriebene Scheibe mit Aufdruck der für die Anzeige verwendeten Zeichen. Die Zeichen selbst wurden auf Etiketten invers gedruckt, so dass das Licht der LEDs durch die hellen Stellen durchscheinen kann. Die Scheibe selbst ist aus ABS, wurde mit Google SketchUp konstruiert und anschließend auf einem 3D-Drucker gedruckt. Ursprünglich war für die Konstruktion zuerst eine Protection-CD (oberste oder unterste Schutz-CD in CD-Spindeln) und danach eine LightScribe-CD vorgesehen, jedoch wurde diese Idee aufgrund der aufwändigeren Konstruktion verworfen.
Die Scheibe ist in zwölf offene Segmente aufgeteilt. Für jedes Segment existiert eine Lasche am Rand für die Lichtschranke, um die Position ermitteln zu können. Eine weitere, innen angebrachte Lasche wird für die Erfassung des Startsegments verwendet. Somit wurde die exakte Positionsbestimmung mit zwei Lichtschranken realisiert. Die Scheibe wird direkt vom Motor angetrieben. Dadurch ist die Uhr sehr leise. Wenn das Zeichen mit dem Wert aus dem Bildschirmspeicher an der richtigen Stelle übereinstimmt, wird die entsprechende LED für zirka 52 µS aktiviert. Bei der hohen Drehzahl ergibt sich somit ein ruhiges Bild. Das Hauptprogramm übernimmt die eigentliche Uhrenfunktion und ist sehr simpel. Gesteuert wird das System von einem Atmel ATmega328p, bei dem der interne 8-MHz-RC-Oszillator verwendet wird, um Bauteile zu sparen. Die Stromversorgung kommt aus dem USB-Anschluss eines USB-Hosts.
Der Antriebsmotor wird per PWM gesteuert, damit die Geschwindigkeitkontrolle über Software erfolgen kann. Bei der aktuellen Konfiguration ergibt sich eine Drehzahl von rund 34 Umdrehungen pro Sekunde. Der AVR bekommt somit etwa 408 Segment-Interrupts und 34 Umdrehungs-Interrupts pro Sekunde. Selbst bei "nur" 8 MHz ist der AVR damit nicht richtig ausgelastet. Im Übrigen ist der ATmega328p für dieses Projekt überdimensioniert. Da ich aber einige davon für ein anderes Projekt kaufte (C64-Emulation), bot sich die Verwendung dieses Typs an.
Eingestellt wird die Uhrzeit durch zwei Taster, die mit zwei Eingängen des AVRs verbunden sind. Um auch hier Bauteile zu sparen, wurden die AVR-internen Pull-up-Widerstände verwendet. Zum Programmieren des Atmels habe ich der Uhr einen zum ISP6PIN-Anschluss des STK500-Programmer-Kits kompatiblen Anschluss spendiert. Die Firmware der Uhr besteht aus nur 333 Zeilen C-Code – Kommentarzeilen inbegriffen.
Inspiration
Die Idee basiert auf eine Technik im sowjetischen Tischrechner "RASA" aus dem Jahre 1968, wurde jedoch von mir modifiziert, um den Aufbau zu vereinfachen.
(cm)
Video
(cm)