ich hoffe es kann mir jemand helfen und zwar habe ich vor mit der ESP8266 einen 18m (60LED pro m) langen LED Streifen zu steuern. Würde gerne per Befehl von Loxone also UDP z.B.: 200an senden und dadurch 200 LEDs leuchten lassen und die restlichen gedimmt.
Sollte dann wie hier durchlaufen:
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0, 100)); <----rest gedimmt
strip.show();
delay(1);
for (int i = 0; i < NUM_LEDS-880; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0, 255)); <----200 Leuchten mit voller Leistung
strip.show();
delay(1);
Ich benötige nur den Auslöse (200an) und Stop (200aus) Impuls/Befehl für die Programmierung.
Wie kann man das schreiben?
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.
Ein paar weitere Infos wären schon sinnvoll.
Ich kenne LOXON nicht und Du sagst uns nicht, welche Libs Du nutzt.
Sinnvoll wäre ein kompilierbarer Sketch mit Links zu den verwendeten Libs und den LEDS.
Ich könnte mir aber vorstellen, dass die Farbe schwarz in keiner Helligkeit sinnvoll ist.
strip.Color(0, 0, 0, 255)
Deine bisherige Beschreibung ist mir immer noch unklar.
Beschreibe noch mal GANZ GENAU was du erreichen willst.
Das ganze in kurzen Sätzen.
Gib ein Beispiel WAS du über Loxone senden willst und wie sich das auf deinen LED-Streifen auswirken soll.
Dann machst noch ein Beispiel was du über Loxone sendest und wie der Streifen dann aussen soll.
Geh davon aus dass niemand von usn eine Loxone hat. Daher müssen wir ganz genau wissen was diese sendet.
hängen diese 200 von 1080 hintereinander?
Also sind es die Pixel-Nr 880 - 1080 die du jeweils ansteuern willst?
Und sollen die Pixel jeweils umgeschaltet werden - oder willst du da eine kleine Animation, dass man sieht, dass die Pixel immer mehr (oder weniger) werden?
soll das Loxone irgendwie festlegen welche 200 LED eingeschaltet werden ? oder wie hast Du Dir das vorgestellt. Ich denke es macht Sinn wenn Du erst mal mit wenigen LED was probierst um zu lernen wie man LED einschaltet und die Farbe bestimmt, also Grundlagen.
Eigendlich stellt man erst alle LED so ein wie man das haben will, dabei werden die Daten zunächst zwischengespeichert. Anschliessend mit strip.show() werden die Werte dann an die LED ausgeben.
ich kenn die Lib nicht aber ich denke da gibts auch eine Dokumentation zu und ein paar Beispiele werden auch dabei sein. Lesen und lernen musst Du schon selber.
Loxone soll nur schalten im Programm soll alles festgelegt werden. Einzelne LEDs kann ich schalten nur leider nicht 200 von… mir fehlt einfach der Befehl für die Arduino Programmierung.
könnte ich es auch hiermit:
if (!strcmp(packetBuffer, "LED1 an"))
{
for (int i = 0; i < NUM_LEDS-200; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0, 255));
strip.show();
delay(50);
}
Ja, es sind insgesamt 1080 LEDs und somit 200 von 1080.
Also sind es die Pixel-Nr 880 - 1080 die du jeweils ansteuern willst?
Ich will in gewissermaßen alle ansteuern nur mit verschieben Schaltern, deswegen LED1 an (ersten 200 LEDs gehen an), LED2 an (nächsten 400 LEDs gehen an) usw.
Und sollen die Pixel jeweils umgeschaltet werden - oder willst du da eine kleine Animation, dass man sieht, dass die Pixel immer mehr (oder weniger) werden?
Eine gewissen Fluss/Animation hätte ich schon gerne, die sollen wie ein Lawine angehen eine nach der anderen Zeit versetzt.
trenne dein Programm in
a) “Daten Empfangen/Auswerten” und
b) Muster darstellen.
Bau dir für die einzelnen Muster eigene Funktionen, die du dann in a) aufrufst.
ala (ungeprüft)
void muster1()
{
for (int i = 0; i < 200; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 0, 255));
strip.show();
delay(50);
}
}
kann man dann später noch weiter vereinfachen.
ich schätze agmue oder einer der anderen Helferleins wird dir jetzt weiterhelfen können. Ich geh offline.
Loxone umprogrammieren geht nicht so einfach. Ich benötige eigentlich nur weiß.
Es soll im Eingangsbereich vor dem Haus realisiert werden. Deswegen die verschiedenen Kreise die ich dann per Bewegungsmelder schalten will. Wenn der Briefkasten betätigt wird werde ich in dem Bereich auch eine einzige LED pulsieren lassen. Die Farbe Rot wollte ich für den Alarm benutzen. Nur fehlt mir einfach der Befehl der ein Kreis LEDs startet.
Na dann hättets Du 6 Gruppen welche Gruppe könnte aus der Variablen ledIndex kommen. Dann berechnest Du eine Anfangsvariable Anfang=ledIndex*200
in einer for Schleife steuerst du zunächst alle 1080 LED auf 50%.Dann eine zweite forschleife von Anfang bis Anfang+200 auf 100% in einer Farbe Deiner Wahl. Anschliessend strip.show().