Instructables

A remote controlled power RGB LED mood light.

Featured
encased.jpg
The_set.jpg
Control the colour of a powerful LED light beam with a remote control, store the colours and recall them at will.

With this thing I can control the colour of a bright light into many different colours using the three fundamentals colours : red green and blue. Adding them toghether with different intensity can yeld very great a range of colours from the visible spectrum.
Specifically my mood lamp can shift colours through 32 intensity values for each RGB colour giving
32*32*32 = 32768 different combinations of hue, intensity and brightness. It can also store 10 different combinations can be turned on or off, all of these through a TV remote control.
The intensity of each red, green and blue component is done via PWM so heat dissipation is kept to a minimum.

The circuit is simple and there are no pushbuttons as control is done entirely through the remote control.
I use this circuit to light a flower vase. The flat case of the box I chose does a good job at balancing the vase.
The pictures provide some ideas.
One day I am possibly buying one of those glass cubes with LASER created 3D shapes inside to go with the lamp. For now glass vases are just fine.

UPDATE : I uploaded V1.1 where at power up the micro outputs the values from memory number 0. Just make sure you store your power up colour in memory number 0 and at power up it will show up. If you'd rather go for lights off, just store all blanks in memory numer 0.
Ciao

Hey I'm on the best of Instructables book !
 
Remove these adsRemove these ads by Signing Up
skappy5 years ago
Hi 5Volt, i'm tryling to replicate your circuit but i encounter some difficulties. May i ask you what kind of setting have you choose for programming the PIC with WinPic? Is there someting special to do ? I've checked and rechecked the circuit, finding nothing ... The programmation of the pic seems to be ok but .... i'm tseting the output port of the pic with oscillo but nothing appears and the led never switch on when activating the remote. Could you help please ? Thank you very much
5Volt (author)  skappy5 years ago
Ciao Skappy, please run the checks listed in the comments below. The settings for the programmer I have to check on my original documents. Can't do that right now as I'm away on business for a few days. 5.
im constructing a remote controlled car now im researching on that now on net i would like to gat suggestions i used a DC motor for that remote controller is what confuses me
nooooooooooo all of our jobs are being exported to india noooooooooooo!!!!! lol
im about 2 join electronics engineering in SRM University in INDIA
well i like ur project and i would like to adopt ur technique but can we improve it a bit frm that TV remote and reciever to something more compact and focused
u may mail me shyamasramom@gmail.com
5Volt (author) 7 years ago
As a Valentine's day project, you can use this as lighting for vases, crystal or glass objects or simply give a dim light of the colour you like (or she likes...). Ciao
like the color of her favorite eyeliner (black) or the color of her favorite little thong :)
cila21 5Volt6 years ago
Can you please tell me which is the central frequency of IR sensor you are using and where can I buy it? Because I am trying with some other sensor with frequency 36Khz and the thing doesn't work.
5Volt (author)  cila216 years ago
Frequency doesn't really matter as long as receiver and remote share the same frequency. If you are unsure, just put an LED at the output of the IR receiver (a scope would be better) via a transistor. A loudspeker of earphone should be fine also. If the LED blinks somehow or the speaker "cracks" when you push a button on the remote then the receiver is fine whith the remote control. Are you sure the remote is an RC5 compatible ? All issues from readers whom made the circuit arise from the remote not being so. Ciao
cila21 5Volt6 years ago
I've found out the problem I had, the problem was my very bad power supply, which contained to much Voltage ripple and PIC didn't work as it should. Can you tell me how did you calculate the values of the resistors that you add to colector and base of transistor, because I would like to make a new circuit for Nichia 0,5W LEDs which current is 150mA and the next step is RGB driver with 30W capability
5Volt (author)  cila216 years ago
Do you have a manufacturer's part number or, better, a datasheet ? That's because we need to know current and voltage at the LEDs and the max recommended voltage/current values. Wow ! 30W looks a very tough LED strip...
cila21 5Volt6 years ago
I just need to know with which data you used to calculate values of resistors for your project. Base current, Voltage drop on tranzistors C-E. I would like to calculate all the values by myself, not to bother anybody. I sugest that we go on private: my e-mail:acilen@gmail.com With that power I meant on all three channels together. I will use Nichia Power LED series NFS_036_ , blue, red and green, their forward current is 150mA all color models, forward voltage depends on color model. Power supply would be 12V. I would drive 3 LEDs in series. And this series of LEDs in parallel. So, if I would like to drive 18 LEDs on a channel, I would need 900mA of current. Also I'm thinking that NMOS would be better idea for my case, because of the voltage drops on tranzistor.
5Volt (author)  cila216 years ago
I searched the Internet for what might be your LED. It appears as 150mA be the Absolute Maximum rating which is never recommended to meet. Your choice, but doing so would shorten dramatically the lifespan of expensive
LEDs. If I'm on the correct LED, 120mA is shown as the operational current for red LED at Vf = 2.2V (typical).
Translation: if you are driving the LED with a current of 120mA you'll measure 2.2V (typical) between Anode and Cathode.
So, what resistor is needed to cause a voltage drop from 12Vdc (your supply of choice) ? It is (12 - 2.2)V / 0.12A = 81.7 Ohm (considering a 5% precision resistor a 82 Ohm resistor should do ).
As you are connecting 3 LEDs in series the current stays the same and the equation becomes (12 - 2.2 x 3 )V / 0.12A = 45 Ohm (47 Ohm should do).
Blue and green have higher Anode-Cathode Voltage, in order of 3.3V so each of the three (R, G, B) chain have a different LED resistor.
The power rating of the resistor must be larger then R*I*I = 45*0.12*0.12 = 0.648 W so a 1W resistor should do.
0.9A is not much a current for a medium power transistor as a TIP120 which happens to be a Darlington transistor with a DC gain of 1000.
This means (on the average) that to have 1000mA flow across the collector a current of 1000 (current) / 1000 (DC gain) = 1mA is necessary to flow at the BE junction. 5 or 10 mA and you're OK. At 1 A I'd still consider junction transistor like the one above.
The base resistor I calculate as the LED resistor : to have 10mA flow across Base Emitter junction I do (5 - 0.7)V / 0.01A = 430 Ohm (470 Ohm will do) where 0.7V is the voltage drop at Base-Emitter junction.
For MOSFET transistor the LED resistor calculation remain the same. The base resistor I'd keep the same as well...
At the slow switching frequency of the microprocessor output I set, MOSFETs should be fine.
As always when working on expensive power devices try these resistor values on one (or three) LED first.
Hope this helps
cila21 5Volt6 years ago
First I would like to thank you very much for your time and explanation. Of course I wll test first the proper values of resistors and measure the forward current thru LEDs. But I don't see anywhere where did you consider voltage drop on Collecter-emitter of transistor, because even when npn or pnp transistor is opened(saturation mode) it still keeps some voltage drops(saturation voltage) and for TIP120 the saturation voltage is 2~4V. On MOSfets is much lower voltage drop on drain-source(low Rdson).
5Volt (author)  cila216 years ago
Oh yes, correct : Vce(sat) is not zero but is lower than 2~4V though, as these values are @ Ic 3A and 5A. The curves say that at Ic = 1A it should be something like 0.8V and equation above to evaluate the series resistance becomes (12 - 0.8 - 2.2 x 3 )V / 0.12A = 38 Ohm (39 Ohm should do).
Power rating for the resistors remains the same as base resistors values.
You're right : for lower Ron (and thus a better match among currents) MOSFETs are necessary. In this case the 0.8V value above can be safely removed from the equation.

Don't forget to post photos !
Ciao and thank you
Zeca6 years ago
Hi I´m new in this area. I tried to write the hex code into the PIC (PICKit2) but when I try to read the code into the pic appears empty. Is that correct? I ask because my electronic doesn’t working, yet. I try to recompile the hex with the MPLab DE V8.0 but appears lot of errors: Clean: Deleting intermediary and output files. Clean: Done. Executing: "C:\Arquivos de programas\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F627A "Rainbow main v1_0.asm" /l"Rainbow main v1_0.lst" /e"Rainbow main v1_0.err" /o"Rainbow main v1_0.o" Message[305] C:\RAINBOW MAIN V1_0.ASM 251 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 255 : Using default destination of 1 (file). Error[151] C:\RAINBOW MAIN V1_0.ASM 279 : Operand contains unresolvable labels or is too complex Message[305] C:\RAINBOW MAIN V1_0.ASM 287 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 296 : Using default destination of 1 (file). Error[151] C:\RAINBOW MAIN V1_0.ASM 306 : Operand contains unresolvable labels or is too complex Message[305] C:\RAINBOW MAIN V1_0.ASM 332 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 333 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 336 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 346 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 347 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 350 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 365 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 398 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 402 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 419 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 423 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 440 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 444 : Using default destination of 1 (file). Message[302] C:\RAINBOW MAIN V1_0.ASM 462 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 465 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 468 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 470 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 483 : Register in operand not in bank 0. Ensure that bank bits are correct. Error[151] C:\RAINBOW MAIN V1_0.ASM 517 : Operand contains unresolvable labels or is too complex Message[305] C:\RAINBOW MAIN V1_0.ASM 543 : Using default destination of 1 (file). Message[305] C:\RAINBOW MAIN V1_0.ASM 546 : Using default destination of 1 (file). Message[302] C:\RAINBOW MAIN V1_0.ASM 555 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 557 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 559 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 561 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 563 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 564 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 570 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 571 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 579 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 580 : Register in operand not in bank 0. Ensure that bank bits are correct. Message[302] C:\RAINBOW MAIN V1_0.ASM 581 : Register in operand not in bank 0. Ensure that bank bits are correct. Error[151] C:\RAINBOW MAIN V1_0.ASM 586 : Operand contains unresolvable labels or is too complex Halting build on first failure as requested. BUILD FAILED: Wed Apr 02 18:01:46 2008 May you help me? Thanks Zeca - Brazil
tomy6 years ago
hi, I have built this lamp and works great. I'll try to modyfy code , because I want to add fourth channell for amber led dimming {buttons 8 and 0}.When it will be done, I make some photos and post here. best regards tomy
5Volt (author)  tomy6 years ago
Thank for sharing. Please do post photos !
tomy 5Volt6 years ago
Hi 5volt, here some pictures of my "demo". Transistors are Nmos. Maybe will be great to add some random colors changing. It's easy for you, I think ... Can you make some like that? wbr tomy
tomy tomy6 years ago
And pics...
DSC00062.JPGDSC00060a.jpgDSC00063.JPGDSC00061.JPG
cila21 tomy6 years ago
Hi, Tomy: Can you tell me some more about circuit you made with NMOS, maybe some schematic and formulas you used to calculate the values of resistors?
tomy cila216 years ago
Hi, I have used industrial rgb strips with integrated resistors. N-MOS are IRF520, connected to controller via 100R resistor.Drain and source are connected like bipolar transistors.
5Volt (author)  tomy6 years ago
Whoa! Nicely done. NMOS are fine and it showns. Random colours should be doable but I don't have much spare time to spend with my projects and I'm currently working on something different... Congratulations Best regards 5Volt
tomy 5Volt6 years ago
Thank You! If You find some spare time, try make this feature because it's only one think what's missing in Your wonderfull project !!! wbr tomy
tomy6 years ago
Hi 5Volt, Can you give tip for beginner how to add color fading function?There is some free buttons on the remote controller. Thanks Tomy
5Volt (author)  tomy6 years ago
Ciao tomy. This is a common request I receive via pm. I'm curently working on something different and I consider this one a closed project. I'm working on something related you might read soon here and on my website. As they say : "stay tuned" then ! Ciao e grazie
tomy 5Volt6 years ago
OK, Can you tell more about your new project???It must be some great again, because this rc controlled rgb lamp is great!!! WBR Tomy
thedocH2O6 years ago
this is nice!! good ideas!!!
hostein6 years ago
and the RC! ;)
N-Mood (RC).JPG
hostein6 years ago
hi!!!!!!!!!! here is my RC mood light in pictures!!!!
N-Mood (1).JPGN-Mood (2).JPGN-Mood (3).JPGN-Mood (4).JPGN-Mood (5).JPGN-Mood (6).JPGN-Mood (7).JPG
5Volt (author)  hostein6 years ago
Cool ! Really good setup. Good job. Thanks for posting your pictures. 5Volt
This is so great - it seems perfect to light up an old style aluminum christmas tree or some other metallic thing like that. I'm putting this parts on my list things to start rounding up, I really should give it a try. Beautiful!
rrkarlo6 years ago
Hi, great project. Well, I have some question: First, in circuit I change transistors with npn bc337 and PIC 16F627 (without A) and everything work ok exept remote. I try to use pilot remote and settings for philips TV. When I check code in the grider (program for remote pc control) all remote code is exactly the one described in the PIC code but when I press key 4 on remote, lamp turn off and on (just like power button). I found one more key on remote with same function like power and key 4 (power on-off have 300C, key 4 have 3004 and third button have 302C). Also, p+, p-, v+ and v- don't work like described. Any suggestion?
5Volt (author)  rrkarlo6 years ago
The fact that the circuit turns on/off with different buttons suggests that it could be a matter of timing tolerance (crystal's and/or remote control's). The zip file now contains two more asm and hex files you might want to try. These have a +5% and -5% in remote control timing to try and accommodate for this tolerance (just guessing a 5%, though !). The changes are done to the wait1778 timing routine. If this doesn't work try and modify these values yourself and recompile with MPLAB from microchip (free). Please come back on this. Ciao
rrkarlo 5Volt6 years ago
Thanks 5Volt to fast reply. Ok, I will try to with new hex files. If success I will inform you fast, if not I will try to change wait wait1778 routine wih new timing value. One more time, BIG THANKS.
rrkarlo rrkarlo6 years ago
Well, this is result of few combination: 1) load new +5% hex on to PIC - pilot remote d'not work at all 2) load new -5% hex on to PIC - pilot don't work at all 3) change remote - everything WORK PERFECT!!! TO DO: I will change source code to work with pilot and few more memories. 5Volt, thanks a lot.
5Volt (author)  rrkarlo6 years ago
Eccellente ! Now you have to post pictures, you know ? LOL Happy to know everything is fine. Apparently your pilot is not a standard RC5 Philips-like remote. I'll remove the +5% -5% files... Ciao
rrkarlo 5Volt6 years ago
Well, this is my very little contribution for this project. Best regards to all.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!