Raspberry Pi Pico: LED-Lauflicht programmieren

In einem LED-Lauflicht sind die Leuchtdioden wie in einer Lichterkette nebeneinander angeordnet. Allerdings werden in einem Lauflicht alle Leuchtdioden einzeln angesteuert.

So ist es möglich, dass alle Lampen bzw. Leuchtdioden in einer beliebigen Reihenfolge leuchten. In einem Lauflicht werden die Leuchtdioden nacheinander ein- und ausgeschaltet. Damit die Leuchtdioden an- und ausgehen müssen wir das Lauflicht programmieren.

Aufbau und Bauteile

Raspberry Pi Pico: LED-Lauflicht programmieren

  • R1: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R2: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R3: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R4: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R5: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • R6: Widerstand, 470 Ohm (Gelb-Violett-Schwarz-Schwarz)
  • LED1: Leuchtdiode, rot, gelb oder grün
  • LED2: Leuchtdiode, rot, gelb oder grün
  • LED3: Leuchtdiode, rot, gelb oder grün
  • LED4: Leuchtdiode, rot, gelb oder grün
  • LED5: Leuchtdiode, rot, gelb oder grün
  • LED6: Leuchtdiode, rot, gelb oder grün

1. Programmcode für Anfänger

Im Programmcode werden zuerst die LEDs der Reihe nach initialisiert und anschließend innerhalb einer Schleife der Reihe nach eingeschaltet und wieder ausgeschaltet.

# Bibliotheken laden
from machine import Pin
from utime import sleep

# Initialisierung von GPIOs als Lauflicht
led1 = Pin(18, Pin.OUT, value=0)
led2 = Pin(17, Pin.OUT, value=0)
led3 = Pin(16, Pin.OUT, value=0)
led4 = Pin(13, Pin.OUT, value=0)
led5 = Pin(14, Pin.OUT, value=0)
led6 = Pin(15, Pin.OUT, value=0)

# Wiederholung (Endlos-Schleife)
while True:
    led1.on()
    sleep(0.5)
    led1.off()
    led2.on()
    sleep(0.5)
    led2.off()
    led3.on()
    sleep(0.5)
    led3.off()
    led4.on()
    sleep(0.5)
    led4.off()
    led5.on()
    sleep(0.5)
    led5.off()
    led6.on()
    sleep(0.5)
    led6.off()

2. Programmcode für Fortgeschrittene

Der erste Programmcode hat einen entscheidenden Nachteil: Wenn man das Lauflicht um LEDs verkürzen oder um weitere verlängern will, dann muss man umfangreiche Änderungen am Programm vornehmen. Das liegt daran, weil jede LED einzeln adressiert und angesprochen wird. Ein guter Programmierer wird jedoch versuchen nicht jedes gleiche Element, in dem Fall die LED, einzeln zu programmieren, sondern alle Elemente nacheinander in einer Schleife anzusprechen.
Dadurch wird der Programmcode auf den ersten Blick komplizierter, aber auch wesentlich flexibler.

# Bibliotheken laden
from machine import Pin
from utime import sleep

# GPIOs für das Lauflicht auswählen
GPIO = [18, 17, 16, 13, 14, 15]
leds = len(GPIO)
led = [0] * leds

# Initialisierung von GPIOs als Lauflicht
for i in range(leds):
    led[i] = Pin(GPIO[i], Pin.OUT, value=0)

# Wiederholung (Endlos-Schleife)
while True:
    for i in range(leds):
        led[i].on()
        sleep(0.5)
        led[i].off()

Experimente

  1. Versuche einfach mal das Lauflicht zu verkürzen, also LEDs softwareseitig zu entfernen und nach einem erfolgreichen Test hinzuzufügen.
  2. Lege eine eigene Reihenfolge fest. Lass das Lauflicht zum Beispiel anders herum laufen.

Darf es etwas mehr sein?

Hast Du das Lauflicht auf 2 Leuchtdioden verkürzt? Das sieht aus wie ein Wechselblinker. Ja, der Programmcode ist so flexibel, dass er für eine Wechselblinker verwendet werden kann.

Highlights: Elektronik mit dem Raspberry Pi Pico

Elektronik mit dem Raspberry Pi

Die Stärken des Raspberry Pi liegen klar in der Computer-Architektur mit typischen Computer-Schnittstellen und Möglichkeit zum Ausführen von Open-Source-Software für Linux.

Weitere verwandte Themen:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk

 

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython

Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Pico WLAN Edition
Elektronik-Set Pico WLAN Edition

Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT

Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Sensor Edition
Elektronik-Set Sensor Edition

Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition

Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Eingabe Ausgabe Edition
Elektronik-Set Eingabe Ausgabe Edition

Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition

Damit kannst Du MP3-Dateien abspielen, eine Stoppuhr bauen, einen Servo-Motor mit Drehschalter oder Joystick steuern, Lichteffekte mit einem WS2812-LED-Lichtstreifen erzeugen, Schalten mit einem Relais und Signalisieren mit einem Vibrationsmotor.

Elektronik-Set jetzt bestellen