from machine import Pin, Timer
Led1 = Pin(23, Pin.OUT, value=0)
Led2 = Pin(22, Pin.OUT, value=0)
Led3 = Pin(21, Pin.OUT, value=0)
Led4 = Pin(19, Pin.OUT, value=0)
Led5 = Pin(18, Pin.OUT, value=0)
Led6 = Pin(5, Pin.OUT, value=0)
Leds_Active_High = True #Die Leds sind auf ACTIVE_HIGH geschalten, da der GPIO Pin 3,3V liefert.
Intervall_in_ms = 150
# Setup: Hier wird festgelegt, welcher Signalpegel die Leds an & ausschaltet.
Led_an = 1 if Leds_Active_High else 0 # 1 if True, else 0
Led_aus = 0 if Leds_Active_High else 1 # 0 if True, else 1
leds = [Led1, Led2, Led3, Led4, Led5, Led6]
for l in leds:
l.value(Led_aus)
# Lauflicht - Logik:
index = 0
richtung = 1 # 1... Laufrichtung rechts; -1... Laufrichtung links
def lauflicht(timer):
global index, richtung
for l in leds: # alle Leds ausschalten
l.value(Led_aus)
leds[index].value(Led_an) # LED am aktuellen Index AN
index = index + richtung
#print(index) # Kontrolle zum Verständnis der Logik
if index >= len(leds) - 1: # Wenn der index größer gleich als 5 ist, wird die Richtung auf links gesetzt
richtung = -1
elif index <= 0: # Wenn der index kleiner gleich 0 ist wird die Richtung auf rechts gesetzt.
richtung = 1
#Wie ist unser Timer definiert?
timer = Timer(0)
timer.init(period=Intervall_in_ms, mode=Timer.PERIODIC, callback=lauflicht)