Für dieses Projekt basiererend auf unserem Arduino Starterkit benötigen wir folgende Komponenten:
- Arduino Uno + USB-Kabel
- Breadboard
- 8 rote 5mm LEDs
- Jumper Kabel
- 8 Widerstände mit 220 Ohm
- 1 Widerstand mit 10k Ohm
Einleitung
In dieser Anleitung bauen wir einen 8-Bit LED-Zähler welcher Dezimalzahlen mit Hilfe von LEDs anzeigt. Jede LED repräsentiert 1 Bit (engl. binary digit). 1 Bit ist die kleinste Menge an Informationen, die im Rechner verarbeitet werden können.
Die Zahl wird also im Dualsystem (Binärsystem) ausgegeben, daher gibt es nur zwei Zahlen: 1 und 0. Eine leuchtende LED bedeutet eine "1".
Die Zahl erhöht sich jedes mal um 1 wenn der Druckknopf betätigt wird. Mit 8 LEDs kann man bis maximal 255 zählen bevor der Zähler sich zurücksetzt.
Zum Lesen der Binärzahlen muss man sich den Stellenwert merken, welcher sich einfach aus der Potenz errechnet. Man schaut sich an welche Stellen eine 1 besitzen (Aufleuchten der LEDs) und zählt diese zusammen. In dieser Grafik ist lautet die Zahl 101 = 4 + 0 + 1 = 5.
Weiteres Beispiel:
Die Binärzahl 101010
0 · 1 = 0
1 · 2 = 2
0 · 4 = 0
1 · 8 = 8
0 · 16 = 0
1 · 32 = 32
—————
42
Eine ausführliche Erklärung zum Umwandeln von Binärzahlen finden Sie hier.
Hinweise zum Breadboard:
Die Kontakt-Terminals des Breadboards sind vertikal miteinander verbunden und werden zum Anschließen von Komponenten verwendet.
Die Verteiler-Terminals ( + / -) sind waagerecht miteinander verbunden und bei den meisten Aufbauten für die Stromversorgung reserviert.
Eine beliebte Fehlerquelle bei Einsteigerprojekten sind Breadboards bei denen der Kontakt des Anschluss-Terminals in der Mitte unterbrochen ist, dieser ist meistens durch eine Lücke gekennzeichnet und sollte für den Anfang immer mit einem Kabel oder Draht überbrückt werden.
Anschließen:
Zuerst stecken wir die LEDs mit einem kleinem Abstand aufs Breadboard und schließen diese mit Jumperkabeln an Pin 5-12. Die LEDs benötigen jeweils einen Vorwiderstand, denn eine Eingangsspannung von 5V ist mehr als eine solche LED vertragen kann. Damit die LEDs keinen Schaden nehmen benutzen wir daher 220 Ohm Widerstände.
Als nächstes werden die kurzen Beinchen (Kathoden) der LEDs jeweils mit einem 220 Ohm Widerstand an der Minus-Reihe des Anschluss-Terminals verbunden. Das Minus-Terminal wird mit einem Jumperkabel an den GND-Pin unseres Arduinos angeschlossen.
Zuletzt stecken wir den Druckschalter (Button) aufs Breadboard und verkabeln diesen. Ein Beinchen schließen wir direkt an einen 5V Pin des Arduinos an. Ein weiterer Pin wird zusammen mit einem Pull-Up-Widerstand (10k Ohm oder vergleichbar) an Pin 2 angeschlossen. Mehr zum Thema Buttons und Pull Up Widerständen gibt es hier.
Klingt alles komplizierter als es ist... deshalb werfen wir einfach einen Blick auf diesen Schaltplan:
Programmierung:
Der Sketch ist einfach gehalten und zum besseren Verständnis mit Kommentaren versehen. Der schwierigste Teil war die Schleife zum Berechnen der Bits. Diese Funktion benutzt den Modulo-Operator % welcher eine Division durchführt und die Restmenge ausgibt.
Divident % Divisor = Rest
Zum Beispiel: 7 % 5 = 2
Der Sketch befindet hier zum Download. Viel Spaß beim Zählen!
Update:
- Das Projekt ist soweit abgeschlossen, es fehlen nur noch Bilder vom Aufbau!
- Download-Link erneuert.
Das geht auch einfacher
/*
4-Bit-LED-Binaerzaehler mit einem Arduino UNO
Aufbau:
LEDs mit 220 Ohm Widerstaenden an Pins D6 bis D9
*/
int z;
void setup()
{
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void loop()
{
for (z=0; z