NeoPixel stellen komplett verwürfelte Farben dar (FastLED)

Moin, hab mir hier also 6 NeoPixel (NeoPixel RGBW Mini Button PCB - Pack of 10 ID: 4776 - $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits) zusammengelötet und ich kriege sie nur dann alle zum leuchten, wenn ich im Code schreibe, dass ich 8 Stück habe…
(Ich dachte zuerst der AIO liefert nicht genug Saft an PIN 6)

Wenn ich #define NUM_LEDS 6 oder #define NUM_LEDS 7 eintrage leuchtet die letzte LED nicht auf…

Und wenn ich nun sage das alle LEDs rot leuchten sollen, dann kommen ganz merwürdige Dinge raus (siehe Bild mit der Verdrahtungsreihenfolge).
Ich habe sowohl mit dem LED-Typ als auch der Farbreihenfolge RGB, GRB, BRG, etc. rumgespielt nichts passt. Hat wer von Euch eventuell eine Idee? Ich steh hier grad ordentlich auf dem Schlauch :sob:

Hier der Code dazu:

#include <FastLED.h>

#define NUM_LEDS 8
#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {
    FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);  // GRB ordering is assumed
    FastLED.setBrightness(255);
}

void loop() {
  // Turn the LED on, then pause
  leds[0] = CRGB::Red;
  leds[1] = CRGB::Red;
  leds[2] = CRGB::Red;
  leds[3] = CRGB::Red;
  leds[4] = CRGB::Red;
  leds[5] = CRGB::Red;
  leds[6] = CRGB::Red;
  leds[7] = CRGB::Red;
  leds[8] = CRGB::Red;
  FastLED.show();
}

Wenn ich folgendes schreiben sind alle LEDs blau:

#include <FastLED.h>

#define NUM_LEDS 8
#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {
    FastLED.addLeds<WS2812, DATA_PIN,GRB>(leds, NUM_LEDS);
    FastLED.setBrightness(255);
}

void loop() {
  // Turn the LED on, then pause
  leds[0] = CRGB(0,0,255);
  leds[1] = CRGB(0,0,0); 
  leds[2] = CRGB(0,255,0);
  leds[3] = CRGB(255,0,0);
  leds[4] = CRGB(0,0,255);
  leds[5] = CRGB(0,0,0); 
  leds[6] = CRGB(0,255,0);
  leds[7] = CRGB(255,0,0);

  FastLED.show();
}

OK, hat sich erledigt, ich habe verpeilt das es RGBW NeoPixel sind… :smiley:

damit tut es:

#include <Adafruit_NeoPixel.h>
// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1:
#define LED_PIN    6

// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 6

// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_RGBW + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

    void setup() {
      strip.begin();
      strip.show(); // Initialize all pixels to 'off'
    }

void loop() {
    strip.setPixelColor(0, 255, 0, 0, 0);
    strip.setPixelColor(1, 255, 0, 0, 0);
    strip.setPixelColor(2, 255, 0, 0, 0);
    strip.setPixelColor(3, 255, 0, 0, 0);
    strip.setPixelColor(4, 255, 0, 0, 0);
    strip.setPixelColor(5, 255, 0, 0, 0);
    strip.setPixelColor(6, 255, 0, 0, 0);
    strip.show();
}

:smiley:

3 „Gefällt mir“

FastLed unterstützt von Haus aus keine RGBW Led’s. Es gibt dazu im Netz ein paar Beiträge, wie man mit einem Hack FastLed dazu überreden kann mit RGBW Leds zu arbeiten. Man muss einen kleinen zusatzscript als FastLedRGBW.h mit im Verzeichnis des Scetches speichern und als zusätzliche Bibliothek includieren. Im Scetch müssen dann auch noch ein paar Änderungen gemacht werden , dass es dann läuft. Ist aber nicht zufriedenstellend. Ich versuche seit ein paar Wochen die Fastledlibrary anzupassen, weil ich Hyperion Ambilight mit SK6812RGBW versuche ans laufen zu bringen. Bin aber bisher nicht weit gekommen. Da läuft die Adafruit Library wesentlich besser, weil sie von Haus aus RGBW unterstützt.

was für Buttons sind das denn, @Wanja ?