SantyagoSantyago
YouTube RSS Google+ Facebook GitHub

Kategorie wpisów

Okazje Allegro

Obudowa plastikowa 110mm x 80mm x 25mm (biała)

Obudowa plastikowa 110mm x 80mm x 25mm (biała)
Kup teraz: 17,22 zł

Reklama na Blogu

Najnowsze poradniki

Ostatnie komentarze

Popularne wpisy

Facebook

Google+

Ostatnie fotografie

polskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorypolskie-gorywieliczka-szyb-danilowicza

Ponieważ RaspberryPi sprawdza się bardzo dobrze jako domowe centrum rozrywki, grzechem byłoby nie wykorzystać go do jeszcze jednego celu - a mianowicie dynamicznego podświetlania telewizora, reagującego na aktualnie wyświetlany obraz. Efekt jaki chcemy uzyskać ma być niemal identyczny do technologii Ambilight znanej w telewizorach Philips.

W sieci można znaleźć dziesiątki rozwiązań w większości wykorzystujące platformę Arduino i bibliotekę Boblight. Rozwiązanie już sprawdzone, ale ma zasadniczą wadę, jaką jest konieczność posiadania płytki Arduino i połączenia jej komputerem za pomocą USB. Drugim dość istotnym problemem jest wtyczka do XBMC do obsługi Boblight, która wymaga do działania X11, a jak wiadomo multimedialne dystrybucje z XBMC na pokładzie wykorzystują do wyświetlania obrazu framebuffer.

I tak dochodzimy do sedna problemu. Jak zmusić do działania bibliotekę Boblight na XBMC pod "maliną" oraz jak wyeliminować w naszym łańcuchu pośredniczące Arduino?

Podłączenie

Do naszego Ambilighta posłużymy się łańcuchem diod RGB z wbudowanymi już układami WS2801 z oferty polskiego sklepu Nettigo. Z jednej strony zasilimy naszą taśmę LED dodatkowym zasilaczem 5V. Z drugiej zaś strony łączymy naszą taśmę do pinów GPIO 10 i 11 oraz łączymy masę GND (-) z masą diod.

Instalacja Boblight na Raspbmc

Do naszego zadania wykorzystamy multimedialną odmianę Debiana - Rasbmc. Po nagraniu obrazu na kartę SD i uruchomieniu naszej "maliny", logujemy się do nej za pomocą SSH w celu przygotowania naszego domowego podświetlania obrazu;

Na początek zaktualizujemy repozytoria i pobierzemy niezbędne pakiety do kompilacji:

  1. sudo apt-get update
  2. sudo apt-get install make gcc g++ subversion

Następnie pobieramy i kompilujemy bibliotekę Boblight, która będzie sterowała naszą taśmą LED. Ponieważ nie korzystamy z X11 oraz USB wyłączymy zbędne opcje:

  1. cd ~
  2. svn checkout http://boblight.googlecode.com/svn/trunk/ boblight-read-only
  3. cd boblight-read-only/
  4. ./configure --prefix=/usr --without-portaudio --without-x11 --without-libusb
  5. make
  6. sudo make install

Proces instalacji potrwa około kwadransa, więc jeśli masz coś do roboty - zrób to :) Kiedy mamy już zainstalowaną bibliotekę, konieczne jest utworzenie pliku konfiguracyjnego. Jeśli posiadamy taśmę składającą się z 25 diod LED (ułożenie diod 5-8-5-7):

  1. sudo wget http://www.jarzebski.pl/files/ambilight/boblight-25-5-8-5-7.conf -O /etc/boblight.conf

Jeśli posiadamy taśmę składającą się z 50 diod LED (ułożenie diod 9-16-9-16):

  1. sudo wget http://www.jarzebski.pl/files/ambilight/boblight-50-9-16-9-16.conf -O /etc/boblight.conf

Następnie uruchamiamy boblighd:

  1. sudo boblightd -f

Powyższe polecenie możemy od razu dodać do skryptu starowego:

  1. sudo nano /etc/rc.local

dodając następującą linię przed "exit 0":

  1. /usr/bin/boblightd -f
  2. exit 0

Sprawdźmy jeszcze poprawność podłączenia naszej taśmy LED do Raspberry Pi zapalając diody na czerwono:

  1. boblight-constant ff0000

Podmiana XBMC

