The goal was to have a nice-looking mood-light for my livingroom, inspired by a standard lighting console a friend once had (with colored bulbs and switches) but with an added tint of high tech. Also the lamps should be spot lamps, not flood lamps to color my wall nicely.
After some initial tests with RGB LEDs I decided to use a 10W LED in each lamp. Also, to add placement flexibility the lamps should be individually placeble, not all together embedded in one piece of wood. I got the idea of using wooden bowls from this IKEA hack
The hardware part is not too hard to make, the electronics can be more complicated, depending on you abilities. The hard part was the software, took me a few weekends to figure it all out but that is now all ready for you.
So here is what it can do and how it works:
There is one master lamp, equipped with an arduino that sends commands to all the slave lamps (I have one master and five slaves, more can be added or less can be used) via the I2C serial bus protocol. I selected I2C because it uses only 2 addidtional wires but if I had to do it all over I would use a 2.4GHz wireless module in each lamp for added flexibility.
The master lamp is also equipped with an IR receiver. It gets commands from a cheap IR remote (almost any remote can be programmed into it) to change colors, fade modes and whatever you have programmed into the master.
I got most of the electronics material from DealExtreme and digikey, The bowls are from IKEA, the wires I got locally.
-10W RGB LED, wide angle (http://www.dealextreme.com/p/10w-500-lumen-multi-color-rgb-led-emitter-metal-plate-140-degree-44043?item=1)
-Small Arduino with ATmega328, I used one from Seeedstudio but any that fits into the lamp will do. I recommend to use an Arduino Nano for its size (http://www.dealextreme.com/p/arduino-nano-v3-0-81877?item=2)
-NFET transistor with low threshold voltage (below 4V) in whatever package you like
-Heat sink (http://www.dealextreme.com/p/high-performance-dc-brushless-cooling-fan-for-pc-video-card-8942 it is out of stock, any similar one will do)
-Heat sink paste (http://www.dealextreme.com/p/heatsink-thermal-compound-grease-like-4593)
-12V power supplies (http://www.dealextreme.com/p/ac-to-dc-12v-1a-power-adaptor-with-5-4mm-dc-plug-eu-type-110-240v-15991)
-LED controllers with PWM input (three per lamp): (http://www.dealextreme.com/p/mr16-1-3w-650-700ma-constant-current-regulated-led-driver-8-40v-input-13557)
-Heat shrink tubing (http://www.dealextreme.com/p/1m-black-heat-shrink-tubing-five-size-pack-0-8-1-5-2-5-3-5-4-5mm-23450)
-Aluminium pipe, 20mm diameter (hardware store)
-5-strand cable (or more), 300V insulation between strands, 5m length. Current capability: 12W*[number of lamps]/230V (or 120V in US and Japan). I used a cable with eight 0.14mm^2 conductor strands.
-Power cable (1-2m length) with a plug fitting your power outlets. Can also have a switch on it.
-IR-receiver, 38KHz (I think I used a TSOP2238, but not sure anymore)
-IR Remote (http://www.dealextreme.com/p/24-key-wireless-infrared-ir-remote-controller-for-rgb-led-light-bulb-1-cr2025-47019?item=2)
-Diffusor material (60° angle diffusor used) (I used very expensive professional diffusors I had a sample available of, scotch tape works too but not as well)
-Cover glass (http://www.dealextreme.com/p/glass-lens-for-flashlights-10-pack-34-8mm-x-1-2mm-10643?item=4)
-Wooden bowls from IKEA
-"Behandla" scumble from IKEA (like varnish but not varnish)
-Cork pad for stand, 10mm thick (got that from IKEA too)
For each slave controller board: (you can also use an arduino pro mini, a bit more expensive but saves a lot of soldering work) and modify the slave software. You have to figure out how yourself. Get it here: http://www.dealextreme.com/p/arduino-pro-mini-w-atmega328p-electronic-building-blocks-interactive-media-improved-version-104332?item=1)
-5V LDO regulator IC (i.e. L1117 in SOT223 package)
-NFET transistor with low threshold voltage (below 4V) in a SOT23 package
-SMD decoupling capacitors, 10uF (1uF would be fine too)
-Various drill bits
-CNC Milling machine (optional but makes stuff easier)
-All sorts of sand paper
-Glue (epoxy, hot glue, wood glue)
-Silicone or silicone glue (optional)
-Heat resistant wires (I used silicone wires used in RC models but any wire that works up to 80°C is fine)
-Oscilloscope (optional, but very useful for debugging)
-Lab power supply (optional as well)
-Programmer (ISP) for Atmel chips (I used a AVRISP STK500 compatible I got from Seeedstudio, but you can get it from ebay for around 20$)
Note: If you are a beginner in electronics, this project is not for you. You can try and I am willing to answer some questions but be aware that the instructions are meant for people with some knowledge in electronics and programming.
THE LAMP RUNS ON 230V/120V, TAKE SPECIAL CARE EACH TIME BEFORE TESTING TO NOT ACCIDENTALLY SHORT IT OUT OR GET SHOCKED! ALSO BE EXTRA CAREFUL WHEN WIRING IT UP, YOUR INSURANCE PROBABLY DOES NOT COVER FIRES CAUSED BY SELF MADE ELECTRONICS! ALWAYS SWITCH IT OFF BY COMPLETELY CUTTING THE POWER AND DO NOT LET IT RUN UNATTENDED! I WILL NOT BE LIABLE FOR ANY INJURIES OR LOSSES OF EARTHLY GOODS IF YOU GET SHOCKED OR BURN DOWN YOUR HOUSE.