Kapitel 5: Aktoren ansteuern
In this chapter ...
- ... you will connect a LED to your Raspberry Pi.
- ... you will use different methods to controll the LED.
Situation
https://makeabilitylab.github.io/physcomp/arduino/rgb-led.html
from gpiozero import LED import time
GPIO-Pin für die LED
led_pin = 17 # Hier den tatsächlichen GPIO-Pin anpassen
Definition von Morsecode für die Buchstaben M, B und S
morse_code = {'M': '--', 'B': '-...', 'S': '...'}
def blink_morse_code(letter): for symbol in morse_code[letter]: if symbol == '-': led.on() time.sleep(0.3) elif symbol == '.': led.on() time.sleep(0.1) led.off() time.sleep(0.1)
def main(): try: led = LED(led_pin) for letter in "MMBBS": blink_morse_code(letter) # Pause zwischen den Buchstaben time.sleep(0.5) except KeyboardInterrupt: print("\nProgramm wurde beendet.") finally: # Stelle sicher, dass die LED am Ende ausgeschaltet wird if 'led' in locals() and led is not None: led.off()
if name == "main": main()
Natürlich, hier ist eine Beschreibung jeder Zeile des Codes:
-
from gpiozero import LED
: Hier wird dieLED
-Klasse aus dergpiozero
-Bibliothek importiert, die die Steuerung von LEDs über GPIO-Pins erleichtert. -
import time
: Importiert dastime
-Modul, das für die Pausen zwischen den LED-Blinksequenzen verwendet wird. -
led_pin = 17
: Der GPIO-Pin, an dem die LED angeschlossen ist, wird auf 17 festgelegt. Du solltest dies an den tatsächlichen GPIO-Pin anpassen. -
morse_code = {'M': '--', 'B': '-...', 'S': '...'}
: Definiert ein Wörterbuch (morse_code
), das den Morsecode für die Buchstaben 'M', 'B' und 'S' enthält. -
def blink_morse_code(letter):
: Hier wird eine Funktionblink_morse_code
definiert, die den Morsecode für einen einzelnen Buchstaben verarbeitet und die LED entsprechend blinken lässt. -
for symbol in morse_code[letter]:
: Iteriert über jeden Morsecode-Symbol (Punkt oder Strich) des aktuellen Buchstabens. -
if symbol == '-':
,elif symbol == '.':
,led.off()
,time.sleep(0.1)
: Steuert das Ein- und Ausschalten der LED gemäß dem Morsecode-Symbol und fügt Pausen hinzu. -
def main():
: Definiert die Hauptfunktion, die die LED für die Buchstaben 'MMBBS' im Morsecode blinken lässt. -
led = LED(led_pin)
: Initialisiert die LED mit dem angegebenen GPIO-Pin. -
for letter in "MMBBS":
: Iteriert über die Buchstaben 'M', 'M', 'B', 'B', 'S'. -
blink_morse_code(letter)
: Ruft die Funktion auf, um den Morsecode für jeden Buchstaben zu blinken. -
time.sleep(0.5)
: Pausiert für eine kurze Zeit zwischen den Buchstaben. -
except KeyboardInterrupt:
undfinally:
: Behandelt die Unterbrechung durch den Benutzer (z.B., durch Drücken von STRG+C) und stellt sicher, dass die LED am Ende ausgeschaltet wird. -
if __name__ == "__main__":
: Sorgt dafür, dass der Code nur ausgeführt wird, wenn das Skript direkt ausgeführt wird, nicht wenn es in einem anderen Skript importiert wird. -
main()
: Ruft die Hauptfunktion auf, um den Hauptteil des Programms auszuführen.
Lizenz
Der FISI LF02 Kurs von Rainer Horn, Dave Brett & André Neumann ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Fragen, Hinweise etc. an horn@mmbbs.de, brett@mmbbs.de und neumann@mmbbs.de.