WS2801 LEDs mit Arduino Nano steuern

  • Moin,


    ich denke nur die erste LED blinkt weil Du auch nur die erste blinken lässt ;-P


    Dass hier ist ja das Stück aus dem Code der die LED an und ausschaltet:


    }


    void loop() {
    // Turn the LED on, then pause
    leds[0] = CRGB::Red;
    FastLED.show();
    delay(500);
    // Now turn the LED off, then pause
    leds[0] = CRGB::Black;
    FastLED.show();
    delay(500);
    }


    Hier sagst Du LED 1 auf rot:
    leds[0] = CRGB::Red;


    leds ist dabei ein Array in dem alle LEDs sind. Mit der 0 ist die erste LED gemeint. Weil Arrays halt bei 0 starten und nicht bei 1 ;)
    Bei 100 LEDs kann leds also die Werte 0-99 einnehmen.


    Wenn du LED 10 anschalten willst wäre es also: leds[9] = CRGB::Red;



    Ich denke mal da liegt dein Fehler ;)


    Willst Du mehre LEDs einschalten brauchst du eine Schleife:

    void loop() {

    for(int dot = 0; dot < NUM_LEDS; dot++) {
    leds[dot] = CRGB::Blue;
    FastLED.show();
    // clear this led for the next time around the loop
    leds[dot] = CRGB::Black;
    delay(30);
    }
    }


    PS: Super das es jetzt klappt ;)

  • Ah super, so klappt es auch. Habe fälschlicherweise angenommen wenn ich am Anfang NUM_LEDS deklariere würde er alle ansteuern.



    Hm, dann habe ich ja jetzt die Wahl zwischen Adafruit und FastLED, irgendwelche Tips welche der beiden Libraries "einsteigerfreundlicher" ist?
    Habe zwar geringfügige Erfahrungen mit Programmieren, allerdings in anderer Form, nämlich php. Jetzt muss ich mich natürlich hier erstmal reinfuchsen.


    Das ganze wird quasi im Quadrat angebracht und dann will ich Variablen erstellen die mir z.B. direkt die Außenkanten des Quadrats zuweisen.
    Also z.b.
    die LEDs 0 - 10 bilden kante_links
    erst leuchte kante_links rot, dann kante_rechts, dann untere, dann obere, dann alle 4.
    hoffe man versteht wie ich das meine.


    Will jetzt auch keinen Code bekommen, einfach vielleicht Tips ob das mit einer Library einfacher zu realisieren ist oder ob sich das im prinzip nichts tut.

  • Moin,


    ich meine gelesen zu haben, dass die Entwickler mittlerweile eine gegenseitige Erkennung aller Befehle eingebaut.
    Sprich die Befehle von einem Library können auch im anderen genutzt werden.


    Aber wenn ich mich entscheiden müsste, dann würde ich FastLED nehmen,
    dahinter steckt eine große Community und Anpassungen werden sehr schnell umgesetzt.


    Das was du vor hast, ist nicht wirklich schwer ;) Wenn du aus php weißt wie eine Schleife funktioniert, dann solltest Du keine Probleme haben ;)


    Du findest mega viele Beispiele, wenn Du etwas im Internet sucht ;)


    Einfach mal "FastLED Arduino WS2812 example code" suchen


    Und sonst halt nochmal fragen :P