Please post photos here on the forum, not on a 3rd party site.
But once I got past all the annoying pop-ups and ads, I saw a photo of LEDs with colour (255, 160, 140), not (255, 160, 40). The second photo showed (255, 255, 255) not (255, 225, 225) or (255, 255, 25). So now I'm confused about what colour you want and what colour those photos were supposed to show.
I just ordered an SK6812 WWA at the suggestion on another commenter which would have 3 channels of white. Are there just single color warm white LED strips that are addressable? I also tried the SK6812 RGBW but then realize because it has 4 channels, its not really supported in FastLED.
Thanks, I didn't initially see a photo option. Just realized that its the little arrow button (I was expecting a photo icon). This is my very first time using the forum.
And sorry again for the typos. It should be (255, 160, 40) vs (255, 255, 255).
Thanks, yes, I knew that was the problem, I just didn't know if there was a better way to 'dim' with how these LEDs function. I am brand new to coding LEDs. I will look into the dimmer values that you mentioned.
// Adjust the brightness of the color by scaling RGB values
dimColor.r = (dimColor.r * brightness) / 255;
dimColor.g = (dimColor.g * brightness) / 255;
dimColor.b = (dimColor.b * brightness) / 255;
What happens is that each component (r, g, b) gets truncated to the next lowest integer value.
For example, if brightness was 5, then (255, 160, 40) would ideally become (5.00, 3.14, 0.78) but due to truncation it will be (5, 3, 0), which will look yellow.
If you were to round to nearest, instead of truncate:
// Adjust the brightness of the color by scaling RGB values
dimColor.r = (dimColor.r * brightness + 128) / 255;
dimColor.g = (dimColor.g * brightness + 128) / 255;
dimColor.b = (dimColor.b * brightness + 128) / 255;
then (255, 160, 40) would become (5, 3, 1) which should look a little more white.
I think you are looking at the effects of the 8-bits-per-channel hardware limitation of WS2812.
I can think of a couple of ideas that might help without changing the LEDs.
You are updating the strip once every 30ms during the fading. I estimate the strip could be updated maybe 4 or 5 times every 30ms. This could be used to, in effect, increase the 8 bits per channel to 10. However, there is a danger this might cause some visible flickering.
You could group neighbouring pairs of LEDs, or groups of 3 or 4 LEDs, together and set them to slightly different colours. The groups of LEDs would effectively have more than 8 bits per channel. But with this method also, it might be possible to see the variation in colour between the adjacent LEDs, especially at close range.
I ended up going with the SK6812 WWA. My exact code from using the WS2812B works fine, and now the colors are much more true. There were definitely some helpful ideas here otherwise but nothing really solved the issue. The colors would 'correct' but then would be too green, too blue, or too yellow/red. It sucked to have to rip everything apart and resolder all my wires but overall it was the right way to go. Thanks so much for letting me know about those LEDs! I knew about the SK6812 RGBW strip, but wasnt getting that to work properly with FastLED even with some of the 'hacks' available. SK6812 WWA is the way to go!
Yep. There is no way to make pleasant white with RGB LED. If you look at the natural white spectrum and compare it to RGB "white" spectrum, it's quite different.
Not even to talk about color rendering index....