Version 3.0
Features:
- Added black-border detection
Fixes:
- Fixed crashing with H_LEDS and V_LEDS
- Fixed mapping with H_LEDS and V_LEDS
The lib uses partly code of zoelechat's libScreenShot, except that it sends the data via UDP to an ESP8266 controller. So, without zoelechat, this project wouldn't be able - thx man!
Demo
https://www.youtube.com/watch?v=mOQVHFVH3VQ
Due to the fact that the script does not grab the data exactly from the edges but with some padding (to avoid black borders), therefore it looks like they're a bit offset.
Requirements
- adressable LED-Controller (WS28x, anything that's supported by FastLED)
- ESP8266-12E (the one with the USB-port, less headache )
- PSU (power-supply for LED-strip)
- First install latest samyGOso as usual, if needed.
Installation
- Get your LED light mounted and connected correctly and verify that it works with FastLED (use the Blink example)
- Modify the attached app.ino, especially the LEDS and WiFi-settings
- upload app.ino to the ESP8266
- Copy libAmbilight.so to the libSo directory (usually /mnt/opt/privateer/usr/libso
- Modify 99_100_AmbiLight.init to your needs (see section "Settings")
- Copy 99_100_AmbiLight.init to /mnt/etc/init.d (CAUTION!!! Test first that everything works fine, before you procede to this step)
Code: Select all
FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, BGR>(leds, NUM_LEDS);
H_LEDS amount of your horizontal leds (only on one side, top or bottom)
V_LEDS amount of vertical leds (only on one side, left or right)
SERVER_IP IP of the ESP8266
SERVER_PORT Port on which the ESP8266 operates (default 5050)
OFFSET Shift the LED data by this number (positive numbers only, max size of led-strip), generally the led-data starts at the bottom right corner (if you stand in front of your TV)
SLEEP (default: 1) the higher the value, the slower LED-change - increase this to 2 or 3 if you experience crashes
REVERSE set this option if LEDs are in reversing order
Testing
The log-output can be found under /dtv/AmbiLight.log (this is only populated in testing mode)
Use the example image, attachted here and cast it to your TV.
Modify and execute the following command.
Code: Select all
samyGOso -d -T -B -l /mnt/opt/privateer/usr/libso/libAmbiLight.so H_LEDS:36 V_LEDS:18 SERVER_IP:192.168.1.32 SERVER_PORT:5050 OFFSET:17 REVERSE TEST
If all is set up, you should at least see some lights
or with ALT
Code: Select all
samyGOso -d -T -B -l /mnt/opt/privateer/usr/libso/libAmbiLight.so H_LEDS:36 V_LEDS:18 SERVER_IP:192.168.1.32 SERVER_PORT:5050 OFFSET:17 REVERSE TEST ALT
Limitations
- Currently only MST-devices supported
- Currently no support for "gap" on the bottom of the TV
Since I do stuff like this as a hobby - feel free to donate
ToDo
- Modify ESP8266 firmware to be controllable via smartphone
Source code
https://gitlab.com/ad-on-is/samsung-ambilight