COSIN07 - 1.3
Chaos Singularity 2007
Referenten | |
---|---|
Andreas | |
Adi |
Programm | |
---|---|
Tag | Tag 2 (2007-07-07) |
Raum | Konzertkeller |
Beginn | 12:00 |
Dauer | 04:00 |
Info | |
ID | 2009 |
Veranstaltungstyp | workshop |
Track | Workshops |
Sprache der Veranstaltung | de |
Geekclock Workshop Teil 1
Do-It-Yourself Binary LED Geekclock
Wir bauen uns eine Geekclock - eine Uhr, die die Zeit binär mit LEDs anzeigt. Dazu muss vor allem viel gelötet werden. Das Herzstück der Uhr ist ein ATMega8 Mikrocontroller, der in C programmiert werden kann (aber nicht muss; es gibt auch fertigen GPL Code).
Dieser Workshop wird von einem [[event:2022 Talk]] begleitet.
=== Das Wichtigste in Kürze ===
- Aufbauzeit: Für Anfänger etwa 5 Stunden (v.a. zum Löten); für Fortgeschrittene 1-2 Stunden.
- Zeitpunkt: Samstag- und Sonntagmittag; es kann aber jederzeit unabhängig gelötet werden
- Kosten: 15 CHF (rot/grün/gelb); 20 CHF (blau) (ohne 4.5V Flachbatterie - Batterie bitte selbst mitbringen)
- Anmeldung: Da noch Material vorrätig ist, ist Anmeldung weiterhin möglich, solange Vorrat. Ameldung erfolgt per eMail an andrmuel@ee.ethz.ch.
- Dokumentation, SourceCode, Photos, mehr Infos: siehe Links (unten)
- Nötige Vorkenntnisse: Keine Vorkenntnisse nötig. Erfahrung mit C von Vorteil.
- Programmierkabel: Steht am Cosin zur Verfügung; wer die Uhr zuhause erweitern möchte, sollte ein altes Druckerkabel (Parallelport) mitbringen, um daraus ein eigenes Programmierkabel zu basteln.
=== Ausführlichere Informationen ===
Am Geekclock Workshop kann von jedem Teilnehmer eine LED Binary Clock selbst zusammengelötet werden. Die Geekclock ist eine kleine Uhr, die die Zeit binär mit 6 LEDs anzeigt. Sie basiert auf dem ATMega8, einem 8-Bit RISC Microkontroller, der sich mit bis zu 16MHz takten lässt. Für die Geekclock wird aber stattdessen ein 32kHz Uhrenquarz als Taktgeber verwendet. Dies bringt den Vorteil, dass die Uhr sehr wenig Strom verbraucht. Ausserdem ist das Projekt damit eine hervorragende Gelegenheit, zu lernen, wie man effizient C programmiert. Die geringe Taktrate sollte aber nicht abschrecken; es lässt sich damit immer noch sehr viel anstellen.
==== Simplified Geekclock ====
Ein Geekclock-Workshop wurde am Chaosdock 2006 ersmals durchgeführt. Da der Aufbau aber deutlich zuviel Zeit verbrauchte, wurde die Geekclock nun stark vereinfacht. Die neue Version ist Batteriebetrieben und verwendet nur noch sechs LEDs. Der ATMega8 ist auf 32kHz untertaktet, um den Stromverbrauch zu minimieren und die LEDs zeigen die Zeit nur auf Knopfdruck an (wegen Stromverbrauch). Dank dem niederigen Stromverbrauch (<30uA) hält die Batterie mehrere Jahre lang. Simplified bezieht sich übrigens nur auf die Hardware - der SourceCode ist von ca 100 auf über 400 Zeilen gestiegen und die Funkitonalität ist gegenüber der letztjährigen Geekclock erweitert worden.
==== Features ====
Die Uhr hat trotz des geringen Preises und des einfachen Aufbaus diverse interessente Features. So ist z.B. automatische Sommer-/Winterzeit-Umstellung möglich. Um eine hohe Präzision zu erreichen, lässt sich die Uhr in der Software kalibrieren. Damit wird locker ein Drift von weniger als einer Sekunde pro Tag erreicht. Um die Zeit auf den sechs LEDs anzuzeigen wird zufällig einer von vier LED-Effekten ausgewählt (und weitere lassen sich jederzeit selbst programmieren). Bei der neusten Version ist nun auch eine Zeiteinstellung ohne Neuprogrammierung möglich (mit OneButtonInterface).
==== Quellcode und Schaltpläne ====
Unverändert gegenüber der original Geekclock ist, dass sie mit der Absicht gebaut wurde, möglichst leicht erweiter- und veränderbar zu sein. Der Quellcode (C und Assembler) ist komplett OpenSource und die Programmierung ist unter Linux oder *BSD mit ausschliesslich freier Software möglich. Die Schaltpläne sind ebenfalls frei verfügbar und werden in einem [[event:2022 begleitenden Talk]] erklärt. Damit wird es möglich, die Geekclock nach Lust und Laune zu hacken und zu erweitern (mit etwas Elektronik- und C-Kentnissen z.B. zu einem Wecker).