Jak już wiemy, XBMC do odtwarzania filmów wykorzystuje framebuffer i standardowo nie będziemy w stanie przekazać prawidłowego sygnału do boblightd. Na szczęście dostępne są już odpowiednie łatki do XBMC dodające natywną obsługę biblioteki Boblight z pominięciem wtyczki wymagającej X-ów. Po naniesieniu łatek możemy skompilować XBMC sami lub skorzystać z gotowych binarek:

  1. cd ~
  2. wget http://www.jarzebski.pl/files/ambilight/xbmc-ambilight-20130310.tar.gz
  3. sudo initctl stop xbmc
  4. sudo tar -xzf xbmc-ambilight-20130310.tar.gz -C /opt
  5. sudo cp /opt/xbmc-bcm/xbmc-bin/lib/libtinyxml.so* /usr/lib/
  6. wget http://www.jarzebski.pl/files/ambilight/boboptions.txt

Pozostaje nam już tylko restart i możemy cieszyć się naszym domowym kinem domowym z funkcją Ambilight

  1. sudo reboot

Jak to działa?

Komentarze Komentarze
Avatar 1
frk Linux / Safari 537.31
10 marzec 2013 - 12:14 Brak informacji

Zajefajna sprawa ;-)

Avatar 1
PanArtur83 Linux Ubuntu / Mozilla Firefox 19.0
11 marzec 2013 - 23:09 Brak informacji

Dziękuję za ten wpis. Jest bardzo inspirujący.

Ile takich łańcuchów poszło na taki efekt?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 19.0
11 marzec 2013 - 23:32 Bytom

tylko 25 diod RGB

Avatar 1
Krystek Linux x86_64 / Safari 537.22
20 marzec 2013 - 00:50 Poznań

Nie uważasz czasem, że koszt takiej taśmy jest relatywnie duży? Pewnie dałoby się go zmniejszyć zwiększając tym samym nakład pracy.
Nie mniej fajny efekt.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 19.0
20 marzec 2013 - 06:58 Bytom

Fakt, koszt taśmy jest spory. O ile z diodami RGB i podstawowymi elementami nie ma problemów, to chyba nie idzie dostać w Polsce układów WS2801. Na SparkFun są po 0.75$ (~60zł), diody RGB (~40zł) + oporniki, kondensatory, przewód + jakieś płytki + przesyłka.... Więc nie jest tak źle.

Avatar 1
dodo Windows 7 / Mozilla Firefox 20.0
15 kwiecień 2013 - 09:59 Brak informacji

Hello guys,

will this work with RGB LED stripes using chip HL1606?

Thanks
Dodo

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 19.0
17 kwiecień 2013 - 00:40 Bytom

Will work with LPD8806, boblight probably does not support the HL1606

Avatar 1
kwoka Windows 7 / Safari 537.36
09 styczeń 2015 - 20:29 Brak informacji

witam.
skąd można pobrać plik boblight.conf dla 25diod?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
10 styczeń 2015 - 04:39 Bytom
Avatar 1
kwoka Windows 7 / Safari 537.36
10 styczeń 2015 - 10:49 Brak informacji

Dziękuję bardzo za szybką odpowiedź.
Mam problem jednak.
Wszystko ładnie działa do momentu testu wyświetlania jednego koloru.
Po ostatniej instalacji latki xbmc i restarcie system nie uruchamia sie do końca, tzn wyświetli sie na środku czerwone R, następnie tło Raspbmc i po chwili następuje restart. I tak w kółko.
Proszę o pomoc, co jest nie tak?

Avatar 1
kwoka Windows 7 / Safari 537.36
10 styczeń 2015 - 14:14 Brak informacji

Witam ponownie.
Przeinstalowałem wszystko na nowo i jest tak samo.
Plik boblight-25-5-8-5-7.conf zmieniłem w ten sposób, proszę o sprawdzenie czy jest ok, ewentualnie co jeszcze mam sprawdzić.
-----
[global]
interface 127.0.0.1
port 19333

[device]
name ambilight
output /dev/spidev0.1
channels 75
type ws2801
interval 120000
rate 48000
debug off

[color]
name red
rgb FF0000

[color]
name green
rgb 00EE00

[color]
name blue
rgb 0000CC

[light]
name b01
color red ambilight 1
color green ambilight 2
color blue ambilight 3
hscan 35.72 50
vscan 87 100

[light]
name b02
color red ambilight 4
color green ambilight 5
color blue ambilight 6
hscan 21.44 35.72
vscan 87 100

[light]
name b03
color red ambilight 7
color green ambilight 8
color blue ambilight 9
hscan 7.16 21.44
vscan 87 100

[light]
name l01
color red ambilight 10
color green ambilight 11
color blue ambilight 12
hscan 0 13
vscan 80.00 100

[light]
name l02
color red ambilight 13
color green ambilight 14
color blue ambilight 15
hscan 0 13
vscan 60.00 80.00

