A simple implementation to send the colors from a Windows-PC-Screen to a LED-Strip over Arduino.
Maybe some people would call it "Ambilight" ;)
The Arduino sketch is written in standard C and the Windows application in C#.
11.03.2016 - V1.0.0.1
02.03.2016 - V1.0.0.0
Arduino or compatible device
Optional AC adapter if using too many LEDs. USB provides 500mA (USB2.0) or 1000mA (USB3.0) and each LED (in example "WS2812B") can pull up to 60mA per LED on full brightness. Note that the microcontroller needs about 50mA by itself.
Windows PC with DirectX9 and hardware accelerated graphics
FastLED compatible LED-Stripe (See: https://github.com/FastLED/FastLED/wiki/Chipset-reference)
!!! If you just want to use Bambilight without compiling the Windows application by yourself, you only need the contents of the "Binary" folder and the bambilight.ino Arduino sketch. !!!
Customize the .ino sketch (NUM_LEDS, LED_DATA_PIN, LED_TYPE) and flash it to your arduino device.
Connect the arranged LED-Stripe to your arduino device and the arduino to your PC.
Start the Bambilight tool and configure your screen setup (maybe overlay mode helps).
Tutorial-Video: https://www.youtube.com/watch?v=YVqrkDVoCfs
Demo-Video: https://www.youtube.com/watch?v=isHl0YpEQ1A
Some faster screen capturing. Depending on system the capturing takes about 20-40ms
Serial speed calculations for max led setting
Sending brightness value to arduino instead of fix value
Dynamic control limit for min and max values
Dynamic arrow positions in overlay