Enough about that old one.
At the end of this instruction set you will have a low cost (?) ambilight clone, with as many channels as you like. I will, for instance, show you how to build a 30 channel LED TV light, which adapts to the colors of your screen. If you are impatient, checkout the last step of this tutorial to see the very low quality video.
Hardware you will need:
- LED RGB SMD strip
- Microcontroller (Arduino Duemilanove Clone for example)
- (Two) TLC5940 PWM Unit
- maybe a cooler or a heatsink
- 12V power supply
- a few resistors
- electronic stuff (cables, soldering iron, breadboard, ...)
Software it takes:
- Windows or Linux
- Programming Software for your micro controller
Skills you will need:
- ability to solder
- maybe the skill to think a little bit technically, so you don't ask that many questions here in the comments :-)
This project is perfect for users that didn't have to do anything with electronics yet, but want to make something useful and uncomplicated to get started with.
I promise, this project is realizable for everyone who has got the attendance to follow my instructions step by step. It is really easy and if you only have some electronic skills and this is not your first project, it is even easier and you can modify it as you like.
So let's get started...
First of all, I want to explain the main principle of the completed unit.
1. You connect a computer to your TV and to the ambilight unit via USB.
2. You start the Boblight software
3. You start a movie.
4. Boblight analyzes your screen image and calculates some mean values of specific areas of your screen
5. Boblight sends these color-values via USB to your ambilight unit.
6. The micro controller within that unit takes the received color-values
7. According to the values the micro controller changes the LED strip colors
Steps 4 to 7 will be repeated up to about 50 times / second until you tell Boblight to stop.
Step 1: LED Strips
Before we can start soldering all the stuff together we have to order it. Let's start with the LED strips responsible for the illumination. We need to control the color of the strip. By adjusting only three colors (Red, Green, Blue) it is possible to create many many colors. Your TV works similar. Google for RGB if you want to know more about that. So we will need LED strips which have got 3 channels. One for color red, one for color green and one for color blue. If you power up the red channel, the strip will glow in red, if you power up the red and the blue channel it will be pink or something (mix of blue and red). By adjusting the voltage of the channels it is possible to create all the colors we need.
There are so many different RGB LED strips out there: 60 LEDs per meter, 30 LEDs per meter, common anode, common cathode, waterproof, length of 3 meter, length of 5 meter, etc.
Common anode or common cathode?
You HAVE to take common anode (all 3 channels share 12V) because of the TLC5940 and that is really important. You could destroy the TLC5940 chip if you try to connect it to 12V.
As long as your TV isn't waterproof and you don't want to use your new ambilight under water, there is no real necessity to buy waterproof LED strips. It may be better because of insulation issues. You will tape the strips onto the back of your TV so make sure, you either buy waterproof strips, or the back of your screen is not conductive, because otherwise you could get in big trouble as soon as the contacts of the strips short curcuit. My screen backside is not conductive, because it is painted, so I decided to save the money and use non-waterproof strips.
60 or 30 LEDs per meter?
Another question is, how many LEDs you want per meter. The TLC5940 chip, which will control the color of the strips, is capable of serving 120mA per channel. I would not exceed that value.
I measured 15 LEDs on one strip. Here are my results: If you power up all three channels completely, the strip takes 240mA and glows completely white. The red channel takes 90mA, green and blue 75mA each. 90mA is close enough to 120mA maximum, and we still have a little buffer of 30mA. So the TLC5940 chip is capable of driving 15 LEDs on one channel without getting too close to the maximum.
Now back to the question what to buy.
If you want to use a strip with 60 LEDs per meter, the maximum length of one strip is 25cm, because than you have exactly 15LEDs. If you decide to buy a strip with 30 LEDs per meter, you can double the length of one strip to half a meter to have 15 LEDs. Shorter strips, of course, are always possible. It's not just a question of current flowing, but of brightness. Maybe your room is often dark and you don't want that many LEDs shining behind your tv. In such a case 30 LEDs per meter would be completely okay and you don't have to pay the extra price for 60 LEDs per meter. To get to the point, I used strips with 60 LEDs per meter, because I ordered them to compare both solutions.
After all of your ordered LED strips arrived, one of the first things you have to do is to cut the LED strips into smaller pieces and solder cables to the ends.
Here is my setup:
I have got a 127cm (50") TV screen.
The outer dimension:
I wanted to have 10 areas all in all so I had to cut the whole long thing (5 meters) into 10 shorter strips. The question was how long shell they be? Just to get an idea, I attached an image so you can see where I taped the strips to the backside of my tv screen after I finished the project. As you can see, one piece has to have the length of 25cm to make sure there is enough light, small distances between two strips and they do not overlap. That corresponds to the results I measured for the maximum current. So at the end I still had 2.5 meters of LED strip left, which was resold on ebay.
As already precalculated each one of these strips takes 240mA on full white light. If you multiply that value by 10 strips, we get 2.4A.That is pretty much in my opinion: About 30 Watt.
I ordered my 12V power supply from Ebay. It can serve up to 5A and only costed 9 euros. Now I have a nice security buffer and the device doesn't overheat.
Soldering cables to the strips
My strips can be cut every 3 LEDs (so 5cm) and there are premade solder joints. Look at the second image I attatched to this step just beside the letters B R G on the strip. Sometimes there is even some solder on it so you don't need to care about that. If not, just take a needle and make a small hole into each of the joints and the solder will hold really good.
Just solder one cable to each channel and one cable for common anode (12V). Every strip has to have four cables. I used old network cable because it was long enough to cut it into pieces and has got 8 cables in it. That is very good because we need 4 cables per channel and I wanted to make pairs to cut down the number of cables behind my tv. The cable also has got a nice coating so I only have one bigger cable instead of 8 individual ones per pair. Now I have got four pairs of strips and two single (bottom). Make sure your chosen cables are long enough so the controller unit doesn't float behind your screen.
You can either leave the other side of the cable as they are and solder them directly to the controller unit or solder some pins to it so the strips are exchangeable, if one gets destroyed. That's up to you.