loading

Ambilight is a an invention first made by philips , you can check this VIDEO for more info

check this live simulation if interested

with this instructable you can have an almost the same for your pc screen.

many methods can achieve this goal, explaned some easier and less components demanding methods here and here

previous ways allowed us to have only 1 or 2 channels

hold on .. what a channel ?

by channel i mean a section of the screen dedicated to be scanned and display it's average color on the rgb led strip attached to the pc screen .. in this tutorial , we are able to have up to 4 channels .. :)

let's head to ic's and microcontroller we need to use ..

Step 1: Components Needed

1. Windows PC [tried on win8.1 64bit]

2. arduino mega , mega 2560 rev3 , with a usb cable ofcourse

3.wires, lots of em

4. +12v and a -12v, usually from the pc power supply it self since it allows getting lots of ambs no matter how much your leds are demanding

5. RGB LED STRIP, to be wrapped around your screen, it's length depends on the screen size itself

[im using common anode 12v+ rgb led strips , 60led/m , you can choose whatever rgb leds you need, but some modification will be required]

6. some solder to solder each channel of the rgb strip

7. two Darlington Array IC, Code Number ULN2003a

[used this ic because it will help us get red of 12 transistors into only a couple of ic's]

8. a mini breadboard or a soldering pcb , i would recommend using the mini breadboard

Step 2: The Dirty Work, Wiring and Leds Placement

you can use arduino jumpers which i recommend.

place your board and arduino behind your screen , for much less wiring.

placing the 4 led strips requires some consideration ..

i used a 4 corners method .. which will allow me to cover the whole screen .. on each quarter of the screen

but .. you can use 4 sides .. one on top , one on each side , one at the bottom..

or you can use two on each side with two on top ,half of the top each , the bottom isn't that important .. maybe

if you like you can use 3 channels if you don't have many led strips ..

if you will use only two or one channel i would recommend this tut HERE

now for the wiring

powering your leds on the common 12v+ from you pc power Supply

place the two ic's on the mini board, make sure they are on the separated pins of the board

connect your GND to each ic on pin named E on the ULN2003a IC Datasheet

if you placed your ic Horizontally , make sure the moon of the ic is on your left hand and the rest of it to the right

pin E is the first pin from the right on the bottom of the ic ..

now .. connect the PWM pins from the Arduino Mega to the inputs of the ic's .. which are located on the same side of the grounded pin .. from pin 13 to pin 2 ..

make sure to add some silicon to your wires and soldered pins on the leds .. they might easily break ..

you can also attach the arduino to the back of the screen along with the mini board .. just make sure to add some insulator surface between the sceen and the arduino, or you will damage the screen after a while ..

thats about all for the wiring ..

Step 3: Windows Software

connect your arduino usb to your pc ..

download the Arduino Software (IDE) then setup

download the Arduino Amblone Source Code

open the source code with arduino ide , select your board, com port, then upload it

if you didn't wire the led correctly , you can change the pin number on the source code then upload it again :)

thats all for the arduino

for scanning you screen, sending the average color of each strip

you have two options .. both are great , both have there pros and cons

Download Amblone Windows Software

or

Download Ambibox for Windows

trying both for quite some time now .. i would recommend Ambibox, specially if you will use a custom led placing ..

many other feature of ambibox for you to explore .. like the colormusic feature ..

setup you pc lient software and you are good to go .. :)

Step 4: My Results :)

Check This Vid on my Results

Step 5: Some Problems I Faced That Might Help You

1. using ambibox will allow to use playclaw for gaming and other exclusive full screen apps .. that never worked for me .. i started making apps go full screen but without being exclusive .. full borders only :)

