Hey folks, sorry if this is the wrong place to ask, or if this is a super obvious question. I'm relatively new to this.
I recently bought a WS2812B LED strip with around 300 LEDs, and when I set its color to plain white, it got white at the start of it but as it goes on it became more and more orange ish.
#include <FastLED.h>
#define NUM_LEDS 300
#define LED_PIN 4
void updateLed() {
FastLED.showColor(CRGB(255,255,255));
}
void setup() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
FastLED.addLeds<WS2812B, LED_PIN, GRB>(nullptr, NUM_LEDS).setCorrection(TypicalLEDStrip);
}
void loop() {
updateLed();
delay(10000);
}
I connected the strip and the arduino to a 5v 10a power supply, and i put a 450 ohm resistor between the D4 pin and the strip's data pin. I never connected the arduino to my laptop and the power supply at the same time, or powered the led from my laptop's usb cable.
Also, what's weird is that when i measured the voltage at the start, it was 5.03v and it gets down to 2.51v at the end, without any modification that I did to it. I think it drops because it runs on max load, but I'm not sure because I don't know that much about math in electricity. I'm puzzled why does its still operative, though. The datasheet says the lowest operating voltage is 4.5v or something and if I power it with only 4v it wouldn't work.
I also tried setting different correction levels with FastLED, but I dont think it has anything to do with this issue? I glanced through the documentation and it doesn't mention about the issue I'm having. I was still able to guesstimate that it gets the most white if i set it to 0x6035ff, but it distorts it like crazy if i want to display any other color than white.
Did anyone else have this issue when using a WS2812B or other kind of RGBA led? Or knows something about why this is happening here.