Fajny projekt, gdzie niewielkim kosztem jest wyświetlane podświetlenie LED za telewizorem na podstawie wyświetlanego obrazu. W moim rozwiązaniu użyta jest kamera umieszczona naprzeciwko TV oraz „stare” Rasberry PI3, które wcześniej sterowało moim domem i po upgrade do RPI5 leżało w szufladzie.
Została użyta kamera ponieważ na TV wyświetlane są tylko programy z aplikacji streaminowych, nie ma możliwości użycia grabbera sygnału i odczytu obrazu z we/wy HDMI.
Instalacja jest podzielona na dwie części:
- RPI3 wraz kamerą USB (kamera umieszczona prawie naprzeciw telewizora),
- sterowalna listwa LED z ESP32.
Instalacja
Schemat blokowy instalacji LED za TV

Sprzęt
- Zasilacz 5V/20A (koszt ok 50 PLN) – pewnie można użyć trochę mniejszy,
- Listwa RGB 2805 (koszt ok 80 PLN) – długość ok 4m (72LED na poziomych listwach i 40 na pionowych),
- ESP32-DevKitC-32U z anteną (koszt ok 10$),
- bezpieczniki samochodowe 2x10A,
- kostka połączeniowa,
- rezystor 300om (tłumienie zakłóceń na linii DATA),
- kabel zasilający 2×1.5mm2 – połączenie od zasilacza do kostki.



Uwagi
Niestety listwa dolna jest mocniej zasłonięta przez obudowę TV – co powoduje słabsze świecenie diód w dolnej części.
Konfiguracja
ESP32
Zainstalowane oprogramowanie WLED (z przeglądarki Chrome) – link.
WLED działa przez WIFI, na routerze ustawiony jest stały adres IP. Dodatkowo w WLED ustawiono ilość diód (Length), maksymalną wydajność prądową zasilacza (Maximum PSU Current ) oraz pin z linią danych (Data GPIO).
RPI3
Zainstalowane oprogramowanie HyperBian.

Aby zmniejszyć opóźnienie na linii kamera a listwa LED rejestruje obraz z rozdzielczością 320×240 przy 30FTPs. Relatywnie po kadrowaniu w moim przypadku zostaje ok 100×55 co i tak przewyższa ilość diód LED.
Integracja z HA
Standardowa integracja

Automatyzacje
Automatyczne włączenie/wyłączenie nagrywania i przetwarzania obrazu przy włączeniu telewizora.
- id: '1739489846028'
alias: Turn_off_WLED_salon_on_TV
description: ''
triggers:
- platform: state
entity_id: media_player.tv
from: 'on'
to: 'off'
conditions: []
actions:
- action: light.turn_on
target:
entity_id: light.wled210_3
data:
brightness_pct: 1
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.tv_salon_component_all
- delay: '00:00:03'
- action: light.turn_on
target:
entity_id: light.wled210_3
data:
brightness_pct: 1
- action: light.turn_off
target:
entity_id: light.wled210_3
mode: single
- id: '1739489846029'
alias: Turn_on_WLED_salon_on_TV
description: ''
triggers:
- platform: state
entity_id: media_player.tv
from: 'off'
to: 'on'
actions:
- action: light.turn_on
target:
entity_id: light.wled210_3
data:
brightness_pct: 1
- action: switch.turn_on
target:
entity_id: switch.tv_salon_component_all
- action: switch.turn_on
target:
entity_id: switch.tv_salon_component_led_device
- action: light.turn_on
target:
entity_id: light.wled210_3
data:
brightness_pct: 1
mode: single
Linki
https://docs.hyperion-project.org
https://kno.wled.ge/basics/getting-started
https://wled-calculator.github.io
https://www.thegeekpub.com/274631/wled-how-to-setup-and-configure-wled