Hey guys, first post, complete beginner with Arduino and everything else which requires Arduino to work. Hopefully you could bare with my dumb arse self ;D.
I am currently researching and developing an ambilight system leveraging the power of Arduino Mega. I am sure you guys already know what Ambilight is but here's a brief description: Ambilight concept was developed and introduced by Phillips. It provides a ambient light around the flat panel tv with the colors reflecting the color captured on screen. See link 1
I've done some research on my own but I need to confirm and get concise detail regarding my project.
Equipment I have:
4 LED strips from DX: See link 2
1 Arduino Mega
I read that these LED strips require 12V and output for Arduino is 5V; hence I would need ULN2003 to power the LED strips appropriately. I have also acquired the the schematics to hook up ULN2003 to Arduino, but I am very curious.. Do I need 1 ULN2003 per LED strip? In addition, since each LED strip will be a separate channel (Top, Bottom, Left, Right), would it be sufficient to hook all channels to 1 PWM or is it, 1 Channel per 1 PWM?
Hopefully it makes sense so far. Like I mentioned, I am very new to this and if something is not clear, I apologize. Thank you advance for your help!
I think you need a transistor and a PWM pin on the Arduino for each color you want.
But then all the strips red, blue and green colors will follow each other.
If you want to control each color in each LED strip, you will need a transistor and a PWM pin, for each color, in each led Strip.
Hope you can use the answer.
Btw, how will you get arduino to "see" what colors are on the TV?
Actually the led strips im buying are RGB, which turns to different colors according to the controller ( Arduino ). Could you give me more info on how transistors and PWM pin relate to the Arduino board? I know there are PWM on the board, but not sure how all would integrate together. If only someone already has a schematic, that would be awesome.
Im planning to see if I could incorporate the momolight application to work with Arduino. That will require some programming, but we'll see. :-X
Easy, no logic level device is going to handle a large amount of current, for example, how do you turn on a mains powered lamp, do you jam your finger in the light socket or use a switch...
so what you do is transistors as switches, the cpu is not stressed by current and you can switch larger loads (like this)
pwm allows you to control an average voltage using different on/off cycles. the slower the lower, so you can drive each color at different values, resulting in more possible colors
Is it 3 PWM per 1 LED strip? With PWM 2-14, I barely have enough for 4 LED strips (4 channels). My goal now is to have 10 channels handling the ambilight. How would I be able to achieve that with the Arduino Mega?
And for transistors, would 1 ULN2003 be sufficient for all 10 channels using a proto shield? I dont want to have multiple transistors, as you can see, Im trying to achieve 10 channels (10 LED strips). If you have a better suggestion than ULN2003, please let me know.
I always hate to discourage people, but here goes..... :-?:
Although I think this could technically be done, I don't think it's at all feasible.
What you're talking about is mixing colors on a single LED basis, meaning you'd need a (PWM) pin for every single individual LED (RGB) of every single light strip. That comes out to a LOT of shift registers... Then there's the problem of seeing what's being displayed on the TV.
Sorry, but maybe you're better off buying one of these TVs, especially being as new as you are (although I doubt even a skilled Arduino-er could get this done..). :-?
It's been done with Arduinos, in various ways. Here's a recent one:
I did say it could probably technically be done. Those look very nice.
But I still stand by the fact that I don't think it's a very good project for a beginner. Maybe after doing some other, slightly less complex projects, the OP should take a shot at it.
Thanks TchnclFl and macegr for your input.
I know this project is somewhat complex but it seems like we have enough people out here giving tips and tutorials to achieve this ambilight effect.
There's already many applications created (i.e. Boblight) to capture the colors on the screen to communicate with a controller via USB. I just need to understand how the LED strips would best be connected to the Arduino mega (controller) at the PWM level in order for it to work.
So far, I know for 1 LED strip, there are 3 colors (RGB) >>> meaning for each LED strip, I need 1 PWM for Red, 1 PWM for Green, and 1 PWM for Blue. But with PWM 2 to 14, I only have enough for 4 LED strips. The following are my questions:
How would I be able to have more than 4 LED strips on 1 Arduino Mega (i.e. 8 LED strips) ?
Transistors? Since there will be more than 4 LED strips, what's the best setup onto a megashield? ULN2003 (1 chip for each LED strip?) ? or just multiple transistors, 1 for each color on a LED strip?
Since LED strips requires 12V, do I have to supply a separate power supply on the protoshield to run the LED strips, or would it be able to piggy back on the power supply plug from the arduino mega?
I have a 12V power supply for the arduino mega, but I believe Arduino will only output at 5V, which would requires me to use a separate power supply for the LED strips on the protoshield while powering the Arduino with the USB.
So far, I know for 1 LED strip, there are 3 colors (RGB) >>> meaning for each LED strip, I need 1 PWM for Red, 1 PWM for Green, and 1 PWM for Blue.
That would only allow you to control all of the LEDs on one strip at a time (meaning, you could make a whole strip go a certain color, but not individual LEDs, like the videos I was had. It would still be cool, but not as cool :P.
How would I be able to have more than 4 LED strips on 1 Arduino Mega (i.e. 8 LED strips) ?
Perhaps multiplexing?
Transistors? Since there will be more than 4 LED strips, what's the best setup onto a megashield? ULN2003 (1 chip for each LED strip?) ? or just multiple transistors, 1 for each color on a LED strip?
I would just have a single transistor for each color of each strip.
Since LED strips requires 12V, do I have to supply a separate power supply on the protoshield to run the LED strips, or would it be able to piggy back on the power supply plug from the arduino mega?
You would need a second (potentially high-power) source for the LEDs.
I have a 12V power supply for the arduino mega, but I believe Arduino will only output at 5V, which would requires me to use a separate power supply for the LED strips on the protoshield while powering the Arduino with the USB.
If you need more than 12 PWM then you need some kind of external devices for sure. A lot of work has been done with the TLC5940, which adds 16 PWM per chip. However you will need to add transistors to handle the current of your LED bars.
These devices connect to an Arduino and supply three 10-bit PWMs each plus current control up to 150mA:
They work with the Dealextreme RGB bars, and would work with the flexible strip if you cut it enough to get under 150mA per color.
fun3md has a writeup about using them with an Arduino to build an Ambilight device: http://fun3md.blogspot.com/
For the sake of others interested in this project down the road, I hope it makes sense to maintain all discussion on thread vs PM.
TchnclFl, my initial intention was to control individual LED's on a strip to display multiple colors. Unfortunately, I cant seem to find more information regarding it, besides the fact that the driver chip HL1606 is the key to get it working; and HL1606 chip are rare to come by. Hence, I resorted to 1 color for each strip with multiple channels.
If you have any insight on how to achieve that then you are the man!! and I would not need to multiplex with the TLC5940. ;D ;D
Mace, you've done a fabulous job with the shiftbar. The architecture of it, is amazing. For the my purpose of ambilight, would shiftbars work? By utilizing the TLC5940 with the Arduino, what would be the benefit of the shiftbars?
That pcb/kit might be perfect for it. The shiftbars would work well too.
The ledpainter uses a 15 dollar board, and 3 5 dollar texas instrument IC's...among a pile of other components, and might not support much current on each channel (no led bars probably)
The shiftbar is about 9 bucks a piece in small quantities, you would need 1 per led bar 'channel', somewhere between 2 and 8.
For a realistic amblight you only really need 2 channels for the effect (left and right), and more just amplifies the effect. '4' bars would be perfect, 2 sides and 2 on top, which would mean you just use the built in arduino mega pwm.
You hook up a 12 volt source to transistors (mosfets if you start drawing more power), and use 5v from the pwm lines of the arduino to switch the transistors (or mosfets) on and off.
You sound like you have experience regarding Ambilight, do you think having more than 4 is overkill? For some reason, I feel having at least 8 (2 on each sides) would be the perfect number.
Thanks DrLabel. That was actually the first project I saw and wanted to replicate, but there isnt sufficient amount of information for me to further replicate.
It also looks like that led strip has more than 4 wires, meaning to control individual LED like that, I presume you are required to have like the 6 wires per the example.