Hey guys, I'm brand new to the Arduino community but I've already got one somewhat ambitious project in mind. I'd like to use the Arduino to control two 5 meter (joined together to make one 10 meter) rgb led flexible light strip as seen here: http://tinyurl.com/23f762c.
What I would like it to do is for me to able to:
- custom select a color for the light strip (on the computer)
- Do random sweeps through a preset color range
- Change colors based on cues from music
- “Pulse” in response to music cues.
I've been doing research/lurking about nonstop for the last two weeks or so, going through forums and tutorials. I think that I've got a decent enough handle on the basics of the first three. I plan on connecting three PWM outputs to transistors and then the R,G,B inputs on the light strips as in this image from a tutorial:
RGB LED strip tutorial (Tutorial)
http://tinyurl.com/29649b6 (Specific Image, ignore black wire from 9V to Strip)
As for the 12 V DC power needed for the black cable of the LED strip, I bought a 12 V DC 6 Amp wall charger. I plan on plugging this into the LED controller that shipped with the LED strips. And then use a female to male wire to connect only the power wire to the LED strips (allowing the Arduino to control the colors).
Links to Images that give you a better idea of what I'm connecting:
http://bayimg.com/gACKJAADg (wall to LED controller)
http://bayimg.com/hACkEAadG (male pins of LED controller, of which I am planning on only connecting the 12 V power one to the female pins of the strip)
Questions so far would include:
- Can I do this with the wall charger and the LED controller or should I simply separate the + and – of the Charger and plug them directly into the Strip and Ground? (Not sure how I would do this with the charger output jack)
- Is the 12 V, 6 Amp wall charger enough to power the entire 10 M strip?*
- What kind of Mosfet transistors are strong enough for the job of changing the colors of the 10M strip?*
- Are there any other precautions I should take (more resistors and whatnot)?*
I'm more of a software guy, so I already have a good idea on how to go about creating a Processing program to be able to choose between the different modes (the 4 mentioned above) and, in addition, choose a specific color from a palette and send the data to the Arduino.*
For the response to music portion I plan on using the Beat detection in the Minim library of Processing and then passing on this information to the Arduino.*
My final questions are:*
- How can I change the overall brightness (not the color) of the LED strip in response to the music beat?
- *- Could I do this by somehow modulating the input 12V DC coming into the RGB LED strip, perhaps by using a relay or transistor of some sort that interfaces with the wall charger?**
- *- Or is there some better way to do this that doesn't involve the LED strip input power?**
- *Just want to make sure I'm going about it the right way before I do something stupid and fry my brand new arduino or the RGB LED strip. I'd appreciate any answers to the questions (especially methodology on how to find the answers) or information on things that I might have overlooked.**
Can I do this with the wall charger and the LED controller or should I simply separate the + and – of the Charger and plug them directly into the Strip and Ground? (Not sure how I would do this with the charger output jack)
you seperate the supply to arduino and led strip, u still use the same power supply for both, but you draw + and - seperate. Because the high current could fry arduino gnd lines if you use gnd from arduino. I hope thats enought understandable.
Is the 12 V, 6 Amp wall charger enough to power the entire 10 M strip?
Practicaly depends on the quality of the charger.
Considering that it would use a bit more then 6 amps only if all or almost all leds would shine white.
I guess u could prevent that in code.
Are there any other precautions I should take (more resistors and whatnot)?
Fets or transistor considering which 1 ull take, will need heat dispation.
And its recomended power supply wires to be 1mm(square) thick.
How can I change the overall brightness (not the color) of the LED strip in response to the music beat?
Didnt do anything like that yet, maybe try searching a bit for using arduino with microphone?
Or maybe it could be done using Comparator and if the value of sound signal is higher it gives a +5 signal to an digital input.
If that would work, u could do more Comparators and change intensity of light for diffrent lvls.
Could I do this by somehow modulating the input 12V DC coming into the RGB LED strip, perhaps by using a relay or transistor of some sort that interfaces with the wall charger?
Could be easily done by lowering pwm values of all colours for certain amount or same amount?
Some testing would be required. :-/
What kind of Mosfet transistors are strong enough for the job of changing the colors of the 10M strip?
Firstly I can't find any useful data on that strip - is it common anode? If not its going to be more complex to interface.
The basic design process for using FETs is to work out the maximum current they will conduct, decide how much power you can afford to dissipate in them and deduce the max Ron you can tolerate. Check the device can handle the voltage, handle the current (normally not an issue if you've chosen a suitable Ron), and has logic-level gate. If you don't want to use a heat sink keep the dissipation low (less than 0.5W perhaps).
The simpler way is go with ultra-low Ron devices from the start, 0.01 ohm or less, and they'll handle over 5 amps each no sweat, no heatsink (30 amps or more with a good heatsink!).
Avoid the trap of using very old devices like the IRF510/IRF610 which have, frankly, pathetic specs compared to modern devices and will waste power and need heatsinking.
In general don't choose a device with a voltage rating way higher than you need - the Ron will be higher than a more suitable device. Go for a voltage rating at least twice your supply though.
For TO220 packages there are lots of devices aimed at the automotive market with 60 or 75V rating and ultra-low Ron - just be sure its a logic-level gate (Ron is specified for Vgs of 4.5V, not just 10V)
There's easier ways... do you HAVE to use those LED strips?? or will any RGB strips do the trick??
If you want to use separate individual RGB LEDs... you can buy these:
They're out of stock right now, but they should restock soon, or find them at Costco, or Sears, or elsewhere...
Cut the middle line, plug that to one digital input of the Arduino, then google "arduino G35" and you'll find example codes to controlling them, very simple to control. I've successfully control 4 strands (that's 200) indivually addressable RGB LED... you can change the color of EACH bulb... but you can do them all as a whole strand as well. No transistor or resistor... just use the original power brick that came with it 3A 5V...
here's a sample video of me controlling one strand... I know I didn't do different color... but they're RGB, I just haven't gotten around to testing other stuff at the time of this video...
Here is a great n-channel logic level mosfet for controlling higher voltage/current loads then the arduino output pins can handle directly. Being a logic level mosfet it can be directly wired to an arduino output pin.
Thank you guys for all the input. To respond to some of your questions, I do indeed have to use those types of strips, mostly because I already bought them. I have also used the 6 amp charger and it worked pretty well so that's all settled.
I saw the N-channel Mosfet recommended on another tutorial before so I think that I'll use that one, thanks Lefty.
As for modulating the brightness, I think I'll leave the voltage alone and just pick brighter and duller versions of the same color and thus leave the input voltage alone.
Now I just need to figure out how to use the Minim library in Processing...
If you're set on using those... that's fine.
Here's what I would probably do:
Using some power fets, the kind I have use 5+ signal straight from the Arduino, but has to share ground with the strips. If the strips uses 12v, then I would use a 7805 to regulate 5v+ for the Arduino, so that it share the same power source as the lights. Then put the lights on PWM pins on the arduino, I think it should be able to dim or change color of the LED by using PWM... I'm not 100% sure on this last part though. I know it work with my RGB LEDs, but I haven't tried it with a FET to make sure it is capable of switching that quickly...
As for music............ here's something:
Look up the MSGEQ7 chip, they're available on Sparkfun... but they're out of stock right now. You'll have to source it somewhere else. There's tutorial on how to get it working with Arduino already on here.