Samstag, 11. August 2012

8-Bit-Binärzähler

Hier eine kleine Fingerübung: Ein Mikrocontroller (Attiny85) erhöht bzw. verringert auf Knopfdruck den Wert einer Variablen. Diese Variable wird im Binärsystem ausgegeben. Die Anzahl der frei belegbaren Pins ist auf 5 beschränkt, zwei davon werden als digitale Eingänge zum Inkrementieren und Dekrementieren genutzt. Somit verbleiben 3 Pins als digitale Ausgänge. Das ist gerade zur Minimalbeschaltung eines Schieberegisters ausreichend. In diesem Fall handelt es sich um ein 74HC595, Schieberegister mit seriellem Eingang und parallelen Ausgängen, zur Visualisierung der Zählvariable können nun 8 Stellen dargestellt werden.

8-Bit-Binärzähler

Programmiert wurde in der Arduino-Entwicklungsumgebung. Nativ unterstützt sie die kleinen Attiny noch nicht, durch das Hinzufügen von entsprechenden Core-Dateien können jedoch weitere  Mikroprozessoren eingebunden werden.
Ich habe mich ganz an dieses Tutorial gehalten: http://hlt.media.mit.edu/?p=1695, als Programmer nutze ich derzeit einen USBtinyISP.
Natürlich funktionierte nicht alles auf Anhieb... Mit einem Boarduino war die Ansteuerung des Schieberegisters kein Problem, der Attiny verursachte in der Schaltung jedoch Kopfzerbrechen.
Stunden vergingen, dann war der Fehler gefunden und mit scharfem Seitenschneider gleich eliminiert: Ich hatte den Reset-Widerstand versehentlich an Masse gelegt, nicht an die Versorgungsspannung...

Ohne Bewegtbilder wäre dieser Blogeintrag irgendwie unvollständig. Bevor diese "Auftragsarbeit" als Anschauungsmaterial im Schulunterricht genutzt wird, habe ich noch ein kurzes Video aufgenommen:





1 Kommentar:

  1. Sehr schön! Hatte mal ein ähnliches Projekt gemacht, aber ganz ohne Mikrokontroller. Old scool mit Binärzähler. Schau doch mal auf www.opensketches.org vorbei, vielleicht hast du ja Lust dort was zu veröffentlichen. Gruß komika von arduino.cc

    AntwortenLöschen