Each LED can take up to 60mA. So simply multiply the number of LEDs you have by 0.06 and that is the current it will take in amps. So you need a power supply that can provide more than this figure.
And note that you will need to run a heavy feeder cable alongside the LED strips as the strips themselves are only capable of carrying a couple of amps each, and connect across from that feeder cable to the strips at each end of the strips and every metre or two.
It is arguably possible to choose to manage the software to only activate the LEDs at a much reduced brightness level - perhaps up to 64 (out of 256) but run the risk that if they are accidentally activated at a much higher brightness, the chain will "crash" and lock up.
Not all LEDs sold as WS2812 are equal. There are clones that are sometimes advertised as WS2812. There is some variation in the max current draw: https://www.pjrc.com/how-much-current-do-ws2812-neopixel-leds-really-use/
So you might try some measurements to check the actual current of your LEDs. I doubt they'll be over 60 mA though so that should be a safe assumption when designing your system but if they take less then you could save money by using a smaller power supply.
I have a 5v 20amp power supply with just 5 meters of 2812b and the colors fade at the end of the strip. If I loop the end of the strip back into the power adaptor the colors are normal.
So I’m about to order a 5v 60 amp power adaptor while I wait for the other 5m strip arrive in the post.
Is returning to the source of power the correct thing to do.
Yes I have found they are never fully on, there is always some pulsing of the current, you can see it on a scope.
Good to know. Is that pulsing related to the driver circuit regulating the current to the LEDs? I don't own a scope and have only done a single addressable LED project, which was for someone else. I did buy a few WS2812 a couple days ago just so I'd have some on hand to play with.
Teeth2k:
Is returning to the source of power the correct thing to do.
Did you read - and understand - my reply #3?
pert:
Good to know. Is that pulsing related to the driver circuit regulating the current to the LEDs?
Well, the brightness levels are specified as a number from 0 to 255. An 8 bit counter counts up to 256, so if it is counting up to 255, there is a break for the last count.
Well, you start by feeding power to both ends of each strip. If you then encounter "red shift" toward the middle of each strip when displaying as much white as you require, then you would need to splice the power into at least one point, evenly spaced - in the strips.
I think you can presume that these 5 metre strips are not intended to display full white along their entire length. Their purpose is more to show moving colourful patterns with perhaps 20% of the LEDs active and for that, providing power at both ends would probably suffice.
Do you require them at full brightness? If you half the brightness, you'll half the power draw. Make sure the ground of the power strip is wired to the same ground for the Arduino (this gave me problems). If you are going to run at full brightness white you will need some decent gauge wire also. How many power/ground lines are on the PSU you bought? If 3 id put 200 LEDs worth on each main. This will help in the long run for you.
I just did a similar but smaller project (440 LEDs) so I'm fresh on this project.
int ledPin1 = 8;
unsigned long previousMillis1 = 0;
unsigned long previousMillis2 = 0;
unsigned long currentMillis = millis();
long OnTime1 = 10000;
long gTime = 5000;
int ledPin1 = 8;
int ledState1 = HIGH;
int ledState2 = LOW;
const int garage = 10;
const int BOTON = 7;
int val = 0;
String voice;
}
void loop()
{ while (Serial.available())
{
delay(10);
char c = Serial.read();
voice += c;
}
val = digitalRead(BOTON);
if (val == HIGH)
{
unsigned long currentMillis = millis();
previousMillis2 = currentMillis;
digitalWrite(garage, LOW);
Serial.write ("pressed");
delay(gTime);
digitalWrite(garage, HIGH);
}
if (voice.length() > 0)
{
Serial.println(voice);
//Revisa si es momento de apagar el LED
unsigned long currentMillis = millis();
Hi everyone ,,,I'm looking for some help.this is killing meeeee...i need some help to get this code working ,,im trying to send commands via bluetooth and a button pin , but only one work at a time...i can't get the millis code together yet....can anyone help me out , i'm drowning already....
thorkon:
Do you require them at full brightness? If you half the brightness, you'll half the power draw. Make sure the ground of the power strip is wired to the same ground for the Arduino (this gave me problems). If you are going to run at full brightness white you will need some decent gauge wire also. How many power/ground lines are on the PSU you bought? If 3 id put 200 LEDs worth on each main. This will help in the long run for you.
I just did a similar but smaller project (440 LEDs) so I'm fresh on this project.