Instructions
54
20. Tag
Heute im Adventskalender
•1 Widerstand 20MOhm (rot-schwarz-blau)
Das Anschlussschema der Sieben-Segment-Anzeige ist das gleiche wie an den vorherigen Tagen.
Zähler mit Sensorkontakten
Das Experiment des 20. Tags ist ein einfacher Zähler auf der Sieben-
Segment-Anzeige, der mit zwei Sensorkontakten gesteuert wird. Der
eine Sensorkontakt zählt den Zähler hoch, der andere herunter. Die
Sensorkontakte sind an den GPIO-Pins 17 und 4 angeschlossen.
Bauteile: 1 Steckbrett SYB-46, 1 Sieben-Segment-Amzeige, 8
220-Ohm-Widerstände (rot-rot-braun), 2 20-MOhm-Widerstände
(rot-schwarz-blau), 3 Knetekontakte, 16 GPIO-Verbindungskabel
Das Programm
Das Programm 20zaehler.py zählt auf der Sieben-Segment-Anzeige
von 0 aufwärts bis maximal 9999 oder wieder abwärts bis 0. Diesmal
wird nicht gewartet, bis der Benutzer den Sensorkontakt wieder los-
lässt. Durch längere Berührung soll automatisch weiter gezählt werden.
#!/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, 12, 7, 6]
for z in zif:
GPIO.setup(z, GPIO.OUT, initial=1)
dp=5
GPIO.setup(dp, GPIO.OUT, initial=0)
k1=17
k2=4
GPIO.setup(k1, GPIO.IN)
GPIO.setup(k2, GPIO.IN)
zahl=[
"abcdef", #0
"bc", #1
"abdeg", #2
"abcdg", #3
"bcfg", #4
"acdfg", #5
"acdefg", #6
"abc", #7
"abcdefg", #8
"abcdfg", #9
]
z=[0,0,0,0]
x=0
print("Sensorkontakt 1 erhöht die Zahl")
print("Sensorkontakt 2 verringert die Zahl")
print("Strg+C beendet das Programm")
Sieben-Segment-Anzeige und Sensorkontakte.
20. Tag










