Bierzähler


Erstellt: 2009-12-20Letzte Änderung: 2009-12-20 [vor 14 Jahren, 11 Monaten, 20 Tagen]

Bierzähler Dieser digitale Bierzähler ist der perfekte Begleigter auf Partys und kann am nächsten Morgen u.A. zur quantitativen Rekonstruktion des Abends dienen. Endlich keine Eddingstrichlisten mehr auf dem Arm. :rolleyes:

Aufbau

Beschreibung

Den Kern des Bierzählers bildet ein AVR ATtiny13, der zwei kaskadierte Schieberegister 74HC595 mit Daten füttert. An diese ist ein 2 1/2-stelliges LED-Display TOT-4301NG-1 (erhältlich bei Pollin) angeschlossen. Der AVR nimmt über einen Taster die Befehle des Benutzers entgegen. Die gesamte Schaltung inklusive Stromversorgung (zwei AAA-Batterien) ist in ein stabiles Metallgehäuse (Verpackung des Produktes Airwaves Mint) eingefasst.

Schaltplan

Schaltplan

Fotos

Die Platinenunterseite muss mit Klebeband (siehe folgendes Foto) isoliert werden, ansonsten gibt es bei Berührung mit der metallenen Gehäuseinnenseite Kurzschlüsse.

Der Boden des Gehäuses kann einfach mit einem Schraubenzieher herausgestoßen werden.
Danach können Taster und Display mit Heißkleber fixiert und die Platine samt Batteriehalter eingesetzt werden. Alle Kabel müssen ausreichend lang sein, um beim Einbau genug Spielraum zu haben.
Der fertige Bierzähler! :-)

Nach oben

Funktionsweise

Da der verwendete AVR für die direkte Ansteuerung des LED-Displays zu wenig Pins hat, kommen zwei Schieberegister als Porterweiterung zum Einsatz. An diese sind die beiden Kathoden und die neun Anoden des Displays angeschlossen. Der AVR lädt nun nacheinander in einer Endlosschleife die Schieberegister so, dass die gewünschten Segmente aufleuchten. Die Segmente des Displays werden dabei zwecks Reduzierung des Stromverbrauches per Multiplexing angesteuert, es leuchtet zu jedem Zeitpunkt also immer nur ein einziges Segment.

Information Die LEDs besitzen keine Vorwiderstände; den Lötaufwand wollte ich mir wirklich nicht antun. In Verbindung mit dem Multiplexing kann man das ganze in Software mit einer Prise PWM so hinbiegen, dass die LEDs nicht durchbrennen und mit der gewünschten Leuchtstärke strahlen. Ob das die tollste Praxis ist, wage ich zu bezweifeln. Es funktioniert jedoch und der Lötaufwand verringert sich erheblich.

Im ausgeschalteten Zustand zieht die Schaltung dank der verwendeten CMOS-Bauteile quasi keinen Strom (daher sollten keine TTL-Schieberegister verwendet werden); mein Multimeter zeigt tatsächlich 0,000 mA an. Die Batterien sollten also ewig halten.

In einer Interrupt-Routine befinden sich ein Tasten- und Zeitzähler, die sich um das Entprellen des Tasters, die Erfassung der Haltezeit des Tasters und der Zeitmessung zwecks Auto-Off kümmern.

Einzelheiten sind bitte dem meiner Meinung nach sehr gut kommentierten Sourcecode zu entnehmen.

Nach oben

Bedienung

Die Bedienung ist trivial (sprich: Promillesicher) und geschieht über nur einen einzigen Taster.

Einschalten

Ein Druck auf den Taster schaltet den Bierzähler ein.

Inkrementieren

Jeder weitere, kurze Druck auf den Taster inkrementiert (erhöht) den Zählerstand um eins. Aufgrund des verwendeten LED-Displays mit 2 1/2 Stellen kann der Zählerstand maximal den Wert 199 annehmen. Wird er über diesen Wert hinaus inkrementiert, beginnt der Zähler wieder bei 0.

Abschalten

Ein langer Druck von zwei Sekunden Dauer auf den Taster schaltet den Bierzähler wieder ab. Dabei wird direkt nach dem Tasterdruck der Zählerstand zwar inkrementiert, nach einer Sekunde aber wieder dekrementiert (um eins erniedrigt) und nach zwei Sekunden ist der Bierzähler abgeschaltet.

Auto-Off

Der Bierzähler darf auch problemlos im eingeschalteten Zustand auf dem Tisch vergessen werden; nach ca. 90 Sekunden schaltet er sich automatisch ab.

Reset

Damit der Zählerstand nicht versehentlich zurückgesetzt wird, befindet sich der Taster dafür im Gehäuseinnern. Mit einem Druck auf selbigen wird der Bierzähler wieder auf Null gesetzt. Auf diesen Taster kann auch verzichtet werden; der Reset geschieht dann durch eine kurze Unterbrechung der Stromversorgung respektive Herausnehmen und Wiedereinsetzen einer der beiden Batterien. (Eine weitere, allerdings unschöne Methode ist es, die Batterien für einen kurzen Moment kurzzuschließen.)

Ein kleines Video zur Bedienung des Bierzählers:



Nach oben

Download

Den Assembler-Sourcecode, mein Linux-Makefile und die brennfertige hex-Datei gibt es hier zum Download.

Download: bierzaehler-1.0.zip [10.09 kiB]
[2245 Downloads]

Nach oben