Hello,
I've got a WS2811 LED strip (the one with 3 LEDs per chip) and am driving it with an arduino nano clone. I have downloaded the FastLED library and have uploaded the test program. The strip and the nano is being powered by a 12V 6.3A PSU. I have a 330ohm resistor between the data line and pin 5 and a 470uF capacitor between the GND and 12V. The 12V from the PSU drives the 12V on the strip and the Vin on the nano, likewise the GND goes to GND on the strip and nano.
When I power it up the LEDs turn on a brightish white but then stay like that. No flashy flashy, just white on all LEDs.
I have tried using other arduinos; a mega, an uno and another nano, all the same problem. I have tried using a brand new strip, same. I have tried changing the LEDs in the strip, same. I have tried without the resistor and capacitor, still white. I have tried uploading a different code that I used in the past for another project with another strip of WS2811s and a nano, which worked just fine on those, but not here. I have tried different codes in the library, the simple blink one, still white. I have run test programs (example blink). I have tried using a different power supply, you guessed it.
Basically I'm all out of ideas.
This code is what is on it now, mainly because it's simple:
#include "FastLED.h"
// How many leds in your strip?
#define NUM_LEDS 10
// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 5
#define CLOCK_PIN 13
// Define the array of leds
CRGB leds[NUM_LEDS];
void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
// FastLED.addLeds<APA104, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
// FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}
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);
}
If you're wondering what the white thing is, it's a 3D printed clampy thing that protects the solder joints and clamps the strip and wire in place to avoid it breaking. I've tried powering a normal strip straight out the bag to the same avail so I don't think it's the culprit.
If anyone has a clue as to what's going on please help, feel free to ask for more info if needed.