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 |
Im folgenden Aufbau wird der Mikrocontroller Raspberry Pi Pico verwendet. Zum Einstieg und erste Versuche empfehlen sich Erste Schritte mit dem Raspberry Pi Pico und Programmieren mit MicroPython.
Aufbau und Bauteile
- 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
- Raspberry Pi Pico: Onboard-LED einschalten und ausschalten
- Raspberry Pi Pico: Taster-Zustand auswerten und mit einer LED anzeigen
- Raspberry Pi Pico: Elektronischer Würfel
- Raspberry Pi Pico: Temperatur-Messung und Temperatur anzeigen
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:
- Raspberry Pi Pico
- Raspberry Pi Pico: GPIO-Grundlagen
- Raspberry Pi Pico: GPIO-Eingang beschalten
- Raspberry Pi Pico: GPIO-Ausgang beschalten
- Elektronik mit dem Raspberry Pi Pico
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)