Für alle folgenden Übungen wird vorausgesetzt, dass der Raspberry Pi soweit konfiguriert ist, dass das Betriebssystem und die Internetanbindung sowie das Modul RPi.GPIO installiert sind. Sollte das noch nicht der Fall sein, dann muss es jetzt nachgeholt werden. Hier ist die Anleitung.
In dieser Übung verwenden wir den Raspi ohne gepufferte Éin- und Ausgänge. Das heißt, dass bei falscher Beschaltung und Programmierung der I/O Ports und/oder Dimensionierung der Bauteile der Raspberry Pi abraucht. Deshalb ist doppelte Vorsicht geboten. Für alle Übungen gilt:
Leider ist die Bezeichnung der Anschlusspins des Raspi nicht eindeutig. Das erhöht die Fehleranfälligkeit bei Versuchsaufbauten. Die sogenannten GPIO Pins auf dem Raspi-Board sind durchnummeriert und es wurden ihnen gleichzeitig auch spezielle Namen gegeben (Abb. 1). Um Missverständnisse zu vermeiden, werden wir in allen Übungen die Pinbezeichnung der Steckerleiste verwenden (Abb. 2).
Die maximale Belastung der I/O Ports
Ganz allgemein sollte die Belastung pro Pin bei maximal 15mA liegen. Alle Pin zusammen vertragen nicht mehr als 50mA. Der maximale Spannungswert von 3,3V darf an den I/O Ports des Raspberry Py nicht überschritten werden.
Eine LED blinkt | |
Material |
|
Aufgaben |
|
Schaltskizze und Schaltungsaufbau
Python-Befehle austesten in der Shell
Wenn man mit einem sog. Pi-Cobbler arbeitet, kann man die entsprechenden Anschlussstellen direkt am Hilfsgerät ablesen. Die Gefahr einer Fehlschaltung wird dadurch reduziert.
Über Menu > Entwicklung > Python2 (IDLE) wird die Python-Shell geladen. Über die Shell lassen sich die verschiedenen Befehle, die die LED später in einem Programm ein- und ausschalten sollen, "ausprobieren". Dazu muss vorher ein Modul (eine Bibliotheksdatei RPi.GPIO) geladen werden, die verschiedene Funktionen enthält, mit denen sich die Ansteuerung der Ein- und Ausgänge des Raspi vereinfacht. Der Befehl zur Einbindung lautet
Mit einem zweiten Befehl wird die Art der Nummerierung und Adressierung der einzelnen Ports festgelegt. Es gibt zwei Möglichkeiten: BOARD oder BCM.
Wer mit einem Pi-Cobbler arbeitet und die einzelnen BCM-Pinnamen direkt vom Cobbler ablesen kann, für den ist die Einstellung BCM günstig; wer darauf verzichtet, muss die Pins abzählen und sollte BOARD wählen. Diese Einstellung wird auch in den Beispielen vorgenommen.
Erst nachdem diese Festlegungen getroffen worden sind, werden die Ein- und Ausgänge definiert.
Das Ein- und Ausschalten der LED übernimmt der Befehl
Über die Python Shell kann auf diese Weise ausprobiert werden, wie ein Befehl aufzurufen ist, ohne dass man jedesmal ein Programm starten muss. In Abb. 5 kann man sehen, dass einmal im Modus BCM gearbeitet und der Port 4 (GPIO4) angesprochen wurde. Der gleiche Port taucht im Modus BOARD als Port 7 auf. Die an GPIO4 angeschlossene LED leuchtet auf, wenn Pin7 True oder 1 ist und erlischt bei False oder 0.
Das Programm
Wie arbeitet das Programm pc_led1.py?
Kommentarzeile
Eine einfache Kommentarzeile wird mit dem Zeichen
eingeleitet und reicht bis zum Ende einer Zeile.
Mehrzeilige Kommentare werden mit
Die restlichen Programmzeilen haben wir bereits im Abschnitt Python Befehle austesten in der Shell besprochen.
Eine LEDs blinken wechselseitig | |
Material |
|
Aufgaben |
|
Schaltskizze und Schaltungsaufbau
Das Programm
Wie arbeitet das Programm?
Vielleicht ist aufgefallen, dass wir in dieser Schaltung mit zwei LEDs plötzlich mit Vorwiderständen von 470 Ohm arbeiten. Der Grund ist schnell erklärt: ich habe low current LEDs (3mm) genommen und da reichen diese Widerstände aus. Wer selbst experimentieren möchte, sollte unbedingt vorher die Ströme durch die LED messen, bevor er die Schaltung mit dem Raspi ausführt .
Im Gegensatz zum Programm led_pc1.py werden in dieser Übung zwei LEDs wechselseitig ein und aus geschaltet. Die Änderungen im Programm betreffen drei zusätzliche Programmzeilen. Zunächst muss der neue I/O Port an Pin11 auf Ausgang gesetzt werden
und in der FOR-Schleife wird zusätzlich, wenn die eine LED eingeschaltet wird, die andere ausgeschaltet und umgekehrt.
In dieser Übung werden 5 LEDs so beschaltet, dass ein Beobachter den Eindruck hat, dass die Lichter von links nach rechts oder von rechts nach links laufen.
Lauflicht mit fünf LEDs | |
Material |
|
Aufgaben |
|
Schaltskizze und Schaltungsaufbau
Das Programm led_pc3.py
Wie arbeitet das Programm led_pc3.py?
Neu ist hier die Aufzählungsliste ioPin
In ihr sind alle Pins benannt, an denen eine LED angeschlossen ist (BOARD-Format - Abb. 2). Mit dem folgenden Schleifenaufruf werden alle I/O Pin auf Ausgang gesetzt.
Die folgende Doppelschleife wird zehnmal durchlaufen und das Programm dann beendet, wobei vorher alle gesetzten Ports zurückgesetzt werden.
Mit jedem Durchlauf werden nacheinander die LEDs ein- und ausgeschaltet; dazwischen liegt jeweils eine Pause von 0,1s.