Make a RGB LED Strip Controller.

27,211

71

9

Introduction: Make a RGB LED Strip Controller.

About: Make your life more lazy and awesome by the touch of electronics. Check out awesome projects and learn how to build them easily and cheaply.

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.

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.

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:

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.

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

Be the First to Share

    Recommendations

    • Big and Small Contest

      Big and Small Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • For the Home Contest

      For the Home Contest

    9 Comments

    0
    altbelly
    altbelly

    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.

    0
    blackforestlphd
    blackforestlphd

    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

    0
    offtherails2010
    offtherails2010

    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 ?

    0
    diy_bloke
    diy_bloke

    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

    0
    Tesalex
    Tesalex

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

    0
    diy_bloke
    diy_bloke

    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

    0
    Tesalex
    Tesalex

    Reply 5 years ago

    Thanks for reading :)

    0
    DIY Hacks and How Tos

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

    0
    Tesalex
    Tesalex

    Reply 5 years ago

    Great idea.