# Bibliotheken laden
from machine import Pin
from neopixel import NeoPixel
from time import sleep_ms
def getRGB(deg):
m=1/60
if deg>=0 and deg<60:
R=1
G=0
B=m*deg
if deg>=60 and deg<120:
R=1-m*(deg-60)
G=0
B=1
if deg>=120 and deg<180:
R=0
G=m*(deg-120)
B=1
if deg>=180 and deg<240:
R=0
G=1
B=1-m*(deg-180)
if deg>=240 and deg<300:
R=m*(deg-240)
G=1
B=0
if deg>=300 and deg<360:
R=1
G=1-m*(deg-300)
B=0
myColor=(int(R*255),int(G*255),int(B*255))
return myColor
# GPIO-Pin für WS2812
pin_np = 28
# Anzahl der LEDs
leds = 9
# Helligkeit: 0 bis 255
brightness = 255
red = (200,30,30)
green = (30,255,30)
# Geschwindigkeit (Millisekunden)
speed = 100
# Initialisierung WS2812/NeoPixel
np = NeoPixel(Pin(pin_np, Pin.OUT), leds)
deg = 0
# Wiederholung (Endlos-Schleife)
while True:
for i in range (leds-1):
color = getRGB(deg)
deg = deg + 10
#print(deg)
if (deg>=360):
deg = deg - 360
# Nächste LED einschalten
np[i] = color
np[i+1] = color
np.write()
sleep_ms(speed)
# LED zurücksetzen
np[i] = (0, 0, 0)
np[i+1] = (0, 0, 0)
for i in range (leds-3,0,-1):
color = getRGB(deg)
deg = deg + 10
#print(deg)
if (deg>=360):
deg = deg - 360
# Nächste LED einschalten
np[i] = color
np[i+1] = color
np.write()
sleep_ms(speed)
# LED zurücksetzen
np[i] = (0, 0, 0)
np[i+1] = (0, 0, 0)