Hintergrundwissen zur Leuchtdiode (LED), ihr Schaltzeichen, der Anschlussbelegung ihrer Kontakte, zu Widerständen und ihren Farbcodes erhältst du in den
Wer sich mit LEDs schon auskennt, kann in den
und in den
zusätzlich etwas über Durchlassspannungen (Flussspannungen) und die Berechnung von Vorwiderständen erfahren.
Lies dir mindestens Vorschlag 1 vorher durch, anschließend geht es hier weiter.
Didaktisch methodische Einordnung
In dieser Lektion lernst du
Seeedstudio hat für viele seiner Grove Sensoren eine Möglichkeit geschaffen, diese schnell auf ihre Funktionstüchtigkeit zu überprüfen. Dazu verbindet man den gewählten Sensor mit einem Grove-Anschluss auf dem Grove Base HAT und gibt im Terminalfenster anschließend eine Befehlszeile ein.
Wenn man wissen möchte, an welchen der zur Verfügung stehenden Grove-Ports auf dem Base HAT die Sensoren anzuschließen sind, einfach den Sensornamen eingeben und mit der Rücklauftaste bestätigen. Es erscheinen daraufhin alle Ports oder Slots, mit denen der ausgesuchte Sensor verbunden werden darf.
Beispiel
Die Terminaleingabe von
führt zur Rückmeldung
lässt eine mit Port D5 verbundene LED im Sekundentakt blinken.
listet alle zurzeit verfügbaren Grove Sensoren im Terminalfenster auf, die sich direkt über die Konsole ansprechen lassen.
Für die erste Übung wird nur ein Grove Modul benötigt. Es führt in die Thematik dieses Kapitels ein, den RasPi mit einem Grove Base HAT und mit ihm verbundene Sensoren anzusprechen.
Inhaltlich ist dieses Thema geeignet für die obere Mittelstufe und die Oberstufe.
Blinkende LED (MO) | |
Aufgaben |
|
Material |
|
Eine Frage habe ich aber noch …
Schaltungsaufbau
Wie entwickle ich Programmcode?
Ein leichter Zugang ist, wenn man sich vorstellt, dem Rechner mündliche Anweisungen zu geben. Die werden frei formuliert und könnten zum Beispiel so aussehen:
Eine solche Ansammlung von einzelnen Handlungsanweisungen bezeichnet man auch als Pseudocode.
Um dem Computer (RasPi) Anweisungen geben zu können, der nur seine eigene Sprache versteht, müssen ihm zu Beginn der Kommunikation Sprachbibliotheken für die benutzte Hardware mitgegeben werden. Sie enthalten all die Worte/Sprachelemente (Funktionen), die der Rechner versteht und befinden sich in unserem Fall in den Bibliotheken gpiozero und time.
Der RasPi hat sehr viele Pins, die mit der Außenwelt kommunizieren können. Wenn an einem bestimmten Pin eine LED oder ein anderes Bauteil angeschlossen wird, dann muss dem Rechner zu Beginn der Handlungsanweisungen mitgeteilt werden, an welchen Pins etwas angeschlossen ist. Und die Pins haben unterschiedliche Bezeichner:
Der Pseudocode könnte mit diesen Informationen jetzt so aussehen:
Das Programm zero_LED1.py
Wie arbeitet das Programm zero_LED1.py?
Programmzeilen 1 und 2
Die Bibliotheksfunktionen time und gpiozero werden importiert.
Programmzeile 4
Die Portverbindung GPIO5 wird led zugewiesen.
Programmzeilen 6 – 10
In der Endlosschleife while True: werden wiederholt die folgenden Anweisungen ausgeführt:
Alle eingerückten Befehle (Zeilen 7 – 10) gehören zur while-Schleife.
Das Programm wird abgebrochen über Strg-C.
Der Aufbau des Modul Grove LED
Die folgende Schaltskizze zeigt den Aufbau des Grove LED.
Ein HIGH-Signal schaltet den Transistor durch, die Spannung UCE sackt auf ca. 0,3 Volt, die LED leuchtet. Der Vorwiderstand der LED liegt, je nach Einstellung des Schleifers auf dem Potenziometer zwischen 720 Ohm und 220 Ohm. Mit einer angenommenen Flussspannung von 1,9 V bei einer roten LED liegt der maximale Kollektorstrom bei ca. 5 mA. Bitte selbst noch einmal nachrechnen!
Die grobe Überprüfung der Gesamtstromstärke in der Schaltung wird in der folgenden Übung durchgeführt.
Gesamtstrommessung (MO) | |
Aufgaben |
|
Material |
|
Diese Übung baut auf einigen Vorkenntnissen auf, die du erst einmal erarbeiten solltest, bevor du diese Übung beginnst: Abschnitt 7 („Was ist eigentlich ein Tastverhältnis“), Abschnitt 8 („Dunkle Zeiten für LEDs“) und Abschnitt 9 („Eine LED dimmen“).
LEDs lassen sich über eine Veränderung des Tastverhältnisses einer anliegenden Rechteckspannung in ihrer Leuchtkraft beliebig verändern; dies wird Thema der folgenden Übung sein.
Dimmer (MO) | |
Aufgaben |
|
Material |
|
Pulsweitenmodulation (PWM) mit dem RasPi
An welchem GPIO-Pin des RasPi lässt sich PWM durchführen? Nicht jeder Dx-Port ist dafür geeignet. Erinnern wir uns jetzt an den Schnell-Check der Grove-Sensoren; gib im Terminalfenster ein:
und schließe die Eingabe mit der Rücklauftaste ab. Die Antwort erscheint prompt auf dem Bildschirm (s. Abb. 1); es ist GPIO12 des RasPi. Damit kann die Erstellung des Programms beginnen.
Das Programm zero_LED1pwm.py
Wie arbeitet das Programm zero_LED1pwm.py?
In den Programmzeilen 1 und 2 werden Bibliotheksfunktionen geladen; anschließend wird GPIO12 der Variablen led und den Variablen stufen und pause je ein Wert zugewiesen.
In der sich anschließenden Endlosschleife zwischen Programmzeile 8 und 11 wird in einer FOR-Schleife der Leuchtwert der LED (über das Tastverhältnis) stetig verändert und an der LED für eine kurze Zeit (pause) angezeigt. Nach Erreichen des maximalen Helligkeitswertes fängt alles wieder von vorne an.
Eine einfachere Programmier-Variante für das pulsierende Leuchten einer LED
Die gpiozero Bibliothek enthält in der Unterdatei PWMLED eine Funktion
mit deren Hilfe die Leuchtkraft einer LED langsam auf- und abschwellen kann. Dabei haben die Parameter folgende Bedeutung
Das schauen wir uns gleich mal im Programm zero_LED1_pwm2.py an.
Der led.pulse(5,5,5) Befehl bewirkt, dass sowohl das fade-in als auch fade-out jeweils 5 Sekunden benötigen und das dieser Vorgang fünf mal wiederholt wird. Anschließend wird die LED auf LOW gesetzt.
Weiter geht´s mit dem Kapitel Taster und LED.