Hi,
I bought a generic WS2812b ARGB strip with the intention to use it inside a computer, being driven by the motherboard. Looks like this one:
Tested it and it randomly flickers and there are random artifacts and color flashes. It becomes very noticeable when the strip is set to a single color, white for example.
Thought the motherboard header/firmware has a problem, so I attached it an arduino nano with this code:
#include <FastLED.h>
#define LED_PIN 12
#define NUM_LEDS 39
#define LED_TYPE WS2812
CRGB leds[NUM_LEDS];
void setup() {
delay( 1000 ); // power-up safety delay
FastLED.addLeds<LED_TYPE, LED_PIN, RGB>(leds, NUM_LEDS);
FastLED.setBrightness( 20 );
FastLED.clear();
FastLED.show();
}
void loop(){
for (int i=0; i<NUM_LEDS; i++){
leds[i] = CRGB(255,255,255);
FastLED.show();
}
}
<CODE/>
Still the random artifacts and flickering.
Things I've tested:
1- A resistor on the data line. Values from 50 ohm to 10 Kohm
2- A 1000uf Capacitor across the 5v.
3- Powering the strip from a power supply with common ground with the nano.
4- A diode on the positive rail to lower the voltage being applied to the leds via the voltage drop of the diode.
5- Using level shifters:
a- 74HC14, 2 gates in series with all the other pins grounded and 100nF capacitor across right next to the ic's power supply.
b- 74LS14, same setup.
c- 74HC125, data to pin 2, output from pin 3, pin 1 grounded, all other gates grounded with the 100nf capacitor.
Most of the test are a combination of the above steps.
Nothings works. The strip still flickers and glitches.
What am I missing.
Thank you.
