I wanted to do something unique and special this year for my wife for Valentine's Day. I was browsing the web and came across this Instructable and I knew I had to make one! I decided to make one, but put my own special twist on it. Read more...
I decided to make it do a color rainbow with some RGB LEDs rather than sit a single color for all eternity. In addition I wanted a speed control to adjust the speed of the rainbow cycle and also a manual mode where the user can manually change values for red, green and blue to get any color they so desire.
I pieced together some code I found (here - analog rainbow code) and edited it to my liking, adding the analog read for the manual values and also analog read for the speed in auto mode. You can download the finished code here (.ino - Arduino 1.0 or later - not compatible with the PDE system). It works very well.
Here's how I set it up in my breadboard:
Once I had it all set up and working properly I decided to make a custom PCB for the entire assembly. Here are the latest version of the schematic and board files (V 5.0 - 9/13/2012, right click/save link as). The board and schematic files are different from the board I produced in this article but are the latest versions and work perfectly.
6/31/2012: You can purchase everything needed for this project (except 2x 33-ohm and 1x 39-ohm resistors and RGB LED's) from Sparkfun using a custom wishlist I created. Click here to view the wishlist. The LED's I used can be purchased from PCBoard.ca here.
7/5/2012: I have 5 PCB's available for purchase. The PCB's are version 3.1 (one minor flaw - ground on uC needs to be manually connected to ground at voltage regulator [fixed in 3.2]) PCB's were created by iTead Studio. See below for pictures of the PCB's. Click button below to buy a PCB or a PCB with 4 RGB LED's. NOTE: Shipping costs are for US orders only. International buyers please email me using the Contact Us form for a shipping quote.
9/13/2012: Information on this page has been updated with the latest version (5.0) of the RGB LED Mixer board files.
Version 5.0 (9/13/2012) board. Click for larger Image.
Once I had the layout finalized I made up the board using the tried-and-true toner-transfer method. I used the Pulsar ProFX PCB Fab-In-A-Box kit with the laminator rather than the usually hot iron method. I also got the top and bottom sides to line up perfectly by mirroring the layers and printing them 1" apart, then using a bright light I folded the paper so the images lined up perfectly. I then proceeded to feed the paper (with the board in the middle) through the laminator. Once it was done I drilled a couple holes just to check alignment and it was nearly perfect - the best two-sided board I've made to date. I used the standard "agitation" method with the FeCl in a shallow plastic tub.
You can see some blotchyness in the copper fill. This was only due to the printer being low on toner and trying to fill so much heavy toner fill. It still came out just fine though.
And here's the finished assembled board. Now...I just need something to put it all in.
I decided to play around with EagleUp and give it a try. EagleUp takes your Eagle files and makes a 3D representation of your PCB in Google SketchUp. It's a neat way to visualize your design and be able to create an enclosure and be sure everything will fit in. It took some fiddling and I had to make (or find in Google's 3D Warehouse) most of the parts I needed, but it looks really neat.
Below you'll find pictures of the version 3.1 PCB that is available for purchase. It needs to be noted that a jumper needs to be soldered as shown in the last picture for proper functionality. The Eagle files above (version 4.0) have this error corrected.
The image below shows the location of the needed jumper. Again, this has been fixed in the most current version (4.0).
I was browsing around Walmart one day and found this neat little 4-sided picture box in the arts and crafts section that was perfect for this project.
I had a sheet of brass stock laying around that I decided to use in one of the picture holes for the switches and knobs.
I laid out the knobs to be sure they'd fit nice in the frame opening.
Then I marked and drilled all the holes for the 4 potentiometers and the 2 switches. I also engraved labels onto the knobs and panel to indicate the functions. I'm still a little shaky with the Dremel as an engraver but it gets the point across!
I needed a way to mount the board near the top of the box so the acrylic would sit right on the LEDs. I cut 4 small pieces of 0.5" square balsa wood and glued them into the inside after mounting them to the board to get the LEDs lined up with the center of the box.
Next I cut a slit in the box lid just big enough for the acrylic to slip through.
I found some nice wood stain sitting in the basement and decided to use it on the box as it'd give a nice contrast with the brass control panel.
After the first coat:
And after the second and final coat:
Control panel installed and wired up:
And ready to go!
The acrylic I used was a 6" x 6" piece that I cut to 4" x 4.5". The extra 0.5" was for the part that sits down into the box. So the panel that you'll be able to see is actually 4" x 4" I found a design online and printed it out then taped it to the acrylic and set off with the Dremel and my micro engraving bit.
After the first round with the engraving bit:
Once it was finished I sanded down the 3 edges that will be exposed and applied an adhesive-backed silver tape to them to help keep the light reflecting inside the acrylic. I made a HUGE difference.
Here's the final pics and a video demonstrating it.
RGB LED Mixer by ComputersAndCircuits is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at http://www.computersandcircuits.com/?q=vday_led_mixer.
Permissions beyond the scope of this license may be available at http://www.computersandcircuits.com/?q=vday_led_mixer.