Countdown Timer
Nach langer Pause endlich mal wieder ein Eintrag. Hurra, mein erstes Microcontroller Projekt ist fertig. Es handelt sich um einen Countdownzähler, der von einer einstellbaren Zeit im Sekundentakt auf Null zurück zählt und mit einem kleinen Piepser ein Signal ausgibt.
Das Bild oben zeigt noch 2 Minuten und 30 Sekunden bis zum Alarm: Bedient wird der Zähler mit zwei Tasten: Tast1 und Tast2. Mit Tast1 wird eingeschaltet. Tast2 lang gedrückt schaltet aus. Nach dem Einschalten startet Tast1 den Zähler mit dem letzten eingestellten Wert. Mit Tast2 kann man zwischen 10 eingestellten Zeitwerten wählen. In den Einstellmodus für Sekunden gelangt man durch gleichzeitige Betätigung von Tast1 und Tast2. Hier verringert Tast1 den Wert und Tast2 erhöht ihn. Lange Betätigung erniedrigt/erhöht jeweils um 10. Durch nochmaliges gleichzeitiges Drücken der beiden Taster, werden die Minuten entsprechend eingestellt, dann die Stunden. Schließlich wird der eingestellte Wert durch gleichzeitige Betätigung gespeichert. Das Einstellen der Zeit ist etwas aufwendig, wird aber nicht oft gebraucht. Ich hab mir auf den 10 Speicherplätzen folgende Werte eingestellt: 30s, 1m, 5m, 10m, 15m, 20m, 40m, 1h, 1.5h und 2h. Mit etwas Übung lässt sich die Zeit von dem 5x7 Dot Matrix Display ablesen. Die ersten drei Zeilen geben die Sekunden an 1-9 und 10,20,30,40,50. Die nächsten drei Zeilen liefern die Minuten. Die letzte Zeile die Stunden 1-5. Somit ist der höchste einstellbare Wert 5:59:59. Stückliste:
- ATtiny2313/V, die V Version ist für Batteriebetrieb besser geeignet, wegen Spannungsbereich von 1.8 -5V. Ist schwieriger zu beschaffen; hatte bei EBay Glück.
- TA 12-11 RT :: Dot-Matrix-Display, 5x7 Pkt., 8,0mm, rot, Anode. Gefunden bei Reichel.
- SUMMER EPM 121 Piezo-Schallwandler. Ebenso bei Reichelt.
- 10 Poligen Wannenstecker (ISP)
- 2 Taster
- 100nF Kondesator
- Trimpoti 10k Ohm (75H 10K Reichelt)
- 5 Widerstände 100 Ohm
- 2 Widerstände 10k Ohm
- Gehäuse: Hülle eines Dat-Bandes
Stromverbrauch:
- Max 4 mA
- Im Standby ~300nA
Verbesserungsmöglichkeiten:
- Quarz für höhere Ganggenauigkeit. Der interne Oszillator ist ziemlich abhängig von der Versorgungsspannung.
- Anzeige nur für Geeks geeignet.
- Zeiteinstellung wäre besser mit einem Drehgeber machbar.
Die Elektronik konnte sehr einfach gehalten werden, da die Software niemals mehr als eine LED gleichzeitig zum leuchten bringt. Deshalb reicht auch die Belastbarkeit der Conroler Ausgänge vollkommen aus. Die Ganggenauigkeit kann durch Anpassen von F_CPU im Makefile eingestellt werden. Größere Werte machen Zähler langsamer.
Das komplette Projekt mit den avr-gcc Sourcen und den Eagle Files können Sie hier downloaden. Die Platine wurde nach der Anleitung von Thomas Pfeifer hergestellt. Diese Eieruhr war eine große Hilfe bei der Entwicklung.