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.
Step 1: Preparing LED circuitry
-the two connector pins
-the four rectifier diodes (use the soldering iron on highest power setting)
make sure you do not remove the diode for the step-down driver circuit (the one next to the little IC)
Connect three of them together by connecting the 12V lines and the GND lines. Use a Multimeter to find the right soldering pads (where the diodes were soldered) the picture shows the 12V connected with a red cable and the GND connected with bare copper wire.
To each driver, connect a signal cable to the contoller IC on pin number 3, the one next to the edge of the circuit board. If you are not used to SMD soldering, this may be a little tricky as the pads are small compared to through hole soldering.
Now you should have three drivers connected together, two cables coming out for 12V supply, three cables for signal input and six wires to connect to the LEDs.
Connect the drivers output cables tho the LEDs. I did this by first soldering about 10cm of cable to each LED connecting pad and then soldering these to the red and white wires of the drivers and adding heat shrink tubing. To find out which pad of the LED is the anode and which the cathode I used a regulated power supply with a current limit of 10mA and a voltage of 6V. You can also use a 9V battery to do this. You can destroy the LEDs by applying a reverse voltage of more than 4V per LED but with three in series, 9V should be fine (no guarantee though). Be careful with the 9V battery, the LED will be very bright (and burn out if applied for more than a few seconds).
The multimeter diode test did not work for me, the voltage was too low to drive the three series connected LEDs.
There is a small hole in one of the LED's soldering pad which I think marks the kathode side but I am not sure anymore and I have no spare LED at hand to test that, sorry.
Make sure that the length of the cables from the LED to the circuit board is long enough to later go around the heat sink and into the bottom part of the lamp. I used cables of about 15cm of length.
Always use the same order and know which color is which when connecting the drivers or you will have to sort out the colors later!
Ok, so now you have connecteds the driver to the LEDs. If you have a 12V power supply at hand, you can test it. If no signal is applied to the PWM signal cables, the drivers go to full brightness. You can also connect a Potentiometer to the signal input to adjust brightness (at least the datasheet states so) of each channel. Do not test extensively now, the LEDs cannot handle the heat without the heatsink. So let's attach it...