Raspberry Pi Pico: Binärer Zähler mit LEDs

Binär bedeutet, dass etwas zwei Zustände annehmen kann. Zwei Zustände lassen sich gut mit Leuchtdioden darstellen. Der eine Zustand ist „leuchtend“, der andere Zustand „nicht leuchtend“. Ein binärer Zähler würde nach dem dualen Zahlensystem zählen und lässt sich deshalb mit einer Reihe von Leuchtdioden sehr leicht realisieren.

Das interessante an einem binären Zähler ist, dass seine Stellenwerte nur 0 oder 1 sein können und sich diese Werte mit Leuchtdioden darstellen lassen. Wenn ein Stellenwert 0 ist, dann leuchtet die Leuchtdiode nicht und wenn ein Stellenwert 1 ist, dann leuchtet die Leuchtdiode.

Wir bauen uns hier einen 3-Bit-Zähler mit drei Leuchtdioden. Die Zählweise und Darstellung der dualen Zahlen sieht wie folgt aus.

Zahl LED1 LED2 LED3
0 AUS AUS AUS
1 AUS AUS EIN
2 AUS EIN AUS
3 AUS EIN EIN
4 EIN AUS AUS
5 EIN AUS EIN
6 EIN EIN AUS
7 EIN EIN EIN

Aufbau und Bauteile

Raspberry Pi Pico: Binärer Zähler mit LEDs

  • R1: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R2: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R3: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • LED1: Leuchtdiode, rot
  • LED2: Leuchtdiode, gelb
  • LED3: Leuchtdiode, grün

Schnell und einfach alle Bauteile zusammen bestellen

Programmcode

Der binäre Zähler beginnt bei 0 und zählt mit 3 Leuchtdioden bis 7. Danach beginnt er wieder von vorne zu zählen.

# Bibliotheken laden
from machine import Pin
from time import sleep

# GPIOs für den Zähler auswählen
GPIO = [13, 14, 15]
leds = len(GPIO)
led = [0] * leds

# Initialisierung der GPIOs als Ausgang
for i in range(leds):
    led[i] = Pin(GPIO[i], Pin.OUT, value=0)

# Zähler-Ausgabe
def output_counter(x):
    global leds
    b = bin(x)
    b = b.replace("0b", "")
    diff = leds - len(b)
    for i in range (0, diff):
        b = "0" + b
    for i in range (0, leds):
        if b[i] == "1":
            led[i].value(1)
        else:
            led[i].value(0)
    return

# Zählen
count = 0
max_count = 2 ** leds
while True:
    output_counter(count)
    sleep(0.75)
    count = count + 1
    if count == max_count:
        count = 0

Experimente

Das besondere an der Ansteuerung der Leuchtdioden ist, dass die 3 Leuchtdioden als Gruppe (Array) behandelt werden. Der Programmcode ist dabei so flexibel, dass sich der Zähler um weitere Stellenwerte erweitern lässt. Dazu muss man die GPIO-Nummern im Array vorne (nicht hinten) erweitern.

  • Zählen von 0 bis 1 (2 Werte) mit 1 Leuchtdiode
  • Zählen von 0 bis 3 (4 Werte) mit 2 Leuchtdioden
  • Zählen von 0 bis 7 (8 Werte) mit 3 Leuchtdioden
  • Zählen von 0 bis 15 (16 Werte) mit 4 Leuchtdioden
  • Zählen von 0 bis 31 (32 Werte) mit 5 Leuchtdioden
  • ...

Darf es ein bisschen mehr sein?

So ein Zähler ist natürlich langweilig. Es passiert immer das selbe. Der Vorgang lässt sich, wie bei einem Lauflicht, vorhersagen. Ein bisschen Zufall gefällig? Da dann los.

Highlights: Elektronik mit dem Raspberry Pi Pico

Elektronik mit dem Raspberry Pi

Die Stärken des Raspberry Pi liegen klar in der Computer-Architektur mit typischen Computer-Schnittstellen und Möglichkeit zum Ausführen von Open-Source-Software für Linux.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren