Projekt A06 - 8-Bit Binärzähler mit LEDs
Arduino Uno, 8 LEDs (verschiedene Farben), 3 Taster
LED an = 1, LED aus = 0. Von rechts nach links: 1, 2, 4, 8, 16, 32, 64, 128
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);
}
}counter >> i verschiebt alle Bits um i Positionen nach rechts
Beispiel: 42 (00101010) >> 1 = 21 (00010101)
& 1 extrahiert das niederwertigste Bit
Beispiel: 42 (00101010) & 1 = 0
| Dezimal | Binär | Hex |
|---|---|---|
| 0 | 0000 0000 | 0x00 |
| 15 | 0000 1111 | 0x0F |
| 42 | 0010 1010 | 0x2A |
| 255 | 1111 1111 | 0xFF |
Du verstehst jetzt das Binärsystem!
A07: Light Theremin