Raspberry Pi: LED blinken lassen (mit Python und GPIO Zero)

Am Besten ist Elektronik immer dann, wenn es blinkt und blitzt. Aber bitte nicht zu viel davon. Wenn es zu sehr blitzt, ist danach meistens etwas kaputt. Deshalb beschränken wir uns sicherheitshalber auf das Blinken einer Leuchtdiode.
Mit Python und GPIO Zero lässt sich das Blinken einer Leuchtdiode mit wenigen Zeilen erledigen.

Damit eine LED blinkt oder blitzt gibt es in der Elektronik nur ein paar Grundschaltungen, die man je nach Blinkfrequenz variieren kann oder sogar bevorzugt. Die folgenden Programmcodes ersetzen praktisch die Funktion dieser Grundschaltungen. Das einzige, was an Hardware bleibt, ist die Leuchtdiode mit Vorwiderstand. Und natürlich der Raspberry Pi.
Die Leuchtdiode wird per Software gesteuert. Dabei gibt es nicht nur einen Weg, wie man die Leuchtdiode zum Blinken bringt. Es gibt gleich mehrere davon und auch noch in verschiedenen Variationen. Und genau das sollst Du ausprobieren. Und es wäre denkbar, dass es noch weitere Lösungen gibt, die hier nicht berücksichtigt wurden.
Ein weiterer Aspekt ist, dass es sich bei der Schaltung aus Leuchtdiode und Widerstand um eine Standard-Schaltung handelt. Genau diese Schaltung lässt sich für andere Funktionen und Anwendungen wieder verwenden, ohne dass man daran etwas ändern muss. Geändert wird nur der Programmcode bzw. die Software.

Aufbau und Bauteile

  • LED1: Leuchtdiode, rot, gelb oder grün
  • R1: Widerstand, 330 Ohm (Orange-Orange-Schwarz-Schwarz)
  • Verbinde die Anode (langer Anschluss) der Leuchtdiode mit dem GPIO-Pin.
  • Verbinde die Kathode (kurzer Anschluss) der Leuchtdiode mit dem Widerstand.
  • Verbinde die andere Seite des Widerstands mit dem GND-Pin.

Programmcode

Nach dem Start der Programme beginnt die Leuchtdiode zu blinken. Die Programme enden im Prinzip nie. Sie müssen manuell beendet bzw. gestoppt werden.

In der ersten Variante erfolgt das Blinken der Leuchtdiode durch hartes Ein- und Ausschalten.

# Bibliotheken laden
from gpiozero import LED

# Initialisierung von GPIO17 als LED (Ausgang)
led = LED(17)

# LED blinken lassen
led.blink()

In der zweiten Variante erfolgt das Blinken durch weiches Ein- und Ausblenden, in dem die Helligkeit über ein PWM-Signal gesteuert wird.

# Bibliotheken laden
from gpiozero import PWMLED

# Initialisierung von GPIO17 als PWM-Signal für LED (Ausgang)
led = PWMLED(17)

# PWM-Signal ausgeben
led.pulse()

In der dritten Variante wird das Blinken mit unterschiedlicher Leuchtdauer und Pausedauer realisiert. Die Werte von „sleep“ sind die Dauer in Sekunden.

# Bibliotheken laden
from gpiozero import LED
from time import sleep

# Initialisierung von GPIO17 als LED (Ausgang)
led = LED(17)

# Wiederholung einleiten
while True:
    # LED einschalten
    led.on()
    # 0,17 Sekunden warten
    sleep(0.17)
    # LED ausschalten
    led.off()
    # 1 Sekunde warten
    sleep(1)

In der vierten Variante wird das Blinken mit unterschiedlicher Leuchtdauer und Pausedauer realisiert. Die Werte von „blink“ sind die Dauer in Sekunden.

# Bibliotheken laden
from gpiozero import LED

# Initialisierung von GPIO17 als LED (Ausgang)
led = LED(17)

# LED im Verhältnis 1 Sekunde zu 2 Sekunden blinken lassen
led.blink(1,2)

Experimente

Die letzten beiden Beispiele erlauben verschiedene Experimente:

  1. Versuche verschiedene Kombination mit unterschiedlichen Leucht- und Pausezeiten aus. Zum Beispiel 0.5 und 2.
  2. Welche kleinste Zeit kann man als Leuchtdauer angeben, damit man die Leuchtdiode noch leuchten sieht?
  3. Welche kleinste Zeit kann man als Pausedauer angeben, damit die Leuchtdiode noch ausgeht?

Darf es ein bisschen mehr sein?

Die Beispiele zeigen, dass eine LED nicht nur „An“ und „Aus“ sein kann, sondern dazwischen mehrer Stufen der Helligkeit sein können. Wie wäre es, mit der selben Schaltung, ganz gezielt die Helligkeit einer Leuchtdiode einzustellen?

Highlights: Elektronik mit dem Raspberry Pi

Alternative: Elektronik mit dem Raspberry Pi Pico

Raspberry Pi Pico ist ein Mikrocontroller. Er ermöglicht Dank vieler analoger und digitaler Eingänge und Ausgänge vielfältige Anwendung im Bereich der Steuerung von elektronischen Bauteilen, Sensorik, Robotik und Automation.

Weitere verwandte Themen:

Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero

Elektronik-Set Raspberry Pi Edition

Das "Elektronik-Set Raspberry Pi Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit Python und GPIO Zero.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Verschiedene Zustände auswerten und anzeigen lassen
  • LED mit Taster einschalten und ausschalten
  • Relais-Board steuern
  • LED, Relais-Board und Motor über ULN2003A steuern
  • Ampel- und Lauflicht-Steuerung
  • Herunterfahren per Taster
  • Reaktionsspiel mit Tastern und LEDs
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!