Overview The goal of this project is to build a dynamic backlight, also known as an ‘ambilight’, for my PC monitor. An ambilight changes colors based on the content onscreen, extending your monitor to the wall behind it. By reducing the contrast between the monitor and the background it can Read more…
So far the hardware side of the Adalight setup has been a nest of wires on my desk, with the Arduino on a breadboard and the power running through a terminal block. Now it’s time to wrap up this project by getting everything off of the breadboard and onto a dedicated PCB in its own custom case!
Once the LED strip has been soldered together and attached behind the monitor, the next step is to configure the software on the PC. The communication protocol for Adalight is quite simple, which means there is a variety of PC software that can send color information to the Arduino. There are other options, but the two I’ll cover are Processing and Prismatik.
The first step in taking the Arduino-based ‘ambilight’ from concept to completion is to modify the LED strip so it fits nicely around the monitor. Like most addressable LEDs, the 5m roll I’m using has cut lines where you can trim it. Because each pixel is its own self-contained circuit, you can arrange them in any shape or number you can think of so long as you connect the three wires: power, ground, and data.
As I do more and more coding for the Footwell NeoPixels project, my mind started to wander with ideas of what else I could use addressable LEDs for. One such idea is to create an ‘ambilight’ – a backlight for a TV or LCD monitor that reads the color data onscreen and creates a glow around the bezel which matches or ‘extends’ the color to the surrounding wall. The idea is that it adds ambiance (hence the name), though it also helps with eye strain by reducing the contrast between the bright screen and the dark wall behind it. I had put a strip of single-color white LEDs behind my previous monitor and it helped tremendously with eye strain, but I figured if I was going to do the same I may as well take it up a notch.