[light]
name l03
color red ambilight 16
color green ambilight 17
color blue ambilight 18
hscan 0 13
vscan 40.00 60.00

[light]
name l04
color red ambilight 19
color green ambilight 20
color blue ambilight 21
hscan 0 13
vscan 20.00 40.00

[light]
name l05
color red ambilight 22
color green ambilight 23
color blue ambilight 24
hscan 0 13
vscan 0 20.00

[light]
name t01
color red ambilight 25
color green ambilight 26
color blue ambilight 27
hscan 0 12.50
vscan 0 13

[light]
name t02
color red ambilight 28
color green ambilight 29
color blue ambilight 30
hscan 12.50 25.00
vscan 0 13

[light]
name t03
color red ambilight 31
color green ambilight 32
color blue ambilight 33
hscan 25.00 37.50
vscan 0 13

[light]
name t04
color red ambilight 34
color green ambilight 35
color blue ambilight 36
hscan 37.50 50.00
vscan 0 13

[light]
name t05
color red ambilight 37
color green ambilight 38
color blue ambilight 39
hscan 50.00 62.50
vscan 0 13

[light]
name t06
color red ambilight 40
color green ambilight 41
color blue ambilight 42
hscan 62.50 75.00
vscan 0 13

[light]
name t07
color red ambilight 43
color green ambilight 44
color blue ambilight 45
hscan 75.00 87.50
vscan 0 13

[light]
name t08
color red ambilight 46
color green ambilight 47
color blue ambilight 48
hscan 87.50 100.00
vscan 0 13

[light]
name r01
color red ambilight 49
color green ambilight 50
color blue ambilight 51
hscan 87 100
vscan 0 20.00

[light]
name r02
color red ambilight 52
color green ambilight 53
color blue ambilight 54
hscan 87 100
vscan 20.00 40.00

[light]
name r03
color red ambilight 55
color green ambilight 56
color blue ambilight 57
hscan 87 100
vscan 40.00 60.00

[light]
name r04
color red ambilight 58
color green ambilight 59
color blue ambilight 60
hscan 87 100
vscan 60.00 80.00

[light]
name r05
color red ambilight 61
color green ambilight 62
color blue ambilight 63
hscan 87 100
vscan 80.00 100.00

[light]
name b04
color red ambilight 64
color green ambilight 65
color blue ambilight 66
hscan 85.72 100
vscan 87 100

[light]
name b05
color red ambilight 67
color green ambilight 68
color blue ambilight 69
hscan 71.44 85.72
vscan 87 100

[light]
name b06
color red ambilight 70
color green ambilight 71
color blue ambilight 72
hscan 57.16 71.44
vscan 87 100

[light]
name b07
color red ambilight 73
color green ambilight 74
color blue ambilight 75
hscan 42.88 57.16
vscan 87 1

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
11 styczeń 2015 - 14:08 Bytom

Z tego co pamiętam XBMC musiał być z łatką, nie używam już tego więc nie wiem, czy nowsze wersje tej łatki nie wymagają

Avatar 1
Maurycy Windows 7 / Safari 537.31
15 maj 2013 - 18:08 Warszawa

Bardzo fajny pomysł. Sam mam w domu telewizor Philipsa właśnie z ambilightem i muszę przyznać, że robi to sporą różnicę jeżeli oglądamy film, czy mecz. Ogólnie uważam, ze Philips z tym pomysłem spisał się świetnie.

Avatar 1
Mihster Windows 7 / Safari 537.36
31 maj 2013 - 23:05 Brak informacji

No o czym że to świadczy, o kopiowaniu świetnych pomysłów. ;-)
Nie mniej Philips zrobił rewelacyjny patent i ja jestem nim zachwycony. Odnośnie Twojego wykonania, chapeau bas za chęci i wyśmienity efekt końcowy. :)

Avatar 1
Pwl Windows XP / Mozilla Firefox 23.0
31 sierpień 2013 - 13:16 Brak informacji

Taśmy led z układami WS2801 można stosunkowo tanio znaleźć na aliexpress.

Avatar 1
iborkim Windows 7 / Mozilla Firefox 24.0
17 październik 2013 - 22:14 Jaworzno

Można użyć diody lpd 6803 ?
Akurat takie mam na stanie i chętnie bym je do tego wykorzystał.

Avatar 1
troll Windows 7 / Mozilla Firefox 23.0
23 październik 2013 - 22:49 Gliwice

Cześć. Mam pytanie. Robię sobie ambilampkę z 8 diodami LED. 4 kolory w tym samym czasie, na każdy po 2 diody. Nie chcę mieć limitu tylko do 7 różnych kolorów, więc potrzeba mi jakoś sterować tymi diodami. 4x WS2801 wziąć do tego, czy coś innego?

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 24.0
25 październik 2013 - 07:08 Bytom

Możesz 1xTLC5940 lub 1xWS2803 + traznzystory. TLC ma na wyjście max 120mA, WS2803 30mA. Możesz tez bez, o ile na dwie diody zadowoli Cię 30mA. Innym wariantem jest 2x WS803 i każdą diodę z osobna (4 kolory po 3 szt)

Avatar 1
troll Windows 7 / Mozilla Firefox 23.0
26 październik 2013 - 21:27 Warszawa

Ok, wielkie dzięki. Jeszcze zajmę Ci moment, bo jestem amator jeśli o te sprawy idzie.

Aktualnie mam przygotowany na schemacie układ bez pwm, czyli maks 7 kolorów: ATtiny2313, do tego podłączone 2 układy Darlingtona, do 6 wyjść z każdego Darlingtona podłączone rezystory 220, a potem diody. Zasilane z konwertera rs232 usb. Coś takiego (schemat niedokończony):
Oryginalny obraz posiada rozmiar 923x445

Czyli jeśli bym użył tego TLC5940, to podłączyłbym go bezpośrednio do ATtiny, potem do niego dałbym te darlingtony, a potem diody? To by było ok? W specyfikacji pisze, że nie trzeba przy podłączaniu LEDów używać już rezystorów, ale możliwe, że nie obędzie bez tych dodatkowych rezystorów przy wyjściach z pwm, bym mógł podpiąć wszystkie 8 diód.

Jak testowałem na płytce wcześniej ile mi LED pobierze amperów, to przy 100R dla wszystkich 3 kolorów włączonych wyszło jakieś 60mA. Przy 220R spadło do ~30mA. Różnicy w świeceniu nie zaobserowałem, a dzięki temu mogę podpiąć te 8 diód, bo zżerają razem ~240mA, przy 100R by mi brakło, bo by wyszło 480mA, czyli sporo za dużo.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 24.0
27 październik 2013 - 01:42 Bytom

TLC daje radę przy 120mA na każdym z wyjść przy zasilaniu 5V, więc nie potrzebujesz tranzystorów. Rezystorów do diod również nie - możesz dobrać maksymalny prąd na wyjściu przy pomocy rezystora IREF.

Poczytaj tutaj:

http://starter-kit.nettigo.pl/2012/01/tlc5940-czyli-co-najmniej-16-dodatkowych-pinow-pwm-w-arduino/

Układ zaś dostaniesz tutaj:

http://nettigo.pl/products/50

Avatar 1
troll Windows 7 / Mozilla Firefox 23.0
27 październik 2013 - 09:33 Brak informacji

Wielkie dzięki :)

Avatar 1
troll Windows 7 / Mozilla Firefox 23.0
26 październik 2013 - 21:29 Warszawa

Jakby co, tp tam przy wartościach wstawiłem tyldę, a wyświetla jak minus.

Avatar 1
Piotr Windows XP / Mozilla Firefox 25.0
07 listopad 2013 - 09:59 Warszawa

Czy możliwe jest uruchomnienie ambilighta albo boblight na układach ws2803??

Avatar 2
Korneliusz Linux Ubuntu / Mozilla Firefox 25.0
07 listopad 2013 - 11:33 Katowice

Myślę, że tak. Pytanie Czy chcesz bezpośrednio sterować z RaspberryPI ,czy za pośrednictwem Arduino. WS2803 od WS2801 różni się jedynie kolejnością przekazania danych do kolejnego układu względem WS2801: http://www.jarzebski.pl/blog/2013/07/18/test-sterownika-led-ws2803.html

Avatar 1
Jakub Windows 7 / Safari 537.36
16 styczeń 2015 - 10:46 Brak informacji

Witam,

Bardzo dobry projekt. Mam tylko pytanie, czy układ działa tylko przy obrazi z rasberry, czy można wykorzystać gniazdo HDMI jak "INPUT" i wykorzystać sygnał z dekodera.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 34.0
16 styczeń 2015 - 20:34 Bytom

Niestety RPi posiada tylko wyjście HDMI

Avatar 1
Chriso Windows / Safari 537.36
12 listopad 2015 - 22:39 Warszawa

To jak najtańszym sposobem puścić sygnał HDMI do RPi?

Avatar 1
Robert Windows / Mozilla Firefox 56.0
13 październik 2017 - 13:17 Warszawa

Jaka jest w ogóle zasada działania tego? Trzeba puszczać coś prze RPI czy stan jest jakoś zczytywnay z telewizora i na tej podstawie diody świecą?

Skomentuj wpis