In diesem Beitrag möchte ich dir zeigen, wie du eine 4fach Segmentanzeige am Raspberry Pi Pico mit CircuitPython programmierst.
Benötigte Ressourcen für dieses Projekt
Für den Nachbau dieses Projektes benötigst du:
- einen Raspberry Pi Pico*,
- ein Micro USB Kabel*,
- eine 4fach 7 Segmentanzeige* (mit SPI Schnittstelle),
- vier Breadboardkabel*, weiblich-weiblich, 20 cm
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Aufbau der Schaltung
Die verwendete 4fach 7 Segmentanzeige, verfügt über 4 Pins, welche auf der Rückseite mit VCC, GND, CLK und DIO beschriftet sind.
4fach 7 Segmentanzeige | Raspberry Pi Pico |
---|---|
VCC | 5V |
GND | GND |
CLK | GP16 |
DIO | GP17 |

Programmieren der 4fach 7 Segmentanzeige in CircuitPython am Pi Pico
Für die Programmierung der 4fach 7 Segmentanzeige in CircuitPython verwende ich das Modul „TM1637“ welches du vom GitHub Repository bablokb / circuitpython-tm1637 herunterladen kannst.
import time import TM1637 import board CLK = board.GP16 DIO = board.GP17 display = TM1637.TM1637(CLK, DIO) time.sleep(5) for i in range(9999): display.number(i) time.sleep(0.35)
Hier nun das passende Video zum oben gezeigten Quellcode:
Anzeige von Zahlen und Buchstaben auf der Segmentanzeige
Durch die verfügbaren 7 LED-Segmente kann man nur bedingt Buchstaben anzeigen lassen. Einige Buchstaben können durch die Kleinschreibung angezeigt werden, jedoch bei anderen wiederum ist dieses nicht möglich, zbsp. „X“. Auch Sonderzeichen sind nicht wirklich möglich.
Text automatisch scrollen lassen
Da wir nur Platz für 4 Zeichen auf dem Display haben, müssen wir uns also „etwas einfallen lassen“, wenn der Text etwas länger ist. Eine Lösung dazu wäre diesen Text von rechts nach links durchlaufen zu lassen.
Im nachfolgenden Beispiel möchte ich den Text „Hallo Test 123“ anzeigen.
import time import TM1637 import board CLK = board.GP16 DIO = board.GP17 display = TM1637.TM1637(CLK, DIO) text = "Hallo Test 123" while True: for i in range(len(text)): display.show(text[i:i+4]) time.sleep(0.50) if i+4 >= len(text): break display.show(" ")
Im Video erkennt man recht gut, dass der Text von rechts nach links durchläuft, die Geschwindigkeit lässt sich recht einfach mit verkleinern oder vergrößern der Pause anpassen.