Instructions
56
try:
while True:
za(x)
Die Hauptschleife des Programms zeigt in jedem Durchlauf über die Funktion za(x) den aktuellen Wert
des Zählers x auf der Sieben-Segment-Anzeige an.
if GPIO.input(k1)==0 and x>0:
x-=1
Wird der Sensorkontakt k1 berührt und ist der Zähler noch größer als 0, wird er um 1 verringert. Auf
diese Weise wird sichergestellt, dass der Zähler keine negativen Werte erreicht.
if GPIO.input(k2)==0 and x<9999:
x+=1
Wird der Sensorkontakt k2 berührt und ist der Zähler noch kleiner als 9999, wird er um 1 erhöht. Auf
diese Weise wird sichergestellt, dass der Zähler keine fünfstelligen Werte erreicht, die nicht mehr darge-
stellt werden könnten.
Danach startet die Hauptschleife neu und zeigt wieder den aktuellen Wert des Zählers an.
Der Zähler zählt zu schnell
Wenn Sie das Programm ausprobieren, werden Sie feststellen, dass der Zähler bereits auf kürzeste
Berührungen reagiert und es kaum möglich ist, einzelne Schritte zu zählen.
Natürlich könnte man, wie im letzten Programm, jedes Mal warten, dass der Benutzer den Sensorkontakt
wieder loslässt. Dann wäre es aber nicht möglich, durch längeres Berühren schnell weit zu zählen.
Das Programm 20zaehler02.py enthält nach jeder Veränderung des Zählers eine kurze Wartezeit, um bei
kurzer Berührung auch einzelne Schritte zählen zu können.
try:
while True:
za(x)
if GPIO.input(k1)==0 and x>0:
x-=1
time.sleep(0.04)
if GPIO.input(k2)==0 and x<9999:
x+=1
time.sleep(0.04)
Verändern Sie je nach Bedarf diese Wartezeiten, um komfortabel zählen zu können.










