No edit summary |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
|Tool=No | |Tool=No | ||
}} | }} | ||
For a while now I have had a led strip on the back of my TV to illuminate the room, recently however I have upgraded this light strip to addressable leds. And thus am now able to do much nicer effects with it. At first it only consisted of one string of 60 leds at the top of the TV, which for just illuminating the room was enough. But I wanted more, so I added another 60 leds at the bottom of the TV and eventually 15 leds at either sides of the TV making a total of 150 leds. On this wiki page I will document what I have done so far, any extra information and what I might do in the future. | For a while now I have had a led strip on the back of my TV to illuminate the room, recently however I have upgraded this light strip to addressable leds. And thus am now able to do much nicer effects with it. At first it only consisted of one string of 60 leds at the top of the TV, which for just illuminating the room was enough. But I wanted more, so I added another 60 leds at the bottom of the TV and eventually 15 leds at either sides of the TV making a total of 150 leds. On this wiki page I will document what I have done so far, any extra information and what I might do in the future. | ||
Of course you don't need to use a ESP8266, you could just as well wire the leds to a Raspberry Pi running Hyperion directly, I however, don't only want to use these leds just for Ambilight. When I'm not watching a movie or weeb shit I want to use them as normal lights. | Of course you don't need to use a ESP8266, you could just as well wire the leds to a Raspberry Pi running Hyperion directly, I however, don't only want to use these leds just for Ambilight. When I'm not watching a movie or weeb shit I want to use them as normal lights. | ||
[[File:20200306_224811.jpg|400px]] | |||
Line 34: | Line 37: | ||
=== Software (Raspberry Pi) === | === Software (Raspberry Pi) === | ||
I have a Raspberry Pi running Hyperion[https://hyperion-project.org/] which receives frames from my workstation, processes them and sends them to the ESP8266. | I have a Raspberry Pi running Hyperion.NG[https://hyperion-project.org/] which receives frames from my workstation, processes them and sends them to the ESP8266. | ||
I'm now running a Debian Buster with a real-time kernel and running hyperion-ng as realtime. Which, from what I can see, results in very low latency processing it. This is even with smoothing on, but set to minimal speeds. | |||
=== Workstation (Windows) === | === Workstation (Windows) === | ||
My Workstation is running HyperionScreenCap[https://github.com/hanselb/HyperionScreenCap] which is a small tool made in C#.net which can capture a screen using DirectX. | |||
[[File:uDYO2yb2iF.png|400px]] | |||
== Power == | == Power == | ||
This is a bit tricky, and something I am still working on. I started running things of a 2A 5V wall-wart, but when I was adding the extra 30 leds I took a closer look and noticed that the colour degraded over the course of the whole string, indicating that power was running scares. At the end of the strip I measured around 2~3 volts, which is way too low. I solved this problem by running additional 5v and gnd to a few different points of the whole led string, which solved the problem. | This is a bit tricky, and something I am still working on. I started running things of a 2A 5V wall-wart, but when I was adding the extra 30 leds I took a closer look and noticed that the colour degraded over the course of the whole string, indicating that power was running scares. At the end of the strip I measured around 2~3 volts, which is way too low. I solved this problem by running additional 5v and gnd to a few different points of the whole led string, <s>which solved the problem.</s> I still have a voltage drop to around 4.6V with all leds on, even with running thicker and secondary wiring. I'm assuming I need to use another rail on the power supply to deliver more current. | ||
[[File:20191212_150948.jpg|400px]] | [[File:20191212_150948.jpg|400px]] | ||
Picture showing the colours degrading over time. | Picture showing the colours degrading over time. | ||
Another nice feature of Wled is that it can switch on a power supply once the leds are to come on. Using this feature I'm able to feed the MCU 5V stand-by from the PSU and trigger a relay which then shorts the power on pin to ground. | |||
[[File:20200306_221116.jpg|400px]] | |||
Current wiring of the power supply | |||
Line 60: | Line 73: | ||
</s> | </s> | ||
Ended up using an m-atx PSU that can deliver 10A on the 5v rail. | <s>Ended up using an m-atx PSU that can deliver 10A on the 5v rail.</s> | ||
Powersupply died a few weeks of being in used and has been replaced with a Chieftec 500Watt power supply. | |||
[[File:20200306_221107.jpg|400px]] | |||
== Future == | |||
* Upgrade all the leds to APA102 (Higher refresh rate, https://cpldcpu.wordpress.com/2014/08/27/apa102/) |
Latest revision as of 23:12, 6 March 2020
DIY Ambilight | |
---|---|
Participants | Melan |
Skills | Soldering, Software, raspberry pi, ESP8266, Linux, Electronics |
Status | Active |
Niche | Video artsy stuff |
Purpose | |
Tool | No |
Location | |
Cost | |
Tool category |
DiyAmbilight.jpg {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::{{{Cost}}} | }}
For a while now I have had a led strip on the back of my TV to illuminate the room, recently however I have upgraded this light strip to addressable leds. And thus am now able to do much nicer effects with it. At first it only consisted of one string of 60 leds at the top of the TV, which for just illuminating the room was enough. But I wanted more, so I added another 60 leds at the bottom of the TV and eventually 15 leds at either sides of the TV making a total of 150 leds. On this wiki page I will document what I have done so far, any extra information and what I might do in the future.
Of course you don't need to use a ESP8266, you could just as well wire the leds to a Raspberry Pi running Hyperion directly, I however, don't only want to use these leds just for Ambilight. When I'm not watching a movie or weeb shit I want to use them as normal lights.
Parts
If you are going to do this, make sure you first measure the length of your TV (and height), you could buy a single 10m strip for example which I reckon is more than enough!
- 2x 1m 60 leds WS2812B [1]
- 2x 15 WS2812B (Although sourced from a single 1m 60 led string)
- Some wiring [2]
- Connectors for the strips¹ (https://www.aliexpress.com/item/32966181600.html?spm=a2g0s.9042311.0.0.27424c4dCdAfnS)
- 1000 uF 16v cap
- ESP8266 [3] (I used a Wemos D1 mini)
- hotglue
- Raspberry pi or something to run Hyperion on.
1) Since I had cut two strips to 15 leds, I soldered the male and female connectors on them so I could easily disconnect/replace them if I wanted to.
Software
ESP8266
Currently I am using WLED[4], it supports Hyperion natively and also has some other functions such as talking to it over MQTT, SACN and UDP.
Software (Raspberry Pi)
I have a Raspberry Pi running Hyperion.NG[5] which receives frames from my workstation, processes them and sends them to the ESP8266.
I'm now running a Debian Buster with a real-time kernel and running hyperion-ng as realtime. Which, from what I can see, results in very low latency processing it. This is even with smoothing on, but set to minimal speeds.
Workstation (Windows)
My Workstation is running HyperionScreenCap[6] which is a small tool made in C#.net which can capture a screen using DirectX.
Power
This is a bit tricky, and something I am still working on. I started running things of a 2A 5V wall-wart, but when I was adding the extra 30 leds I took a closer look and noticed that the colour degraded over the course of the whole string, indicating that power was running scares. At the end of the strip I measured around 2~3 volts, which is way too low. I solved this problem by running additional 5v and gnd to a few different points of the whole led string, which solved the problem. I still have a voltage drop to around 4.6V with all leds on, even with running thicker and secondary wiring. I'm assuming I need to use another rail on the power supply to deliver more current.
Picture showing the colours degrading over time.
Another nice feature of Wled is that it can switch on a power supply once the leds are to come on. Using this feature I'm able to feed the MCU 5V stand-by from the PSU and trigger a relay which then shorts the power on pin to ground.
Current wiring of the power supply
Wled tries to estimate how much amperage you need, but I found this to be incorrect. For example, it told me I needed a 9A power supply to run 150 leds, while in practice all 150 leds at maximum brightness only needed around 4.8A. A Nice feature in Wled however is that you can set a limit on amps it can use, and it will keep the brightness lower so that it doesn't exceed it.
I still need to decide what I want to do for a power supply, the 2A just isn't cutting it anymore.
My options are:
- Mean Well LRS-50-5 [7]
- Use a PC power supply
- Rig together 3 5V wall-warts
- Find something decent at work
Ended up using an m-atx PSU that can deliver 10A on the 5v rail.
Powersupply died a few weeks of being in used and has been replaced with a Chieftec 500Watt power supply.
Future
- Upgrade all the leds to APA102 (Higher refresh rate, https://cpldcpu.wordpress.com/2014/08/27/apa102/)