Introduction: Ambilight, 4-channels [Arduino Mega2560]
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 .. ^_^
25 Comments
6 years ago
I really need help...
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.
It can't be a problem with wiring bc other programs are working.
Did anyone also had this problem or knows where the problem could be?
8 years ago on Introduction
Thanks for Sharing ! Looks like enough Info that I may just build one too :D
Is Four Ch the max the computer will process? or just the limitations of the Arduino Hardware? (PWM Channels)
Reply 8 years ago on Introduction
computers can process way much channels, it's the arduino mega limitations, 12 PWM pins , since we are using analog led strips ..
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 ,
many project already built using those strip, i would recommend adalight for arduino uno, with ambibox, prismatik on pc .. :)
Reply 8 years ago
This, also recommend using fast led library + ambibox
Reply 8 years ago on Introduction
fast leds is not for analog leds .. just to say ..
Reply 8 years ago on Introduction
im talking about ws28xx leds, for those fastled is the best library
Reply 8 years ago on Introduction
true :) .. i've been waiting to get my hands on those digital leds ..
Reply 8 years ago on Introduction
ordered mine from aliexpress, 5m roll for $40
Reply 8 years ago on Introduction
yea i did also mine 44 leds, it's much better, i also made an instructable .. :)
Reply 8 years ago on Introduction
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
Reply 8 years ago on Introduction
Tlc5940 is daisy-Chain-able :)
Reply 8 years ago on Introduction
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
Reply 8 years ago on Introduction
Just what I was thinking !
Ok now i'm definetly making one :D I'll be sure to leave you an "I made it" post :P
Reply 8 years ago on Introduction
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 .. :(
8 years ago on Introduction
Would I be able to substitute Arduino MEGA with Arduino UNO?
Reply 8 years ago on Introduction
yes you can. check out the amblone site for a modified arduino code :)
8 years ago on Introduction
Hi, first of all, sorry for my english.
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 ?
Reply 8 years ago on Introduction
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 ..
2nd things .. try disconnecting the arduino usb , are the leds still on ? and what color are they when they are full on ?
Reply 8 years ago on Introduction
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.
When i disconnect the arduino only two led strip work and only one IC is getting hot. I dont understand what it could be
Reply 8 years ago on Introduction
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 ..
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 ..
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 ..
nothing helps .. then please take some photos in details and post them here if possible