APA102 turning orange

Bonjour,

I tried to make an APA102 arduino based ambilight like, but got some issue.
First, to correctly calibrate the strip, i tried the RGBCalibrate sample file (FastLed) and i figured out that the
strip is configured to “BGR” color sort.
Then i uploaded Ambibox sketch, configured the Ambibox software…
The strip is correctly working EXPECT if there is too much white, then the color turn to hot white then orange. I tried to figure out this problem and made a simple sketch to verify the led power consumption, then I filmed it : “20171125 195058 1 - YouTube
I knew that this was a voltage problem because i measured the output voltage and it was around 2.00V. The thing is, i changed the psu to one more powerfull and choosed an 5V3A. The colors are the same.

I have 36 leds of APA102 (30led/meter) powered by 5V.
First, it was an simple USB port as power support (Around 1.3A) and then an AC adaptor (3A)

This is the test code :

#include "FastLED.h"

#define NUM_LEDS 36
#define DATA_PIN 6
#define CLOCK_PIN 8

CRGB leds[NUM_LEDS];

void setup() {
   	delay(2000);
      FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, BGR, DATA_RATE_MHZ(12)>(leds, NUM_LEDS);
}

void loop() {
   for(int i = 0; i < 36; i++) {
    leds[i] = CRGB(255,255,255);
    FastLED.show();
    delay(1000);
   }
}

if you think you have a power issue you can set a power limit in setup()

set_max_power_in_volts_and_milliamps(5, 1500);

to set 5volts 1.5 amps, and the library will try and
limit the power to about 7.5 watts.

Doesn't work :frowning:

tomdalton:
Doesn’t work :frowning:

You are gong to have to do better than that. Please read How to use this forum it will tell you how to respond.

Okay, so.
I tried this :
#include “FastLED.h”

#define NUM_LEDS 36
#define DATA_PIN 6
#define CLOCK_PIN 8

CRGB leds[NUM_LEDS];

void setup() {
delay(2000);
FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, BGR, DATA_RATE_MHZ(12)>(leds, NUM_LEDS);
set_max_power_in_volts_and_milliamps(5, 1500);
}

void loop() {
for(int i = 0; i < 36; i++) {
leds = CRGB(255,255,255);

  • FastLED.show();*
  • delay(1000);*
  • }*
    }

You need to inject power about every 250 leds.

I see you are only use 36 leds. What size wire are you using to power the strip? Have you verified the voltage comming out of the power adapter?

It looks like this line is your problem:-

set_max_power_in_volts_and_milliamps(5, 1500);

To fully light up 36 LEDs you need 0.06 * 36 = 2.16 Amps, as you have told the software that you only have 1500mA available, I imagine the software is trying to reduce the values fed into the later LEDs. Hence your white lights look a little yellow.

Try turning down the brightness on all the LEDs by using this:-

leds = CRGB(176,176,176);

That way all the LEDs should be the same brightness. If not cut down the 176 a bit further, say 128.

It won’t make the lights orange, it just lowers the maximum brightness. So it would lower the red, green, and blue proportionately so the lights would still look white.

So it would lower the red, green, and blue proportionately so the lights would still look white.

That is what it is supposed to do but my bet is it’s not. Keeping colour consistency while changing brightness is not as easy as theory suggests and perception of colour is dependent on a lot of factors. As this optical illusion will show. Squares A & B are the same colour.

illusion.png

It works pretty good; it wont turn the strips orange.

Lets see what the op says.

See the cube illusion from this http://www.bbc.co.uk/news/magazine-11553099

He also didn't have that line in the OP :slight_smile:

Sounds to me like you're trying to draw more current than your supply can handle. I suspect if you told it to turn the LEDs on with like 180,180,180 it would come out looking white;

IMO, you should just use a beefier power supply. 2.5-3A @ 5v isn't anything special.

Hey Everyone,

I'm sorry for being away from the forum and I thank you for answers.
I tried with a lab power supply with 2A, 3A, 4A and 5A.
It doesn't change anything, the led is still turning to orange/yellow.
So the problem is not a power limitation.

I might be scammed from chinese providers and maybe they sent me a fake version of APA102.
I heard that a lot of shop sell SK9822 as APA102.
Therefore, I tried to declare the strip as SK9822 in fastdl setup but the problem was still here.

Therefore, I tried to declare the strip as SK9822 in fastdl setup but the problem was still here.

Why would think that changing the timing would have any effect?

Many Far East LEDs come from the reject skip and one reason for rejecting an LED is that the brightness of one of the components is out of specification.