Du hast zu deinem Raspberry Pi ein Ampel-Modul erhalten.
Auf dem Modul sind neben den LEDs auch die notwendigen Widerstände enthalten.
Klicke auf das Bild!
Neben den LEDs ist jeweils ein SMD-Widerstand aufgelötet. Diese sind mit "331" bezeichnet.
Das bedeutet 330 Ohm. Wieso?
Die drei LEDs haben eine gemeinsame Kathode, die an "GND" aus dem Modul herausgeführt wird.
Dieses wird mit mit dem Flachandkabel (weiblich-männlich) verbunden.
Blau wird auf "Gnd" (Ground, Masse, Minuspol),
grün auf "G" (green, grüne LED),
gelb auf "Y" (yellow, gelbe LED) und
orange auf "R" (red, rote LED) gesteckt.
Das rote Kabel habe ich an den anderen Kabel gelassen,
weil wir diese fünf Kabel in diesen Farben häufiger brauchen werden.
Rote Kabel verwenden wir möglichst nur für den Pluspol zur Spannungsquelle.
Teste dein LED-Modul. Verbinde "GND" mit "GND" des Raspberry und "G" mit einem beliebigen Pin "3V3" oder mit "5V0".
3,3 Volt und 5 Volt sind die beiden Spannungen, die der Raspberry für die Stromversorgung anderer Bauelemente bereitstellt.
Seine Ausgänge geben maximal 3,3 Volt ab.
Teste so auch die beiden anderen LEDs nacheinander oder auch gleichzeitig.
Die grüne LED leuchtet bei mir wesentlich geringer, als die beiden anderen LEDs.
Merke: Eine LED der Ampel leuchtet bei H-Pegel.
blau - Gnd orange - GPIO17 gelb - GPIO27 grün - GPIO22Auf der Abbildung sind schon alle GND, 3.3V und 5V Pins mit den blauen bzw. roten Schienen des Steckbrett verbunden.
Raspberry schaltet die LEDs des Ampel-Moduls.
Für die Programmierung nutzen wir die Bibliothek "gpiozero". Diese ist hier ausführlich beschrieben.
Zeile 4:
Das Objekt oder auch die Instanz "led_red" wird aus der Klasse "LED" angelegt.
Der Pin "GPIO17" des Raspberry wird hier durch "LED(17)" als Ausgang definiert.
Nach dieser Definition hat der Ausgang L-Pegel, die angeschlossene LED leuchtet nicht.
Zeilen 5 und 6:
Die Objekte "led_yellow" und "led_green" werden als weitere Vertreter der Klasse "LED" erzeugt.
Die Pins "GPIO27" und "GPIO22" des Raspberry werden als Ausgänge definiert und auf L-Pegel gelegt.
Zeilen 9 bis 11:
Mittels der Methode "on" werden die Objekte "led_red", "led_yellow" und "led_green" nacheinander auf H-Pegel gesetzt.
Die angeschlossenen LEDs der Ampel leuchten.
Zeilen 14 bis 16:
Alle LEDs werden mittels der Methode "off" ausgeschalten, indem die entsprechenden Ausgänge wieder L-Pegel erhalten..
Raspberry lässt die LEDs blinken.
Zeilen 4-6 : Die Pins GPIO17, GPIO2 und GPIO22 werden aus Ausgang definiert.
Danach haben diese Ausgänge einen L-Pegel.
Mittels der Methode "blink" wird die roe LED in den Zustand "Blinken" versetzt.
Zeile 11: Led blinkt mit 0.5 Hz: 1 Sekunde H-Pegel, 1 Sekunden L-Pegel
Zeile 15: Led blinkt mit 1 Hz: 0.5 Sekunde H-Pegel, 0.5 Sekunden L-Pegel
Zeile 19: Led blinkt mit 2 Hz: 0.1 Sekunde H-Pegel, 0.4 Sekunden L-Pegel
Merke: Hz (Hertz) ist die Einheit für die Frequenz.
10 Hz bedeutet, das ein Vorgang sich 10 Mal pro Sekunde wiederholt.
Beachte: Nach dem Programmende blinkt die rote LED weiter und auch die beiden anderen LEDs behalten ihren Zustand bei.
Dein Programm wird erst endgültig beendet, wenn du:
- die IDLE Shell schliesst.
- in der "Thonny Python IDE" den STOP-Button drückst.
- die "Thonny Python IDE" schliesst.
Schalte am Programmende die LEDs zur Sicherheit immer aus.
Die Methode "blink" der Klasse "LED" kann wie folgt augenutzt werden:
blink() - 1 Sekunde H-Pegel, 1 Sekunde L-Pegel
blink(n) - n Sekunden H-Pegel, n Sekunden L-Pegel
blink(n,m) - n Sekunden H-Pegel, m Sekunden L-Pegel
Ändere das Programm:
Die rote LED soll mit 1 Hz, die gelbe mit 2 Hz und die grüne mit 4 Hz blinken.
Wird fortgesetzt ... !