In diesem Beitrag zeige ich dir, wie du eine 4fach 7 Segmentanzeige am Raspberry Pi Zero 2 W anschließt und programmierst.
Wie man eine einfache 7 Segmentanzeige am Pi Zero programmiert habe ich dir bereits im Beitrag Raspberry Pi Zero 2 W – 7 Segmentanzeige ansteuern gezeigt. Hier soll es nun darum gehen, wie es mit einer 4fach Segmentanzeige funktioniert.
Die verwendete 4fach 7 Segmentanzeige habe ich bereits für den Arduino UNO im Beitrag Arduino Lektion 89: 4fach Segmentanzeige TM1636 / TM1637 vorgestellt, jedoch ist die Programmierung am Raspberry Pi Zero etwas anders und daher möchte ich dir dieses hier zeigen.
Benötigte Ressourcen für das Projekt
Für den Nachbau des Projektes benötigst du:
- einen Raspberry Pi Zero 2 W*,
- ein USB Netzteil mit min. 2A*,
- ein Micro USB Kabel*,
- eine 4fach 7 Segmentanzeige*,
- 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!
Anschluss der 4fach 7 Segmentanzeige an den Pi Zero
Für den Aufbau benötigst du lediglich das Display, den Pi Zero sowie vier Breadboardkabel.
Die verwendete Segmentanzeige verfügt über 4 Pins, welche auf der Rückseite
(CLK, DIO, VCC und GND) beschriftet sind.
4fach 7 Segmentanzeige | Raspberry Pi Zero 2 W |
---|---|
CLK | GPIO 1 |
DIO | GPIO 0 |
VCC | 5V |
GND | GND |
Wenn du die farbige 40 Pin Header Leiste für den Raspberry Pi Zero & Zero 2 W verwendest, dann sind die beiden blauen Pins zu verwenden.
Programmieren der 4fach 7 Segmentanzeige auf dem Raspberry Pi Zero 2 W in Python3
Für die Programmierung der 4fach 7 Segmentanzeige mit I2C Schnittstelle verwende ich das Modul TM1637 welches du vom GitHub Repository depklyon / raspberrypi-tm1637 als ZIP-Datei herunterladen.
Auf unserem Raspberry Pi Zero müssen wir zur Verwendung in unserem späteren Code dieses Modul mit dem Paketmanager “pip3” installieren.
$ pip3 install raspberrypi-tm1637
Danach ist die Installation / Einrichtung abgeschlossen und wir können mit dem ersten Programm starten.
Einfaches Beispiel
Hier nun ein einfaches Beispiel wie man die aktuelle Uhrzeit auf der 4fach 7 Segmentanzeige anzeigen lassen kann.
from time import sleep, localtime from tm1637 import TM1637 DIO = 0 CLK = 1 tm = TM1637(CLK, DIO) tm.brightness(1) show_colon = True try: while True: time = localtime() show_colon = not show_colon tm.numbers(time.tm_hour, time.tm_min, show_colon) sleep(1) except KeyboardInterrupt: print("Programm beendet.");
Im nachfolgenden Video wird die aktuelle Uhrzeit auf der 4fach 7 Segmentanzeige angezeigt und der Doppelpunkt als Trenner zwischen Stunde & Minute blinkt dabei im Sekundentakt.
Wenn man das Programm auf der Konsole / im Terminal mit Strg+C abbricht, so wird die Zeichenkette “Programm beendet.” ausgegeben. Wir fangen somit den auftretenden Error ab.
Zahlen & Buchstaben auf dem Display anzeigen
Wir haben auf der Segmentanzeige nur bedingte Möglichkeiten Buchstaben anzeigen zu lassen. Zahlen sind i.O. aber Buchstaben habe so ihre Probleme.
from time import sleep, localtime from tm1637 import TM1637 DIO = 0 CLK = 1 DISPLAY_DIGITS = 4 tm = TM1637(CLK, DIO) tm.brightness(5) msg = "1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ" try: for i in range(len(msg)): display_msg = msg[i:i+4] tm.show(display_msg) sleep(0.5) if i+4 == len(msg): tm.show("END ") break; except KeyboardInterrupt: print("Programm beendet.");
In dem Video erkennt man recht gut, dass die Zahlen sauber angezeigt werden können, aber die Buchstaben entweder in Groß-/Kleinschrift oder gar nicht angezeigt werden können.
Hier gibt es auch ein anderes Segmentdisplay, welches für die Anzeige von Buchstaben besser geeignet ist, es ist die 14 Segmentanzeige (aber dazu in einem separaten Beitrag mehr).
1 thought on “Raspberry Pi Zero 2 W – 4fach 7 Segmentanzeige ansteuern”