Instructions
34
13. Tag
Heute im Adventskalender
•1 Taster
•1 Widerstand 10 kOhm
Das Anschlussschema der Sieben-Segment-Anzeige ist das gleiche wie an den letzten Tagen.
Taster an einem GPIO-Pin anschließen
GPIO-Pins können nicht nur Daten ausgeben, zum Beispiel über LEDs, sondern auch zur Dateneingabe
verwendet werden. Dazu müssen sie im Programm als Eingang definiert werden. Zur Eingabe verwenden
wir im nächsten Projekt einen Taster, der direkt auf die Steckplatine gesteckt wird. Der Taster hat vier
Anschlusspins, wobei je zwei gegenüberliegende (großer Abstand) miteinander verbunden sind. Solange
die Taste gedrückt ist, sind alle vier Anschlüsse miteinander verbunden. Im Gegensatz zu einem Schalter
rastet ein Taster nicht ein. Die Verbindung wird beim Loslassen sofort wieder getrennt.
Liegt auf einem als Eingang definierten GPIO-Pin
ein +3,3-V-Signal an, wird es als logisch True bzw. 1
ausgewertet. So können Sie also über einen Taster
den jeweiligen GPIO-Pin mit dem +3,3-V-Anschluss
des RaspberryPi verbinden, was Sie aber bei älteren
Raspberry-Pi-Modellen auf keinen Fall tun dürfen!
Der GPIO-Pin würde dadurch überlastet. Beim Rasp-
berryPi3 und RaspberryPi3B+ sind Schutzwider-
stände eingebaut und daher keine extern angeschlos-
senen Schutzwiderstände mehr nötig.
In den meisten Fällen funktioniert diese simple
Schaltung bereits, allerdings hätte der GPIO-Pin bei
offenem Taster keinen eindeutig definierten Zustand.
Wenn ein Programm diesen Port abfragt, kann es zu
zufälligen Ergebnissen kommen. Um das zu verhin-
dern, schließt man einen vergleichsweise sehr hohen
Widerstand – üblicherweise 10kOhm – gegen Masse.
Dieser sogenannte Pulldown-Widerstand zieht den
Status des GPIO-Pins bei geöffnetem Taster wieder
nach unten auf 0V. Da der Widerstand sehr hoch ist, besteht, solange der Taster gedrückt ist, keine Kurz-
schlussgefahr. Im gedrückten Zustand des Tasters sind +3,3V und die Masseleitung direkt über diesen
Widerstand verbunden.
Weihnachts-Countdown mit Taster
Das Programm des 13. Tags zeigt, wie viele Tage es noch bis Weihnachten sind. Drückt man auf den Tas-
ter, startet ein Countdown, der bis 0 herunterzählt.
Bauteile: 1 Steckbrett SYB-46, 1 Sieben-Segment-Amzeige, 7 220-Ohm-Widerstände (rot-rot-braun),
110-kOhm-Widerstand (braun-schwarz-orange), 1 Taster, 14 GPIO-Verbindungskabel
Die in der Abbildung linke Kontaktleiste des Tasters ist mit dem GPIO-Pin18 und über einen 10-kOhm-
Pulldown-Widerstand (Braun-Schwarz-Orange) mit der Masseleitung auf der unteren Kontaktschiene des
Steckbretts verbunden. Die in der Abbildung rechte Kontaktleiste des Tasters ist mit der +3,3-V-Leitung
des RaspberryPi verbunden.
Der Schaltungsaufbau für die Sieben-Segment-Anzeige ist der gleiche wie an den letzten Tagen.
Das Programm
Das Programm 13countdown.py zeigt wieder die Anzahl der Tage bis Weihnachten an. Beim Druck auf
den Taster läuft ein Countdown herunter bis zur 0.
#!/usr/bin/python
import RPi.GPIO as GPIO
import time, datetime
GPIO.setmode(GPIO.BCM)
Taster an einem GPIO-Eingang
Taster mit Pulldown-Widerstand an einem GPIO-Eingang
13. Tag










