Hallo,
ich habe einen Led Streifen mit WS2812B Leds. Den hab ich zu einzelnen Lampen aufgeteilt a 14 Leds.
Bin leider ein blutiger Anfänger und es ist eher alles nach dem Motto "Try and Error"
Habe einen Sketch verwendet, den jemand freundlicherweise zur Verfügung gestellt hat und den etwas modifiziert damit er statt Regenbogen in dem Fall von Rot nach Gelb wechselt.
Hier der Code:
#include "LedFunction.h"
class WechselRY: public LedFunction
{
public:
WechselRY()
{
}
virtual void render()
{
int j = (millis() >> 4) & 255;
for(int i = 0; i < state->count; i++)
{
int ij = 255 - ((i + j) & 255);
state->setRgb(i, 255, 255-ij , 0);
}
}
};
Ich hätte zwei Fragen dazu:
- Wie schaffe ich es, dass das System langsamer zählt, da mir der Wechsel zwischen den einzelnen Leds zu schnell geht. Als ichs mit nem Delay hinter der Klammer } für die For Schleife probiert habe hat dann natürlich das ganze für die Dauer des Delay gestoppt und hat dann alle paar Sekunden den Zustand gewechselt und es gab eben keine fliesende Bewegung mehr sondern Farbsprünge. Als ich es hinter dem For Befehl probiert habe hat er die Variable nicht mehr erkannt (?).
Daher wäre meine Frage, wie ich es hinbekommen, dass die Schleife einfach an sich langsamer zählt.
- Ich würde gerne die Farbe Blockweise wechseln können. Also 14 Leds gleichzeitig färben und dann zum nächsten Block wechseln
for(int i = 0; i < state->count; i++)
{
int ij = 255 - ((i + j) & 255);
state->setRgb(i, 255, 255-ij , 0);
}
Habe da versucht die Led mit ner Schleife zu ersetzen hat aber nicht so geklappt bzw. hab ichs sehr wahrscheinlich falsch gemacht.
Hab vorher ein int k=0; eingeführt und dann damit versucht das i mit einer for Schleife zu ersetzen:
state->setRgb(for ((i+k);k<14;k++)), 255, 255-ij , 0);
Muss vermutlich noch was mit {und } machen oder? Weiß aber nicht so recht was ich dann darein schreiben würde.
Die Hauptschleife würde ich dann auf for(int i = 0; i < state->count; i+14) ändern?
i < state->count bezieht sich auf die Led Gesamtzahl und ist in einem anderen Teil des Sketches definiert. (Insgesamt 210)
Danke für eure Mühen und noch einen schönen Abend
Christian