Die Idee ist schon alt, und es gibt gewiss auch schon genug Lösungen. Man kann halt jede Zahl binär darstellen, warum nicht auch die Uhrzeit?
Zur Theorie:
Meine Uhr soll Stunden, Minuten und Sekunden anzeigen können. Da aber eine komplette binäre Darstellung z.B. der Stunden sehr müseelig ist, habe ich mich etschieden jede Ziffer der Uhrzeit einzehln binär darzustellen. Macht also an erster Stelle für die 24 Stunden maximal eine "2". Die zweite Ziffer der stunden muß aber schon maximal eine "9" anzeigen können, denn es kann ja auch mal 9 Uhr sein ;-)
Minuten und Sekunden sind da wieder einfacher, da sie nur maximal "59" also eine "5" und eine "9" anzeigen können. Das macht also für meine Uhr 2+4+3+4+3+4 = 20 LEDs.
Da, wie sollte es auch anders sein, noch ein AtMega32 griffbereit lag, sollte der das "hirn" der Uhr werden :-)
Genügend I/O Pins hat er ja, also kann ich mir das Multiplexen schenken, machts auch noch einfacher ;-) Ausserdem hat er einen internen Oszillator und kann extern mit einem Uhrenquarz als Timer laufen. Für die paar rechnungen jede Sekunde sollten die 1MHz intern die er minimal kann völlig genügen. Der Uhrenquarz macht dann die Genauigkeit :-)
Bleibt nur ein Problem, der AtMega32 kann maximal 200mA als DIL-Version treiben. Bei 20 LEDs kann ich also nicht jeder ihre 20mA geben, sondern muß den Strom bei max. 10mA pro LED halten. Den Helligkeitsunterschied wird aber wahrscheinlich eh niemand sehen ;-)
Also mal flux die LEDs auf einer Lochrasterplatine verteilt, Vorwiderstände, µC mit Uhrenquarz und einen Spannungsregler dazu:
Verdrahtet natürlich wieder freifliegend *sfg*
Hier kann man übrigens schon die drei Taster sehen, die ich zum Stellen der Uhr vorgesehen habe (dazu nachher aber nochmal mehr).
Die Software habe ich in Bascom auf meinem AtMega32-Board mit drei LED-Erweiterungen programmiert. Nix wildes, der 16-bit Timer erzeugt den Sekundentakt. In reder Timer IRQ Routine wird auf die Sekunden eine 1 addiert. Den Übertrag auf die weiteren Stellen erledigen dann ein paar IF/THEN Verzweigungen. Anfangs wollte ich zum Stellen der Uhr einen Drehencoder verwenden. Aber die Bascom-Routine "ENCODER" unterstützt nur Encoder die pro Rasten eine Stelle im Gray-Code weitergehen. Den Encoder den ich erwischt habe geht aber den 2-bit Code pro Rastung einmal komplett durch. Ohne grossen Spagat hab ich den jedenfalls nicht zum Laufen bekommen :-(
Aber egal, der hätte sowieso nicht wirklich zum geplanten Gehäse gepasst. Daher die drei Taster in der Endversion. Ein Taster wechselt die Stellen, und mit den anderen beiden kann man die Stelle hoch und runter zählen. Sind alle Stellen einmal durch fängt die Uhr wieder an zu laufen.
Hier ein Bild vom Probelauf noch mit Encoder:
Also die Funktion "Stellen" noch auf die drei Taster umgefrickelt, und es kann ans Gehäuse gehen :-)
Die Rückseite besteht aus recht weichen Kunstoffplatten. Diese lassen sich mit einem Cuttermesser gut "ritzen" und halten, mit Sekundenkleber verklebt, bombig. Das ganze noch "verschliffen" und die Löcher für die Platine, das zum Aufhängen und die drei für die Taster gebohrt:
Und schon kann die Platine eingebaut werden ;-)
Hier noch ein Detailfoto, wie man an die Taster kommt:
Die Front ist aus Bastlerglas, welches ich zuerst gesägt habe, und danach von der Rückseite feucht angeschliffen habe. Die Löcher für die Befestigung gebohrt, und schon konnte abgeklebt werden.
Die erste Schicht besteht aus silbernem PU-Lack aus der Sprühdose. Nach dem Trocknen kam ein Teil der Abklebung weg, und es wurde mit schwarzen PU-Lack gepinselt. Nach dem Durchtrocknen sah es von hinten zwar nicht sehr schön aus....
Aber von vorne kann sich das Ganze sehen lassen :-)
Also Endmontage :-)
Mich störte nur noch, das man die Lochrasterplatine noch durchschimmern sehen kann....
Also wird die Platine noch Kurzerhand mit blauer Abtönfarbe gearbeitet ;-)
Wieder zusammen sieht das schon viel besser aus *freu*
Naja, was soll ich sagen? Uhr läuft... Aber irgendwie kann noch nicht einmal so eine blöde Uhr glatt laufen *heul*
Nach ein paar Tagen wurde das Silber irgendwie matt... Nach der Demontage konnte ich die komplette Farbe, inklusive Schwarz, in ein paar Stücken abziehen *kotz*
Bastlerglas ist irgendwie ein Teufelszeugs.... Farbe hält trotz anschleifen nicht. Ich werd das dann wohl nochmal mit Kunstoff-Haftvermitler versuchen. Denn eigentlich wollte ich das Gehäuse für die Zahnputzuhr ähnlich aufbauen, aber wenn das hier schon nicht klappt werde ich mir wohl was anderes überlegen müssen :-(