Introduction: Make a RGB LED Strip Controller.
In this instructable, I will show you how you can use a non-addressable RGB LED Strip according to your needs. The controller that comes with this kind of strip can only set the strip to a specific color, change brightness or show some animations. But, let's say, you want to make a music reactive RGB LED project, then this controller will be of no use and you will learn how to do that right here.
Let's get started.
Step 1: Watch the Video.
The video contains all the steps and information required for this project, have a look at it first before moving on to the next step so that you have an idea of what we are going to do.
Step 2: Gather the Components.
RGB LED Strip Amazon.in: http://amzn.to/2xiDUiu
Amazon.com: http://amzn.to/2xnrQhu
Amazon.co.uk: https://www.amazon.co.uk/Backlight-SPARKE-Waterpro...
IRFZ44N MOSFET
Amazon.in: http://amzn.to/2w7ma8k
Amazon.com: http://amzn.to/2xwg5pJ
Amazon.co.uk:https://www.amazon.co.uk/SODIAL-IRFZ44N-IRFZ44-Tra...
TC4420
Amazon.com: http://amzn.to/2wH90ym
Amazon.co.uk: https://www.amazon.co.uk/TC4420IJA-MOSFET-DRIVER-8...
Step 3: First Test.
In the circuit diagram attached, there are three MOSFETs for each of the colors. Create only one of it in the breadboard before soldering, just to be sure that it will work. After that, upload some random PWM values to Arduino and check by connecting the strip that the brightness is getting changed. Or you can also use a potentiometer to change the duty cycle of PWM output from Arduino like I did.
Check all the colors with the same circuit.
Attachments
Step 4: Solder the Components.
After that, make the circuit permanently on a piece of perforated board.
Do not use thin jumper wires as they can reduce current carrying capability. Use a 0.75 sq. mm wire least.
Also, hot glue the wires soldered for 12 Volt supply as they can break by continuous tension.
Headers: Use headers for external connection, like for strip, Arduino connection etc. You can solder the IR receiver directly into the board and also a smaller Arduino like pro mini can be soldered directly in the board, that will remove the hassle of connecting jumper wires to everything.
Refer to the images and video for more proper understanding.
Step 5: Determine the IR Codes.
To use any remote you want, you have to determine the hex code for different buttons of that remote. After that just edit the sketch with your determined hex codes of the remote.
Determining the hex codes of your IR remote:
Attachments
Step 6: Upload the Sketch.
Now, upload the sketch provided in this step.
To edit the sketch according to your needs, watch the video in which I have explained what the sketch is doing. You can also add more colors in the 2D array if you want.
To determine the RGB codes of different colors, click here: http://www.rapidtables.com/web/color/RGB_Color.htm
Attachments
Step 7: Done.
Make sure you common the grounds of the Arduino and the 12 Volt supply if you are separate power supplies for them.
If you have any questions, please comment below. I'll be happy to help.
Thanks for reading :)
9 Comments
1 year ago on Step 6
For more accurate dimming, you might considering a different mapping to account for the nonlinear perceived brightness of a PWM controlled LED. So instead of the Arduino map function, you could use an equation to calculate the actual dimming required to achieve what "looks like" a 25% dimmed LED.
Question 1 year ago
I wanted to ask if the mosfet drivers are rated for a specific volateg. I have a 24 V LED Strip and some Mosfets rated for that but have tried it with the mosfets directly but it didnt quit work. So i stumbled upon the post and yea. Can i use those tcs? thx in advance
5 years ago
This is awesome !!
Well Done, very nicely made controller !
i would like to make a home-brew PCB with your Controller/IR Receiver combo but with arduino ATMEGA328P circuitry on board too, would you be able to share the Eagle file you created the schematic for the controller please please ?
.
i will also share the completed eagle files for this all in 1 PCB in the hope of keeping everything open-source so everyone will benefit from this, we could make a joint-PCB with our efforts, this could be a great project to get involved in :)
.
what do you think ?
5 years ago
Pretty neat, butI am a bit puzzled by the use/function of the TC4420 mosfet driver, is there a reason why you do not drive the Mosfet directly from the Arduino I/O pin (via a resistor)?
The IRFZ44 Mosfet can drive some 15 Amps with a 4V gate voltage. 4 volt is no problem for the Arduino.
Not saying what you do is wrong, just trying to understand the reason
Reply 5 years ago
Hi. I totally understand your question. I'll try to clear it using the following two points:
1. Gate terminal capacitance: The output current of any microcontroller is usually very low (around 20mA), which is just perfect to drive loads with smaller capacitance in the range of picoFarads, but the gate terminal capacitance is higher than that. Although, I think, Arduino can handle it, but to ensure proper functioning, I have used it.
2. Threshold Voltage: Although threshold voltage for a typical MOSFET is around 3-5 Volts, but to turn it on properly, 8-12 Volts is required. The Arduino will work just fine if we are just turning on or off at an interval of few seconds, but here, we are talking about turning it on and off 200 times a second (PWM frequency of Arduino is approx. 200 Hertz), that's why, just to be on the safe side, I have used it.
If you want you can try without a MOSFET driver. I have used this MOSFET without driver at the output of a 555 generating 3kHz PWM signal and that woks perfectly fine. But the 555 was working on 12 Volts. If you try, let everyone know the results.
I hope I answered your question. I'll be happy to answer more, if you have any
Thanks for reading :)
Reply 5 years ago
Thanks for your detailed explanation. I already figured that it would be something like that. The IRFZ44 indeed can use a higher voltage, but it will allow a decent drain source current within the Arduino's IO capacities. I normally use logic level FET's via a small resistor, directly from an Arduino IO pin and I haven't experienced problems, but I admit that I only have done so in a small number of projects, thus my experience on that combo is limited
The TC4420 can deliver some 6 amps. That seems quite enough just to feed a gate ;-)
Anyway, great project and thanks for explaining
Reply 5 years ago
Thanks for reading :)
5 years ago
You could use this to make some really epic Halloween displays.
Reply 5 years ago
Great idea.