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
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 utime 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
Hardware-nahes 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)
Elektronik-Set Pico Edition
Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython
Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.
Elektronik-Set Pico WLAN Edition
Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT
Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.
Elektronik-Set Sensor Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.