Instructions
29
Nummerierung der GPIO-Ports
Die Bibliothek RPi.GPIO unterstützt zwei verschiedene Methoden zur Bezeichnung der Ports. Im Modus
BCM werden die bekannten GPIO-Portnummern genutzt, die auch auf Kommandozeilenebene oder in
Shell-Skripten verwendet werden. Im alternativen Modus BOARD entsprechen die Bezeichnungen den Pin-
Nummern von 1 bis 40 auf der Raspberry-Pi-Platine.
GPIO.setup(25, GPIO.OUT) Die Funktion GPIO.setup initialisiert einen GPIO-Port als Ausgang oder als
Eingang. Der erste Parameter bezeichnet den Port je nach vorgegebenem Modus
BCM oder BOARD mit seiner
GPIO-Nummer oder Pin-Nummer. Der zweite Parameter kann entweder
GPIO.OUT für einen Ausgang oder
GPIO.IN für einen Eingang sein.
GPIO.output(25, 1) Auf dem soeben initialisierten Port wird eine 1 ausgegeben. Die dort angeschlossene
LED leuchtet. Statt der
1 können auch die vordefinierten Werte True oder GPIO.HIGH ausgegeben werden.
time.sleep(2) Diese Funktion aus der am Anfang des Programms importierten time-Bibliothek bewirkt
eine Wartezeit von 2 Sekunden, bevor das Programm weiterläuft.
GPIO.output(25, 0) Zum Ausschalten der LED gibt man den Wert 0 bzw. False oder GPIO.LOW auf dem
GPIO-Port aus.
GPIO.cleanup() Am Ende eines Programms müssen alle GPIO-Ports wieder zurückgesetzt werden. Diese
Zeile erledigt das für alle vom Programm initialisierten GPIO-Ports auf einmal. Ports, die von anderen Pro-
grammen initialisiert wurden, bleiben unberührt. So wird der Ablauf dieser anderen, möglicherweise parallel
laufenden Programme nicht gestört.
GPIO-Warnungen abfangen
Soll ein GPIO-Port konfiguriert werden, der nicht sauber zurückgesetzt wurde, sondern möglicherweise
von einem anderen oder einem abgebrochenen Programm noch geöffnet ist, kommt es zu Warnmeldun-
gen, die jedoch den Programmfluss nicht unterbrechen. Während der Programmentwicklung können
diese Warnungen sehr nützlich sein, um Fehler zu entdecken. In einem fertigen Programm können sie
einen unbedarften Anwender aber verwirren. Deshalb bietet die GPIO-Bibliothek mit
GPIO.setwarnings(False) die Möglichkeit, diese Warnungen zu unterdrücken.
3 Verkehrsampel
Eine einzelne LED ein- und wieder auszuschalten, mag im ersten Moment ganz spannend sein, aber dafür
braucht man eigentlich keinen Computer. Eine Verkehrsampel mit ihrem typischen Leuchtzyklus von Grün
über Gelb nach Rot und dann über eine Lichtkombination Rot-Gelb wieder zu Grün ist mit drei LEDs leicht
aufzubauen und zeigt weitere Programmiertechniken in Python.
Bauen Sie die abgebildete Schaltung auf der Steckplatine auf. Zur Ansteuerung der LEDs werden drei GPIO-
Ports und eine gemeinsame Masseleitung verwendet. Die GPIO-Portnummern im BCM-Modus sind auf dem
Raspberry Pi in der Zeichnung abgebildet.