Instructions

22
Das Programm
Das Programm 07seg7.py lässt auf allen vier Ziffern ein Lauflicht über die unteren vier Segmente (C, D, E,
G) laufen.
#!/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)
zif=16
GPIO.setup(zif, GPIO.OUT, initial=0)
print("Strg+C beendet das Programm")
try:
while True:
for s in "cdeg":
GPIO.output(seg[s], 1)
time.sleep(0.1)
GPIO.output(seg[s], 0)
except KeyboardInterrupt:
GPIO.cleanup()
So funktioniert es
Das Programm unterscheidet sich vom vorherigen nur in einer einzigen Zeile:
for s in "cdeg":
Diese Zeile gibt an, welche Segmente in der Schleife aufleuchten sollen. Alle Definitionen und die Pro-
grammlogik bleiben gleich. Wegen der Parallelschaltung der Ziffern brauchen keine weiteren GPIO-Pins
initialisiert zu werden.
Für diese spezielle Schaltung kann das allgemein gehaltene Programm noch vereinfacht werden, indem
nicht benötigte Definitionen weggelassen werden, wie das Programm 07seg7_02.py zeigt.
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
seg={'c':11, 'd':26, 'e':19, 'g':13}
for s in "cdeg":
GPIO.setup(seg[s], GPIO.OUT, initial=0)
print("Strg+C beendet das Programm")
try:
while True:
for s in "cdeg":
GPIO.output(seg[s], 1)
time.sleep(0.1)
GPIO.output(seg[s], 0)
except KeyboardInterrupt:
GPIO.cleanup()