🔢

Binary Counter

Projekt A06 - 8-Bit Binärzähler mit LEDs

Advanced
8 LEDs
3 Buttons
Bit-Ops
1

Was du lernst

  • Binärsystem - Zahlen als Bits verstehen
  • Bit-Operationen - Shift und AND verwenden
  • byte Datentyp - 8-Bit Wertebereich (0-255)
  • Überlauf - Was passiert bei 255+1?

Komponenten

Arduino Uno, 8 LEDs (verschiedene Farben), 3 Taster

2

Schaltung

Pin-Belegung

  • D2-D9 - 8 LEDs (Bit 0 bis Bit 7)
  • D10 - Button UP (hochzählen)
  • D11 - Button DOWN (runterzählen)
  • D12 - Button RESET (auf 0 setzen)

Binär visualisiert

LED an = 1, LED aus = 0. Von rechts nach links: 1, 2, 4, 8, 16, 32, 64, 128

Der Code

const int LED[] = {2,3,4,5,6,7,8,9};
byte counter = 0;

void displayValue() {
  for (int i = 0; i < 8; i++) {
    // Bit i extrahieren
    bool bit = (counter >> i) & 1;
    digitalWrite(LED[i], bit);
  }
}

void loop() {
  if (digitalRead(10) == LOW) {
    counter++;  // 255 + 1 = 0 (Überlauf)
    displayValue();
    delay(150);
  }
  if (digitalRead(11) == LOW) {
    counter--;  // 0 - 1 = 255 (Unterlauf)
    displayValue();
    delay(150);
  }
}
3

Bit-Operationen

Shift-Operator (>>)

counter >> i verschiebt alle Bits um i Positionen nach rechts

Beispiel: 42 (00101010) >> 1 = 21 (00010101)

AND-Operator (&)

& 1 extrahiert das niederwertigste Bit

Beispiel: 42 (00101010) & 1 = 0

4

Zahlensysteme

Beispiele

DezimalBinärHex
00000 00000x00
150000 11110x0F
420010 10100x2A
2551111 11110xFF
🔢

Geschafft!

Du verstehst jetzt das Binärsystem!

Nächstes Projekt

A07: Light Theremin

← →
1 / 7