Instructions

28
10. Tag
Heute im Adventskalender
•1 GPIO-Verbindungskabel
Mehrstellige Zahlen auf der Sieben-Segment-Anzeige
Das vorige Experiment nutzte alle vier Ziffern der Sieben-Segment-
Anzeige gleichzeitig. Wesentlich interessanter ist es, alle vier Ziffern
eigenständig zu verwenden, um verschiedene Ziffern darzustellen.
Bauteile: 1 Steckbrett SYB-46, 1 Sieben-Segment-Amzeige, 7
220-Ohm-Widerstände (rot-rot-braun), 11 GPIO-Verbindungskabel
Anschlussschema der Sieben-Segment-Anzeige
Die folgende Tabelle zeigt, welche Pins der Sieben-Segment-Anzeige mit
welchen GPIO-Pins verbunden sind. Der grau hinterlegte Pin wird in
diesem Programm nicht verwendet.
Pin Sieben-Segment-Anzeige Steckbrett Segment / Ziffer GPIO-Pin
1 5 F-J E 19
2 6 F-J D 26
3 7 F-J DP 5
4 8 F-J C 11
5 9 F-J G 13
6 10 F-J 4 6
7 10 A-E B 8
8 9 A-E 3 7
9 8 A-E 2 12
10 7 A-E F 20
11 6 A-E A 21
12 5 A-E 1 16
Der Trick mit dem Nachleuchten
Da auf jedem Segment immer für alle Ziffern das gleiche Signal anliegt,
können einzelne Ziffern zwar ein- und ausgeschaltet werden, nicht aber
verschiedene Zahlen anzeigen. Um auf jeder Ziffer der Anzeige trotzdem
eine andere Zahl darzustellen, muss man sich eines Tricks bedienen. Eine
Lichtquelle wird vom menschlichen Auge noch eine kurze Zeit als leuch-
tend wahrgenommen, obwohl sie eigentlich schon ausgeschaltet ist.
Das sogenannte Zeitmultiplexverfahren schaltet ganz schnell von einer zur nächsten Ziffer um und zeigt
gleichzeitig bei jedem Wechsel eine andere Zahl an. Der Trick dabei ist, das richtige Zeitintervall her-
auszufinden. Wechseln die Zahlen zu schnell, scheinen sie für die menschliche Wahrnehmung zu ver-
schwimmen, wechseln sie zu langsam, ist ein deutliches Flackern zu sehen.
Viele derartige Experimente, die man im Internet findet, verwenden zusätzlich einen ATmega-Mikrocon-
troller, wie ihn zum Beispiel auch der Arduino nutzt, oder einen Schieberegisterbaustein für die Ansteu-
erung der Sieben-Segment-Anzeige. Es gibt mittlerweile auch Sieben-Segment-Anzeigen, bei denen eine
solche Elektronik bereits eingebaut ist. Das Programm des 10. Tags zeigt, dass eine Steuerung per Zeit-
multiplex auch ohne zusätzliche Elektronik allein mit dem RaspberryPi möglich ist.
Das Programm
Das Programm 10zahl.py stellt die abgebildete Zahlenfolge 1234 auf der Sieben-Segment-Anzeige dar.
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
seg={'a':21, 'b':8, 'c':11, 'd':26, 'e':19, 'f':20, 'g':13}
for s in "abcdefg":
GPIO.setup(seg[s], GPIO.OUT, initial=0)
Alle Sieben-Segmente der Sieben-Segment-Anzeige sind angeschlossen..
Die Ziffern sind einzeln mit GPIO-Pins verbunden.
10. Tag