Stwórz niepowtarzalny, wieczorny klimat. Oświetlenie ambient dla telewizorów na bazie Raspberry Pi

Czas czytania: 4 min.

Producenci telewizorów wprowadzają często różne udogodnienia, które mają ułatwić użytkownikowi rozrywkę. Często jednak wprowadzane są funkcje typowo estetyczne. Jedną z takich funkcji jest oświetlenie ambient. Oświetlenie ambientowe tworzy na ścianie za telewizorem poświatę, która zmienia się w zależności od wyświetlanego aktualnie obrazu. 

Oczywiście możemy kupić telewizor z systemem ambient, jednak my taki system wykonamy samodzielnie!

Ambient light TV telewizor oświetlenie

Czego potrzebujemy do wykonania projektu?

Do budowy systemu ambient potrzebujemy kilku podzespołów. Niezbędny będzie minikomputer Raspberry Pi wraz z zasilaczem i kartą pamięci. Do pobrania obrazu z urządzenia, które przesyła obraz do telewizora niezbędny będzie splitter HDMI, czyli urządzenie, które rozdzieli sygnał na dwa wyjścia. Po rozdzieleniu sygnału musimy go konwertować na sygnał analogowy – tutaj niezbędny będzie konwerter HDMI -> AV. Sygnał do maliny dostarczy konwerter AV -> USB. Do stworzenia oświetlenia ambient potrzebujemy również źródła światła – my stosujemy diody adresowalne APA102 w formie wygodnego paska. Lista produktów dostępna jest poniżej:

Kliknij w przycisk poniżej, aby wyświetlić pełną listę zakupów:

Oprócz elementów elektronicznych przyda nam się lutownica, kilka przewodów do połączenia fragmentów taśmy, jeden przewód z żeńskim goldpinem, cążki do obcinania przewodów i oczywiście chęć stworzenia własnego systemu iluminacji świetlnej!

Konfiguracja wstępna Raspberry Pi

Abyśmy mogli ustawić nasze oświetlenie, musimy zacząć od przygotowania Raspberry. Na początku instalujemy system i dodajemy pliki, które umożliwią połączenie się z Wi-Fi i za pomocą SSH. Później łączymy się z RPi za pomocą Putty i aktualizujemy malinę (cały zabieg wykonujemy tak, jak w poradniku o systemie inteligentnego domu), znajdujemy się w tym momencie:

Wygląd terminala w programie Putty po zalogowaniu.

Po zainstalowaniu i zaktualizowaniu software maliny możemy odpiąć ją od zasilacza i zająć się bardziej namacalną częścią projektu.

Montaż diod na telewizorze

Aby efekt był widoczny, musimy zamocować diody na telewizorze. Oczywiście zaczynamy od przecięcia paska na długości odpowiadające długości boków telewizora. Pamiętajmy, że na górnym boku musi być tyle samo diod co na dolnym, a na lewym tyle samo co na prawym. Po wykonaniu cięć możemy przylutować do taśmy przewody, już tutaj warto skupić się na ułożeniu taśmy. Na taśmie nadrukowane są strzałki. Strzałki po przyklejeniu taśmy muszą być ułożone zgodnie z kierunkiem ruchu wskazówek zegara, tak jak na grafice poniżej.

Kierunek połączenia diod.

W miejscu, gdzie na grafice powyżej jest “jedynka”, powinny znaleźć się pierwsza dioda i przewody do sterowania i zasilania całej taśmy. Możemy przylutować do czarnego przewodu GND z naszego zasilacza 12V, do czerwonego lutujemy zaś VCC. Uważni zauważą, że zostaną nam dwa przewody – tutaj musimy wziąć gotowe przewody z żeńskimi goldpinami, przeciąć je przy jednym z gniazd i przylutować go do wolnych przewodów z taśmy. Przewód zielony to “Clock Pin”, a żółty to “Data Pin”.

Jak zabrać obraz tak, aby nikt nie zauważył?

To  bardzo prosty zabieg. Zacznijmy od podłączenia do wejścia splittera przewodu HDMI połączonego ze źródłem obrazu. W moim przypadku źródłem obrazu jest konsola, na której zainstalowane są potrzebne serwisy z materiałami wideo. Jeśli używacie dekodera lub odtwarzacza Blu-Ray/DVD, to podłączcie przewód, który podaje sygnał z używanego urządzenia. Do obu wyjść splitera podłączamy przewody HDMI. Jeden podłączamy do wcześniej używanego złącza HDMI w telewizorze, a drugi do konwertera. W konwerterze mamy trzy wyjścia: jest to CVBS, najczęściej oznaczane kolorem żółtym, Audio(L) oznaczone kolorem białym i Audio(R) oznaczone kolorem czerwonym. Do złącz podłączamy łączniki, a do nich złącza grabbera wideo. Następnie złącze USB grabbera podłączamy przez przewód OTG do naszej maliny. Splitter i konwerter HDMI -> AC wymagają zasilania: w zestawie z jednym, jak i drugim urządzeniem są przewody zakończone złączem USB, więc podłączamy je do huba. Jeśli mamy aktywnego huba USB o dużej wydajności, to możemy podłączyć do niego malinę. Gdy posiadamy pasywnego huba, to wówczas podłączamy tylko splitter i konwerter HDMI -> AV. Splitter i konwerter pobierają bardzo mało prądu, więc możemy pokusić się o podłączenie huba pasywnego do złącza USB w naszym telewizorze. Wydaje się skomplikowane? Po zerknięciu na schemat poniżej wszystko będzie oczywiste.

Schemat połączenia urządzeń za telewizorem.

Po wykonaniu połączeń ze schematu możemy podłączyć goldpiny żeńskie wychodzące z taśmy. Do pinu 19 (nie mylić z GPIO19) maliny podłączamy “Data Pin”, a do pinu 23 podłączamy “Clock Pin”. Jeśli nie wiemy gdzie się znajdują, to poniżej znajdziemy małą podpowiedź:

Rozłożenie pinów GPIO w Raspberry Pi.

 

Gotowe? Podłączymy teraz całość do prądu i zakończmy konfigurację.

Konfiguracja oprogramowania

Po wykonaniu wszystkich połączeń przechodzimy o krok dalej. Musimy teraz pobrać program HyperCon, co najlepiej zrobić poprzez oficjalną stronę projektu. Do uruchomienia niezbędna będzie Java, którą możemy pobrać tutaj. Po pobraniu klikamy dwa razy przyciskiem myszy na plik, a naszym oczom ukaże się poniższy obraz.

Menu programu HyperCon.

Klikamy teraz na zakładkę “SSH”. W “Target IP” wpisujemy adres lokalny naszej maliny, po czym klikamy “Connect”. Po rozpoczęciu połączenia klikamy “Show Traffic”; jeśli ukaże nam się obraz taki, jak poniżej, to znaczy, że HyperCon połączył się z naszą maliną.

Komunikat sygnalizujący poprawne połączenie się z maliną.

Teraz zainstalujmy Hyperiona na malinie. Aby to zrobić klikamy na przycisk “Inst./Upd. Hyperion”. Pokaże nam się okno wyboru, klikamy “Yes” i czekamy kilka chwil, a po zakończeniu instalacji w oknie terminala pokaże nam się:

Po zainstalowaniu klienta Hyperiona na malinie możemy przejść do stworzenia pliku konfiguracyjnego. Na początku kliknijmy na zakładkę “Hardware”. W polu “Device” musimy wybrać taśmę led, z której będziemy korzystać. W naszym przypadku jest to APA102. Niżej w “RGB Byte Order” zmieniamy z “RGB” na “BGR”.  W polu “Construction” uzupełniamy informacje o naszych diodach. W “LEDs horizontal” wpisujemy, ile diod jest na górnym boku telewizora (oczywiście na dole jest taka sama ilość), w moim przypadku jest to 47 diod. W “LEDs Left”  i “LEDs Right” wpisujemy, ile diod jest po prawej i lewej stronie, w moim przypadku jest to 21 diod. W “1st LED offset” musimy wpisać wartość, która będzie korygować położenie diod, aby ustawienie było prawidłowe. W lewym dolnym rogu symulacji ekranu musi być widoczne “0”. W “Blackborder Detection” zaznaczamy checkboxa “Enabled”, a w “Threshold [%]” wpisujemy 5. Konfiguracja zakładki “Hardware” powinna wyglądać jak poniżej:

Prawidłowa konfiguracja zakładki “Hardware”.

Przejdziemy teraz do zakładki “Process”, tutaj zmieniamy tylko jeden parametr, mianowicie “Update Freq. [Hz]”. Parametr ten decyduje o próbkowaniu obrazu. Konsola przesyła obraz z prędkością 30 kl/s, więc musimy ustawić wartość “30”. Jeśli jednak korzystacie z odtwarzacza, który przesyła obraz z prędkością 60 kl/s, to możecie zwiększyć tą wartość.

Zmiana częstotliwości próbkowania.

Po zmianie częstotliwości przechodzimy do zakładki “Grabber” i w “Internal Frame Grabber” odznaczamy checkboxa “Enabled”, a w polu “GrabberV4L2” zaznaczamy go.

Teraz wracamy do zakładki “SSH”, na dole klikamy na przycisk “Create Hyperion Configuration” i wskazujemy lokalizację zapisu. Po zapisaniu pliku konfiguracyjnego w polu “SSH – Send Hyperion Configuration” klikamy na “Local Config Path”, wskazujemy lokalizację zapisanego wcześniej pliku i klikamy “Send Config”. Ostatnią operacją, którą musimy wykonać, jest kliknięcie “Start”. Teraz za naszym telewizorem powinna ukazać się poświata taka jak na zdjęciu poniżej:

Gotowe! Teraz możesz cieszyć się niepowtarzalnym klimatem w swoim pokoju. 

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 5 / 5. Liczba głosów: 4

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Marcin Lesiński

Marcin Lesiński

Miłośnik elektroniki, druku 3D i nauk stosowanych, swoją wiedzę gromadzi od 14-tego roku życia. W Botlandzie tworzy projekty i poradniki dla klientów, a w wolnym czasie zajmuje się automatycznymi uprawami i prototypowaniem. Fan muzyki rockowej i brytyjskiego kina.

Zobacz więcej:

Masz pytanie techniczne?
Napisz komentarz lub zapytaj na zaprzyjaźnionym forum o elektronice.

8 Responses

    1. Do aktywacji efektu ambient niezbędna jest transmisja obrazu przez przewód HDMI, który musi być wpięty do Raspberry Pi. Niestety nie ma możliwości aktywowania tej funkcji bezpośrednio z telewizora.

  1. Hej, generalnie projekt bardzo fajny. Sprostowałbym kilka rzeczy. Ja osobiście jednak trochę bym pozmieniał. Z racji tego, że na rynku są często różne słabe grabbery to przede wszystkim zamieniłbym
    Konwerter AC -> USB
    Konwerter HDMI -> AV
    na jedno dużo tańsze i dużo mniejsze urządzenie (wielkości pendrive):
    Konwerter HDMI -> USB (zamiast 2 urządzeń mamy tylko jedno) lub ewentualnie jest opcja na splitter, który już ma wbudowany konwerter na USB (wtedy zamiast 3 urządzeń tylko 1).
    Jeżeli już koniecznie chcemy ten grabber AV to nie potrzebne są nam 3 kable tylko wystarczy podłączyć żółty CVBS, audio są niepotrzebne.
    Jeżeli zaś chodzi o kilka źródeł obrazu np. 2 konsole, czy MiBox itd. to polecałbym przełącznik sygnału hdmi.
    Generalnie rozłożenie ledów nie ma znaczenia gdzie sie zaczynają dla nas i czy idą zgodnie ze wskazówkami zegara czy przeciwnie. Kolejnym tematem jest ilość ledów, które na dole i na górze nie muszą być równej liczby, bo to już w hyperionie można ustawić bez problemu, tak samo tyczy się lewej i prawej.
    Generalnie można też użyć LEDów 3-przewodowych korzystając z pinów PWM RPi, ja polecam jednak 4-przewodowe i najlepiej na 5V wtedy jeden zasilacz do wszystkiego.
    A jeżeli lubimy mieć ładny system zarządzający user friendly bez zabaw w konsoli SSH to polecam Hyperbian. Ważna rzecz na koniec tego przydługiego wywodu, jeżeli RPi ma inne zasilanie niż LEDy to należy podpiąć do RPi do pinu GND przewód GND z zasilacza led (połączyć GND).
    Generalnie szanuję za wkład włożony w ten poradnik, oby więcej tak fajnych rzeczy.

  2. Projekt jest świetny. Mam jednak kilka uwag.
    Pierwsza to, że Pi Zero jest za słabe do tego celu. Być może mój egzemplarz miał problem, ale odpalenie strony konfiguracyjnej Hyperiona graniczyło z cudem. Dopiero po zastosowaniu Pi 3B+ wszystko śmiga jak należy.
    Druga kwestia, to komentarz kolegi DAWIDA dotyczący zamiany splittera, konwertera i grabbera na jedno urządzenie. Taka zamiana nie zadziała na sygnale, który ma cyfrowe zabezpieczenie przed kopiowaniem (np sygnał z dekodera TV kablowej, czy satelitarnej. Po to jest konwersja do formatu analogowego aby pozbyć się zabezpieczenia. W komputerze może zadziałą, ale nie przy odbiorze telewizji.
    Trzecia rzecz to polecam LEDy 5v i kupno zasilacza nieco mocniejszego (max 5-8 W) i podpięcie zasilania wszystkiego do niego. Wystarczy wykorzystać stare kable z wtyczkami mikro USB, obciąć wtyczkę USB A i kable czerwony i czarny podłączyć do wyjścia zasilacza. Wtedy włączając cały ukłąd od razu dajemy zasilanie na wszystko. Ma to jeden minus: splitter też będzie uzależniony od zasilacza i jeżeli nie chcemy włączać podświetlenia, to nie będzie przesyłu sygnału. Polecam więc wariant, gdzie splitter ma odrębne zasilanie a pozostałe elementy z jednego zasilacza.

  3. Całość wygląda naprawdę dobrze i może dostarczyć dodatkowych wrażeń z oglądania czy nawet grania. Mam pytanie. Czy kolor ściany za telewizorem wpływa jakość na działanie całości?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ze względów bezpieczeństwa wymagane jest korzystanie z usługi Google reCAPTCHA, która podlega Polityce prywatności i Warunkom użytkowania.