Neopixel Lauflicht ohne Delay

Hallo,

ich bräuchte unbedingt Hilfe bei der Programmierung eines Lauflichts mit den Led's (WS2812b). Es soll wie folgt aussehen. Eine RGB-Beleuchtung in der Farbe Rot im Muster eines Lauflichts. (150 Led's) Wobei das Lauflicht als Paket an sich aus 7 LED's gleichezeitig (Vordeste LED am hellsten - entfernteste im Paket am dunkelsten) pro 30 LED's besteht.

Sprich im ersten Step sind die LED's auf :

100% Rot: LED1, LED31, LED61, LED91, LED 121. 70% Rot: LED30, LED60, LED90, LED120. 50% Rot: LED29, LED59, LED89, LED119. 40% Rot: LED28, LED58, LED88, LED118. 35% Rot: LED27, LED57, LED87, LED117. 30% Rot: LED26, LED56, LED86, LED116. 20% Rot: LED25, LED55, LED85, LED115.

und nach jedem Step wird die prozentuale Leistung auf die nächste LED verschoben. Ich hab zudem einfach garkein Ansatz wie ich anfangen soll, vorallem da ich auf Delay, zwecks vorherigem Programmablauf, verzichten muss.

µC= Arduino Uno

Hoffe ihr könnt mir helfen.

Gruß

xSaboo: Hoffe ihr könnt mir helfen.

Und ich hoffe, du hast dir schon mal die zahlreichen Beispiele in der Neopixel-Library angesehen und diese auch getestet. Damit wird dein Vorhaben deutlich einfacher und du musst nicht alles selbst neu schreiben.

deine Tabelle ist eigenartig. Warum gibt es 5 Werte mit 100% sonst aber nur 4? auch passen die Werte eigentlich nicht wirklich zu den anderen Zeilen. oder ist nur die LED1 zu viel angegeben?

Wenn du einen funktionierenden Sketch hast, auch mit delays, poste mal deinen Sketch

Hi

Wie ich Das verstehe 100% LED 0 70% LED 1 50% LED 2 40% 35% 30% 20% 0% ... 23x LED 7-30 Danach wiederholt Sich das Ganze. Mein Weg wäre ein Array mit den Dimmwerten eune einem Zähler, Der mitzählt, mit welchem Wert ist in dieser Runde begonnen habe. Jede LED danach bekommt den Dimmwert 'einen weiter hinten' - wenn das Array zuende ist, beginnen wir wieder vorne - wobei die 0 eben '23 LEDs lang ist'. Dann ein .show(), damit die LEDs auch die Farben übernehmen, die aktuelle Zeit merken (millis() ist Dein Freund) und bis zum nächsten Wechsel machen wir ... Nichts. Oder eben Das, weshalb Du nicht mehr mit delay() arbeiten kannst.

MfG