Instructions

37
time.sleep(0.6) Mit einer Verzögerung von 0,6 Sekunden nach dem letzten Schleifendurchlauf wird der
normale Schaltzyklus der Verkehrsampel fortgesetzt, indem die gelbe LED zusätzlich zur bereits leuchtenden
roten eingeschaltet wird. So weit nicht viel Neues. Richtig interessant wird die Fußgängerampel, wenn sie
nicht automatisch läuft, sondern erst durch einen Tastendruck gestartet wird, wie dies bei vielen Fußgänger-
ampeln der Fall ist. Im nächsten Experiment wird ein an einem GPIO-Port angeschlossener Taster den
Druckknopf an einer echten Fußgängerampel simulieren.
4.2 Taster am GPIO-Anschluss
GPIO-Ports können nicht nur Daten ausgeben, zum Beispiel über LEDs, sondern auch zur Dateneingabe ver-
wendet 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 Anschluss-
pins, 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-Port ein +3,3-V-Signal an, wird dieses als logisch
True bzw. 1 ausgewertet. Theoretisch
könnten Sie also über einen Taster den jeweiligen GPIO-Port mit dem +3,3-V-Anschluss des Raspberry Pi ver-
binden, was Sie aber auf keinen Fall tun dürfen! Der GPIO-Port wird dadurch überlastet. Schließen Sie
immer einen 1-kOhm-Schutzwiderstand zwischen einem GPIO-Eingang und dem +3,3-V-Anschluss an, um zu
verhindern, dass zu viel Strom auf den GPIO-Port und damit auf den Prozessor fließt.
Abb. 4.3: Taster mit Schutzwiderstand an einem GPIO-Eingang.
In den meisten Fällen funktioniert diese simple Schaltung bereits, allerdings hätte der GPIO-Port bei offenem
Taster keinen eindeutig definierten Zustand. Wenn ein Programm diesen Port abfragt, kann es zu zufälligen
Ergebnissen kommen. Um das zu verhindern, schließt man einen vergleichsweise sehr hohen Widerstand –
üblicherweise 10 kOhm – gegen Masse. Dieser sogenannte Pull-down-Widerstand zieht den Status des GPIO-
Ports bei geöffnetem Taster wieder nach unten auf 0 V. Da der Widerstand sehr hoch ist, besteht, solange der
Taster gedrückt ist, auch keine Kurzschlussgefahr. Im gedrückten Zustand des Tasters sind +3,3 V und die
Masseleitung direkt über diesen Widerstand verbunden.