Go Down

Topic: Need Help with Wiring RGB LED strips to an arduino and pca9685 (Read 866 times) previous topic - next topic

Brettr12321

 Hello i am a highschool student who is new to electronics and using arduinos. i have a school project where i need to program 3 different rgb led strips to different colors. I am having a hard time wiring the three LED strips to the pca9685 because the only information i was able to find was how to use it with servos. If someone could help by explaining where each wire goes or providing a wiring diagram i would gladly appreciate it. Im more worried about the wiring then the code at this moment. thank you to anyone that could help.

wvmarle

The pca9685 is a servo driver.

What makes you think it can be used to drive LEDs instead?
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

Brettr12321

I googled how to control multiple led strips with one arduino and in the forum the guy said he used the servo driver. I'm sorry if I sound really dumb right now but I'm just trying to figure out how to control 3 rgb led strips with one arduino uno. If you have any advice I would appreciate t thank you for your fast reply

wvmarle

Depends on the exact RGB strips and the amount of control you want to get out of them.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

Nishant_Sood

A quick google search pointed to this >> https://www.nxp.com/products/analog/interfaces/ic-bus/ic-led-controllers/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685 Datasheet and clearly shows this IC is for LED controllers.

I think you should share the Datasheet to the LED strips or atleast the link, because to me, it looks like the reason you were suggested the i2C port expander like chip to control the LEDs is because the strip is just LEDs standalone and nothing like a WS2801 Chip driver to control the RGB pinouts on each of those RGB leds on board the strip!
"Real Men can Accomplish  Anything"

- skype : nishants5  
ਫ਼ਤੇਹ ਕਰੁਂ!
www.winacro.com

wvmarle

It's basically a programmable PWM chip, with 10 mA source/25 mA sink capabilities per channel.

So indeed it could be used to control LEDs, but it's limited to one LED per channel. For anything more than that (like an LED strip) you have to add an external power driver to it.

Note that the description in your link (clickable makes it a lot easier to follow) calls it an "LED Controller" rather than "LED driver".
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

Brettr12321

The RGB LED strips i have are the analog neo pixel led strips from adafruit. I need to have three led strips each being a meter long and be able to change the color of each strip individually. i realize now that i should have bought digital rgb strips but its too late now. i just need to know if its possible to control 3 led strips each being a meter long individually with the led controller. if not im probably just going to have to buy digital strips.

wvmarle

That controller seems to be perfectly capable of producing a PWM output to control the LED drivers, so what's missing is that driver. Preferably a constant current driver. You need one for each colour (so three per strip).

A quick look at Adafruit's web site turned up lots of Neopixel branded strips. Please provide link to the actual one you have.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

Nishant_Sood

Note that the description in your link (clickable makes it a lot easier to follow) calls it an "LED Controller" rather than "LED driver".
Yes off-course the "controller" is used to "drive" so ya basically its not an "Servo" driver particularly!

each of the chip is used to be muliplied as the channels needed are incremented.

External driver's like fet etc is needed only if the each channel's output is not able to source the current needed, so that's why in particular I asked the OP for the datasheet or atleast a link to the strip.
"Real Men can Accomplish  Anything"

- skype : nishants5  
ਫ਼ਤੇਹ ਕਰੁਂ!
www.winacro.com

PaulMurrayCbr

The RGB LED strips i have are the analog neo pixel led strips from adafruit. I need to have three led strips each being a meter long and be able to change the color of each strip individually. i realize now that i should have bought digital rgb strips but its too late now. i just need to know if its possible to control 3 led strips each being a meter long individually with the led controller. if not im probably just going to have to buy digital strips.
Neopixels that are analog???  Huh: I guess so.

If you want to controll all four channels, then you need 12 PWM outputs. An arduino UNO has 6. hence the need for this pca9685 thingy.

The SCL and SDA connections tell me that this thing is an I2C board, which is great. The LED strips are common-anode. You apply +5v to the common, then either connect each led wire to one of the PWM outputs of the pca9685 (which will reverse the brightness you get), or (better) hook up a driver chip like the ULN2003A (you'll need 2). The ULN2003A outputs are grounded when the input is high, which is what you want, and they will easily handle the power.

The problem then becomes: how do you talk to the pca9685? Well, you install the adafruit pca9685 library, and look at the examples.

Personally, I'd install the library, connect the SDA and SCL of the pca9685 to the appropriate pins (I think it's A4 and A5 on the UNO, and don't forget ground and power), spark up one of the examples, and just stick an LED (with a current-limiting resistor!) on a couple of the PWM output pins.

Once you can drive an LED, it's time to connect the 12 pca9685 outputs (3*RGBW) to the inputs of a ULN2003A (you'll need 2 - they have seven channels each). Attach an LED between +5v and the ULN2003A output to confirm it all still works. Finally, attach the real RGB strips to power and the ULN2003A. Wiring it up is simpler than using it to drive solenoids because you don't need to worry about flyback. All you really need is power, ground, and the inputs. You can have a separate power supply for the LED strips if you want, provided that all the grounds are connected.

From that point, it's a matter of programming up what colours you want.
http://paulmurraycbr.github.io/ArduinoTheOOWay.html

Go Up