2. sometimes .. on some arduinos .. for some unknown reason till now, you will have to lunch ambibox without being enabled .. wait for 3 led flashes then enable it .. every time you start the software .. :(

if you faced any problems please ask in the comments .. or contact the support of the amblone or ambibox developers ...

thats about all .. enjoy .. ^_^

<p>I really need help...</p><p>I want to use Arduino Uno, LED Stripes with WS2812B and Ambibox to make the ambilight. I tried like 10 tutorials and always get problems with uploading the program to my arduino. There's no error in the program but nothing happens on the LED-Strip, beside the running project stops working. But every tutorial seem to work for everyone just me.<br><br>It can't be a problem with wiring bc other programs are working.<br><br>Did anyone also had this problem or knows where the problem could be?</p>
<p>Thanks for Sharing ! Looks like enough Info that I may just build one too :D</p><p>Is Four Ch the max the computer will process? or just the limitations of the Arduino Hardware? (PWM Channels)</p>
<p>computers can process way much channels, it's the arduino mega limitations, 12 PWM pins , since we are using analog led strips .. </p><p>another method i've been trying lately is by using the a digital led strip, such a strip would have 4 pins .. [ex WS2801] , 2 for +5v and gnd , the other 2 , are for data input , u have the ability to a color code to each pixel of the strip .. for ex, first led pixle white , the 2nd one blue , turn off the rest leds , </p><p>many project already built using those strip, i would recommend adalight for arduino uno, with ambibox, prismatik on pc .. :)</p>
This, also recommend using fast led library + ambibox
<p>fast leds is not for analog leds .. just to say .. </p>
<p>im talking about ws28xx leds, for those fastled is the best library</p>
<p>true :) .. i've been waiting to get my hands on those digital leds ..</p>
<p>ordered mine from aliexpress, 5m roll for $40</p>
<p>yea i did also mine 44 leds, it's much better, i also made an instructable .. :)</p>
<p>also , i've heard that it's possible to do pwm on a digital pin using SoftPWM Library, that would expand our channels , but i was always getting compileing errors :D</p>
<p><a href="http://playground.arduino.cc/learning/TLC5940" rel="nofollow">Tlc5940</a> is daisy-Chain-able :)</p>
<p>some limits you might face such as the pc software, sadly isn't an open source, it doesn't allow more than 4 boxes to be scanned for amblone</p>
<p>Just what I was thinking !</p><p>Ok now i'm definetly making one :D I'll be sure to leave you an &quot;I made it&quot; post :P</p>
<p>i believe it's a great tool .. but sadly no client software would support it yet , since the ambibox or amblone only provieds 4 channel max when going with the amblone arduino code .. :(</p>
<p>Would I be able to substitute Arduino MEGA with Arduino UNO? </p>
<p>yes you can. check out the amblone site for a modified arduino code :)</p>
<p>Hi, first of all, sorry for my english.</p><p>I v tried to make your ambilight system, but in vain. I m using a PC power suplly for -12V and +12V but when i connect everything all led are full on. the data sent by the arduino doesnt seems to have any effects on the led , Could it be beacause the power supply deliver to much current ?</p>
<p>hi .. plz tripple check all your connection even if the power supply delivers lots of currents , it shouldn't effect the leds since they have built in resistors .. </p><p>2nd things .. try disconnecting the arduino usb , are the leds still on ? and what color are they when they are full on ? </p>
<p>i checked all the connection. Everything seems to be good. When the arduino is plugged all four strip led are full on and le unl2003 and the led strip getting super hot.</p><p>When i disconnect the arduino only two led strip work and only one IC is getting hot. I dont understand what it could be</p>
<p>it could be one of two things , the uln2003a .. make sure it's A, not the the uln2003 without the a, and the direction of the ic must be correct ..</p><p>the 2nd thing you leds can be common anode or common cathode, we need the ones with common anode , which they all have the same 12v+ and 3 separate Grounds , one for each color .. </p><p>please make sure of that , and make sure that your led strip is actually 12v, since you are saying they are getting hot , they could be 5v strips .. </p><p>nothing helps .. then please take some photos in details and post them here if possible </p>
<p>Yeah it's a uln2003 A and it's direction is correct.</p><p>I think it's common anod that i have cause there is + on the strip then 3 others wire for the 3 colors.</p><p>And it's a 12v strip</p>
<p>instead of -12 try GND. <br><br>+ and - voltages are not really desired in leds</p>
<p>true , but from what im seeing these strips you use don't have embedded resistors on the strip between each led , thats one issue, maybe it's not causing the problem so </p><p>the other thing i though was maybe you didn't upload the arduino code correctly , the picture of my arduino ide is only a partial , you must download the full code from the link..</p><p>i would suggest trying the fade led code from arduino examples , try it on at least three pins .. one of each color</p><p>and btw what arduino r you using ?? and how many channels ? </p>
<p>I love this! I've always wanted light changing ambient light. I have just the basic blue behind my tv right now. I may make this in the future.</p><p>How did you interface the arduino with your PC? Just through the USB cable?</p>
<p>yes .. usb will power the arduino .. you will have to keep connected .. to get the data from your pc client software .. </p>

About This Instructable

16,696views

214favorites

License:

Bio: Computer Engineering @ASU in JO.
More by h0uri:Remote Hardware Monitor Ambilight DFMirage [super fast screen capture and processing] Audio Spectrum Software [C#] 
Add instructable to: