Raspberry Pi Pico #11: 4fach Segmentanzeige mit CircuitPython

In diesem Beitrag möchte ich dir zeigen, wie du eine 4fach Segmentanzeige am Raspberry Pi Pico mit CircuitPython programmierst.

Raspberry Pi Pico - programmieren einer 4fach 7 Segmentanzeige
YouTube Video – Programmieren der 4fach 7 Segmentanzeige am Raspberry Pi Pico

Benötigte Ressourcen für dieses Projekt

Für den Nachbau dieses Projektes benötigst du:

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 SegmentanzeigeRaspberry Pi Pico
VCC5V
GNDGND
CLKGP16
DIOGP17
Schaltung - Raspberry Pi Pico mit 4fach 7 Segmentanzeige
Schaltung – Raspberry Pi Pico mit 4fach 7 Segmentanzeige

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.

Ein Kommentar

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert