Hallo, ich würde gern eine Led Leiste zum Leuchten bringen. Ich habe eine etwas unkonventionelle Lösung. Ich benutze nämlich einen WS2811 Controller aber alle LED die dran hängen sind weiss. Soweit so gut. Es soll Led1 angehen nach 100ms die zweite nach 100ms die dritte usw. Das Problem in meinem Programm ist dass die erste angeht, nach 100ms geht sie aus und die zweite geht an, nach weiteren 100ms geht die zweite aus und die dritte geht an und bleibt an. ich habe 5 Controller die ich ansteuere. An jedem hängen 3 Leds. Wenn ich komplett laufen lasse, bleiben also immer jeweils nur die letzten LEDs an. Die beiden davor gehen aus. Hier ist mein kompliziertes Programm. Kann mir jemand sagen wo bei mir der Haken hängt. #include "FastLED.h" #define NUM_LEDS 4 #define DATA_PIN 6 #define CLOCK_PIN 13 CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS); } void loop() { leds[0] = CRGB::Red; FastLED.show(); delay(100); leds[0] = CRGB::Green; FastLED.show(); delay(100); leds[0] = CRGB::Blue; FastLED.show(); delay(100); leds[1] = CRGB::Red; FastLED.show(); delay(100); leds[1] = CRGB::Green; FastLED.show(); delay(100); leds[1] = CRGB::Blue; FastLED.show(); delay(100); leds[0] = CRGB::Black; FastLED.show(); leds[1] = CRGB::Black; FastLED.show(); delay(300); }
Müssten die Farben nicht red, yellow, white sein (anstatt red, green, blue)? NUM_LEDS ist 4 und du hast 5 Controller?
Wegen den Farben weiß ich nicht genau aber klappt dennoch soweit. Ja hab noch das alte Programm. Habe 5 Controller. Müsste NUM_LED 5 sein
Hallo, Vielleicht fängst Du mal damit an, dass Du das richtige Programm postest. Das was Du hier gezeigt hast, passt nicht zu Deiner Beschreibung. Gruß Frank
Baue vor der Zeile leds[1] = CRGB::Red; noch leds[0] = CRGB::Black; ein. In dem Moment in dem die erste Led am zweiten WS2811 eingeschaltet wird müssen ja auch alle Leds am ersten Controller ausgeschaltet werden um ein Lauflicht zu bekommen (wenn das dein Zieln ist).
Das ist mein eben mein Programm. Besser kann ich es leider nicht. Die leds sollen einfach in 100ms Takt angehen und an bleiben. Das ist alles.
Das mit den Farben ist sogar logisch. Das ist wirklich besser. Also jetzt füllt sich die Leiste so wie ich es wollte vielen Dank. Leider Blinken die jeweils ersten Leds vom Chip. Also Rot die erste geht. Yellow die erste Led geht kurz aus und geht dann mit der zweiten LED an. White - die ersten beiden LEDs gehen kurz aus und gehen dann alle drei an. Also es funktioniert schon so wie gewollt aber dieses Blinken stört noch das Bild. Als ob der Chip sich kurz reseten würde.
SMNWIZTH schrieb: > FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS); hast du schon mal versucht, hier statt 'RGB' einen anderen wert zu nehmen? oftmals nehmen die ws2811 die farben auch in anderer reihenfolge an
Habe ich bis jetzt noch nicht probiert weil die Reihenfolge stimmt. Also es läuft so wie es soll. Nur resetet sich der Chip und die Leds blinken anstatt dass die jeweils zweite und dritte Led einfach zusätzlich angehen. Gibt es sowas wie einen "Contnue" Befehl?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.