Introduction: Make a RGB LED Strip Controller.

Picture of 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.

Picture of Gather the Components.

Step 3: First Test.

Picture of 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.

Step 4: Solder the Components.

Picture of 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.

Picture of 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:

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

Step 7: Done.

Picture of 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 :)

Comments

diy_bloke (author)2017-10-04

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

Tesalex (author)diy_bloke2017-10-04

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 :)

diy_bloke (author)Tesalex2017-10-05

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

Tesalex (author)diy_bloke2017-10-05

Thanks for reading :)

DIY Hacks and How Tos (author)2017-09-21

You could use this to make some really epic Halloween displays.

Great idea.

About This Instructable

1,754views

41favorites

License:

Bio: Make your life more lazy and awesome by the touch of electronics. Check out awesome project videos and learn how to build them easily and ... More »
More by Tesalex:Add Bluetooth to Your Helmet (Call and Music)Make a RGB LED Strip Controller.DIY Beautiful Night Lamp
Add instructable to: