3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Arduino RGB LED Lamp + 4bit LCD Display

Arduino RGB LED Lamp + 4bit LCD Display
This is my first instructable !!! yay..

Before I continue. I do not go into details of how to cut the wood, or piece everything together. I freestyled the entire build process, whatever came to mind is what I reproduced. The point of this instructable is to be able to create the circuit, program the arduino, and create something of your own imagination.

Also this instructable is meant for people who are familiar with the ever so popular Arduino !!!
If you want to learn more about what the Arduino is all about please visit : Arduino Home Page

Alright now a little explanation what this exactly is. This is simply an arduino controlling an RGB LED to control lighting. There are 3 different modes. These modes can be selected by pressing a button. The Modes and values of the RGB are being displayed on a LCD screen.

Modes :

1) Hue Cycle : This cycles through the hue spectrum. You scroll the wheel (potentiometer) to control the speed at which the color changes from one to another.

2) Hue Selection : Scroll the wheel (potentiometer) to select the color you chose. IT remains at this color

3) Random Hue : The arduino randomly selects a target RGB color. It fades to that target RGB color. Then the process starts over again. You can select the speed at which the color fades from one to another

The following video is the creation of the Arduino controlled RGB LED Lamp from start to end.



 
Remove these adsRemove these ads by Signing Up
 

Step 1Materials

1) Arduino : decimila, freeduino, Rock Bottom Freeduino Kit (RBFK). (I used the RBFK because its cheaper and I was giving this away as a present.).

2) Potentiometer : Im using 120ohm but any will do in this particular application.

3) Push Button : Do not use a ON/OFF button. It must be a push button.

4) RGB LED : Make sure it is common cathode RGB LED's. Meaning 1 pin is GROUND and the other 3 pins R,G,B pins are POSITIVE.

5) HD44780-compatible LCD : From my best experience, all 16x2 LCD's I worked with are work with the 4bit library.

6) 5 x Resistors:
- 22ohm = LCD Contrast... *NOTE : Use a POT to determine best contrast for LCD.
- 2.2Kohm = PushButton
- 3 more resistors. You need to determine the values depending on your RGB LED. Details below.
« Previous StepDownload PDFView All StepsNext Step »
93 comments
1-40 of 93next »
May 22, 2012. 2:49 PMmillerboy220 says:
Man I got it, took a couple days, but she is working great, I cant wait to build the finished product now, thanks so much for the great indestructible. For proto newbie to like me, remember to check the LCD4Bit file completely, changing pin values as needed, as well as the sketch, and beware of the few mistakes on the fritz, first time I pressed the button, it reset the arduino and windows started installing drivers for god knows what...so i cancelled that quick and redid the switch according to the arduino site, other than that, I used a slider pot and have a rgb lcd on the way to hopefully parallel to the other led for more effect, and add an on/off switch and reset if needed...I may do the same and give it as a present. Next I will learn to make a bare naked setup like yours to make it a neater device...again thanks a bunch from Big D.
Nov 26, 2010. 7:10 PMBuild_it_Bob says:
This looks awesome! I just purchased an Uno and am looking forward to trying this. Thanks for sharing!
Build_it_Bob
Dec 4, 2010. 6:36 AMBuild_it_Bob says:
LCD now working along with serial out !!!
The LCD contrast for my display ( UNIQe/Vision GC-1602I1 ) requires the contrast pin to be pulled to ground via resistor. I used a 1Kohm variable and found that 780 ohms gave the best visability.
This paves the way for many ideas ...THANK YOU Silverbyte and contributors !
Awesome project ...I have it running now and it looks great on the customized board I made for it.
Build_it_Bob
Nov 28, 2010. 5:38 AMBuild_it_Bob says:
I hope to have a few hours tonight to try this out. I have an Amicus 18 as well as the Arduino Uno and I enjoy lights and lighting control. The Arduino has a lot more info and projects available, and yours has the right mix for control . I will post back with any progress , and once again great work .
Build_it_Bob
Nov 4, 2010. 6:29 PMhandyman29 says:
Can I use an Arduino Duemilanove? And also, is the LCD display nessesary or can I just hook up the LEDs and potentiometers to the Arduino? Thank you.
Jun 4, 2010. 3:14 PMraikoug says:
Hi, i use this lcd http://www.sparkfun.com/commerce/product_info.php?products_id=9052 but I really can't see anything write on... maybe is a bit different couse of white on black... i'm a bit new.. (I use an arduino 2009, the leds with pot and bott work fine) can you hlp me please? thanks
Jun 4, 2010. 5:55 PMraikoug says:
nono... now work... but I don't have clear writes... it give me strange signs: "?" "/" "o" arrows and a think a jap letter... what is going on? :D thanks
Jun 5, 2010. 4:12 PMraikoug says:
I'm really happy of existence of people like you... thanks for all your work! than... I can see the words... but.. aren't the words i should see.. i see strange simbols.. I saw the datasheet at page 5 of my lcd and I found that all pins are the same (only but of 15 and 16 that I have to hookup, they'r the back ground... but that was really easy). now... the problem i that the db pins (the ones responsable of the word mixing I suppose) are exactly the sames as your... and not only... i tried to see the arduino.cc libraries manual.. i hooked them to see only the lcd.. and when I start it... it gives me this strange letters... I've a video: (made by a nokia) http://www.megaupload.com/?d=MLLFUHML thanks for all!!
Jun 6, 2010. 3:41 PMraikoug says:
omg... I saw another wonderfull thing of my lcd (that i suppose to be broken...) I restart the arduino i load the program but nothing... everything work but the lcd.. for I don't know why in the world... I unplud the arduno 11 and 12 from the lcd... than I plug them (casually) to 3-4 ... and it starts writing nonsense characters... and the strangest thing is that If i unplug those 2 pins anfter all this... lcd still write the same things!!! I wish it isn't my poor arduino board...
Jun 6, 2010. 5:38 PMraikoug says:
it's not the lcd... I tried with another lcd and the same history.. strnag symbols... :( what the hell :(
Jun 7, 2010. 3:46 PMraikoug says:
i'll try as soon as possible! if it will works I will love you!! :P
Jun 8, 2010. 7:46 AMraikoug says:
nthing.. the pin was right. is there something wrong in the db positions... it's really strange.. :(
Jun 10, 2010. 2:31 PMraikoug says:
I've done it!!! finally, with a 3° lcd I made it!! IT WORKS!!! Thanks a lot for all help you gave me! you are a friend ;) See you soon ^^
Jun 11, 2010. 12:48 PMraikoug says:
I sure will!! ;) thanks a lot!
Jun 9, 2010. 6:21 PMraikoug says:
Nothing... I tried but it is always the same, and I tried a lot of combinations!! (i tried the liquid cristal libraries with his connection... but I can't compile couse of and error (I used the examples codes..) so I can't test the connections :( )
Jan 11, 2010. 4:33 AMjman 31 says:
Silverbyte, this is a great piece of engineering. I have been studying your source code to see if I can use some of it in an unrelated project that I am doing. I loaded your sketch into processing and ran it just to see if it compiled and I got this error:     processing.app.debug.RunnerException: unexpected char: 'i'      And the sketch stops at this line: "#include <LCD4Bit.h> . I have the LCD4Bit folder in the same folder as the sketch. Any clue as to why it's doing that?

Thanks for any advice!
Jeremy
Jan 11, 2010. 8:37 AMjman 31 says:
Yeah I think you are right. I will give that a try. Thanks for the quick and helpful response!

Jeremy
Jan 11, 2010. 8:42 AMjman 31 says:
Yep, that was it! Thanks a lot Silverbyte!

Regards
Jeremy
Dec 7, 2009. 7:41 PMErik Lindemann says:
I love it. Absolutely beautiful.
I wish I had access to a workshop like you do. The things I'd make....
Dec 1, 2009. 3:41 AMmicha-uhl says:
Hallo,
when I press the button, the power shorts! The red and yellow wire on the resistor are to change!
michael
Oct 23, 2009. 8:51 AMgoodspeed52002 says:
hey silerbyte.
thanks for the info im learning alot and it makes sense. i wanna make the exact same project as you did but with a wireless remote or connect it to and xbee which would could also be comunicated to a web page via php or java and you could ulimatly control it through a web browser. any thoughts on that
Oct 26, 2009. 8:46 AMgoodspeed52002 says:
looks pretty cool. would you be willing to help me with my project. i wanna controll these lights.

http://www.tradekey.com/product_view/id/1058216.htm - or something simllar to it. they are going to be hidden my krown molding to light up a ceiling. and i want to be able to contoll then with my laptop or iphone over the network. also it would be nice to create chanels so i can controll certain secetions at once.

Oct 14, 2009. 10:31 AMgoodspeed52002 says:
i really want to build this project. but it seems rather difficult todo. i have never used arduino borad before and dont know alot about ledsor programming in c. where did you learn how to do all this stuff?
Sep 13, 2009. 2:02 PMmadmikeIII says:
nice one !!!!!!!!!!!!!!!!!
Feb 17, 2009. 5:43 PMNetReaper says:
does it really have to have a lcd display?
1-40 of 93next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
13
Followers
1
Author:silverbyte