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

Schnell und einfach alle Bauteile zusammen bestellen

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 time 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 time 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:

Elektronik-Sets für das Hardware-nahe Programmieren

Elektronik-Sets für das Hardware-nahe Programmieren

Programmieren mit dem Raspberry Pi Pico
Online-Meeting

Programmieren mit dem Raspberry Pi Pico

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

Frag Elektronik-Kompendium.de