Elektroda.pl
Elektroda.pl
X
Deimic Smart Home
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Ambilight (Momolight)- oprogramowanie PC

Limonit 25 Paź 2008 21:59 9233 21
  • Witam

    Temat Ambilight był już poruszany na elektrodzie.
    Istnieje projekt Momolight i jest do niego trochę oprogramowanie na PC.
    Chciałem sobie takie cos zbudowć.
    Jednak nie podobały mi się tam 2 rzeczy:
    - RS232. Nie mam juz wolnych w PC, w lapku nie mam wcale. Kłopotliwy MAX232, dodatkowe elementy.
    - Procesor PIC. Siedzę w AVRach i nie mam chociażby programatora do PICa.
    Ale do rzeczy. Zamiast na COMa urzadzenie jest na USB. Nie zrobiłem inic wielkiego. Otóż za kilka zł są na allegro wspaniałe kable do telefonów z zaszytym w środku PL2303, czyli comem na USB. Kabel taki prujemy i wyciągamy elektronikę. Czyli to, co na zdjęciu:
    Ambilight (Momolight)- oprogramowanie PC
    Windows widzi nam COMa, atmega widzi USART i wszystko gra. Tutaj uwaga. Te kabelki chodzą na 3,3V, ale wolno podac tam 5 jako stan wysoki. ATmega zasilana z 5V nie ma problemu z poprawną interpretacją stanu.
    Pozostało zatem rozpruć protokół. Chwila zabawy z Hyperterminalem, potem juz z ATmegą na JTAGu i wszystko wiedziałem. Pozostało napisac kawałek softu, PWM, dekodowanie z USARTU i działa.
    Oryginalnie Momolight obsługuje 3 "lampy". Nie wiem jak to jest zrobione na PICU, chyba programowo, bo raczej nie ma 9 kanałów PWM.
    Moja wersja dekoduje tylko sygnał do lampy górnej i korzysta z 3 PWMek. Prototyp powstał na M16. Do działania potrzebne jest: 3 kanały PWM, USART i jeden dodatkowy licznik, niegenerujący PWM. Potrzebny jest do synchronizacji transmisji z PC i musi odmierzać dość długie czasy.
    Całość jest prototypem, wyglada tak:
    Ambilight (Momolight)- oprogramowanie PC
    Czyli dioda RGB na taśmie do monitora.
    Ale zaznaczam, to tylko prototyp. Działa nawet fajnie. Popatrzcie:
    Ambilight (Momolight)- oprogramowanie PC

    Ambilight (Momolight)- oprogramowanie PC

    Ambilight (Momolight)- oprogramowanie PC

    Najsłabszym punktem jest oprogramowanie na PC. Filtr momolight.ax ciągle się zawieszał. Teraz korzystam z oprogramowania bobolight i wyglada, że jest znacznie lepiej. efekty są nie tylko w filmach ale cały czas, w grach itp. Wymada .neta 2.0.

    Co z tym dalej? Jest nieźle, pobiera na 1 diodzie do 50mA, więc zasilanie z USB powinno się udać. Dołożenie lamp bocznych jest możliwe albo, jeśli zastosuje się 3 procesory (proste), albo jeśli się uda rozwiązać programowe PWM dla 9 kanałów. Mozna zwiększyć moc na różne sposoby, no jest to wersja testowo-rozwojowa.
    Do prototypu użyłem megi16, bo ma JTAG i mogłem łatwo rozkminic protokół komunikacyjny, który nie był nigdzie opisany.
    ATmega8 powinna też dać radę, Tiny2313 ma za mało liczników. (chociaż to może uda się jakoś obejść, mam już pomysły).

    Zrobienie tego zajęło mi pół dnia, ale to dopiero początek zabawy :)


    Fajne!
  • Deimic Smart Home
  • #2 10 Gru 2008 22:10
    Farmi18
    Poziom 14  

    Nie wiem czemu nikt tu jeszcze nie odpisła i nie zachęcił do dalszej pracy nad projektem, który w ostatnim czasie jest czesto poruszany.
    Dlatgeo czekamy na wersje swiecacą na 3 strony.
    Nie wiem jak bardzo jest zaawansowany projetk na jedną, ale jak byś podał schmeaci i opisał co i jak, to na jedną też bym sobie zmontował.
    Pozdrawiam, powodzenia i czekamy!

  • #3 10 Gru 2008 23:43
    Limonit
    Poziom 13  

    Witam.

    Dziękuje za zainteresowanie.
    Mam sporo pracy, na razie montuję tez inne zabawki, ale na pewno do tego wrócę.
    Na razie zaprosze na swoją stronę: http://www.limonit.abajt.pl/, gdzie w dziale projekty jest napisane ciut więcej.
    I zachęcam innych do rozwijania, sprawa od strony programowej jest bardzo prosta.
    Pozdrawiam

    >>
    A długo to już leży. Obiecuję, że do poniedzialku będzie schemat i gotowy przepis wersji na 1, 2 lub 3 lampy. Obiecująco wyglądają ATmegi 48/88/168, ponieważ każda ma po 6 kanałów PWM, czyli 1,5 ATmegi starczy. Może ktoś to zmontuje jednak i pokaże. Z moich spostrzeżeń wynika, że 1 dioda to mało. Tu potrzeba jakiejś mocy, oryginał jest na katodach sterowanych IRFN44Z. Może jakieś diody kilkuwatowe? Myślę też o izolacji optycznej połączenia z kompem, szczególnie, jeśli zasilane to by było z osobnego zasilacza. No ale jakąś wersję minimum ze schematem pokażę.

  • #5 13 Gru 2008 21:09
    Farmi18
    Poziom 14  

    hmm, czemu moja wiadomość tez wylądowala w koszu?? Zawsze uprzejmy admin napisze, narysuje czerwona ramkę, sypnie paragrafami z regulaminu i czuje się jak "Brus wszechmogacy", który teraz leci na TVP1.

    Moderowany przez joy_pl:

    Prosisz masz.
    Za łamanie regulaminu w punktach 4, 8.4, 10.2, 10.4 karze kolegę ostrzeżeniem 1.
    Takie sprawy załatwia się na pw

    Co do poprzedniego kolegi postu.
    Tu wymagane są konkrety to jest forum techniczne i kolegi przeżycia to, co kolega zamierza zrobić lub nie, nikogo Tu nie obchodzi. Następnym razem proszę ograniczyć się do konkretnych wskazówek, rad, sugestii bądź pytań ściśle związanych z tematem.

  • #6 15 Gru 2008 16:35
    jajeco
    Poziom 15  

    Próbowałeś już może podłączać więcej niż jedną diodę ( chodzi mi konkretnie o to czy np podłączyłeś lewa i prawą stronę ?). Dobrze rozumiem, że gdybym chciał tak zrobić to sygnał z kompa podłączam po prostu do trzech układów w którym w każdym mikroprocesorze jest nieco inny program?? I jeszcze jedna sprawa, jak zmodyfikować program jeśli będę chciał go wgrać do ATmega8?? Pozdrawiam

  • Deimic Smart Home
  • #7 15 Gru 2008 17:59
    Limonit
    Poziom 13  

    jajeco napisał:
    Próbowałeś już może podłączać więcej niż jedną diodę ( chodzi mi konkretnie o to czy np podłączyłeś lewa i prawą stronę ?). Dobrze rozumiem, że gdybym chciał tak zrobić to sygnał z kompa podłączam po prostu do trzech układów w którym w każdym mikroprocesorze jest nieco inny program??

    Tak własnie trzeba zrobić. Jest to sposób prosty i niezbyt wyszukany ale skuteczny. Sam nie próbowalem, ale to musi zadziałać

    jajeco napisał:

    I jeszcze jedna sprawa, jak zmodyfikować program jeśli będę chciał go wgrać do ATmega8?? Pozdrawiam


    ATmega16 to zdecydowanie za dużo do czegos tak prostego. ATmega8 się nada. Ma 3 liczniki i 3 kanały PWM. Jak zmodyfikwoac?
    1. Popatrzeć jak ustawić UART w i ustawić na te 9600bps i włączyć przerwanie
    2. Timer0 uruchomic poprzez preskaler (dzielnik) 1024, posluzy on do odmierzania przerw między ramkami.
    3. Pozostałe 2 liczniki będa generowały PWM, napędzać bezpośrednio z zegara systemowego.
    dokładne ustawienia rejestrów w datasheet, nie bedę opisywał, bo kazdy sobie zajrzy.
    to są podstawowe różnice, reszta jak dla ATmegi16 :)
    Lepsza od ATmega8 będzie ATmega48, bo jedna da rade wysterowac aż 2 lampy, a kosztuje tyle samo.

  • #8 15 Mar 2009 21:04
    tiggerek1982
    Poziom 14  

    hmm może rzeczywiste temat odświeżany(minęło ponad 3 miesiące..) ale chciałem zadać parę istotnych pytań dla mnie gdyż chce zrobić podobny układ (oczywiście gratulacje ze udało ci się to od nowa napisać dla AVR w C ;] ). a nie lubię iść na łatwiznę i wrzucać gotowca więc:

    pierwsza sprawa Limonit możesz podać dokładnie model telefonu z jakim współpracuje ten (rs232-USB)--ttl? wiedział bym na 100% co zamówić na allegro nie idąc w ciemno .
    - z ciekawości zobaczyłem w terminalu jak wygląda taka ramka wysłana z boblight. I do końca nie wiem czy właściwie myślę . jak na razie C omijam jak ognia :cry: a chciałem to od nowa napisać w bacom-ie dla przykładu:
    Ambilight (Momolight)- oprogramowanie PC
    czerwony- góra
    zielony - lewy
    fioletowy - prawy.
    czyli tak jakby w jednej ramce były już 2 boki i góra.
    mogę liczyć na pomoc i ewentualne poprawienie mnie?

    wolałem tu zadać pytanie niż pisać PM by ewentualna odpowiedz rozjaśniła i innym zainteresowanym temat ;]


    pozdrawiam

  • #10 15 Mar 2009 23:02
    tiggerek1982
    Poziom 14  

    twoja stronkę przewertowałem już parę razy i muszę przyznać że ciekawe pomysły(i rzeczywiście dopiero teraz zauważyłem ze podałeś model telefonu) , warte uwagi :D . a wracając do tematu oto co dostaje w terminalu:
    Ambilight (Momolight)- oprogramowanie PC

    a co do kolejności bajtów dla danego boku jakoś skojarzyłem to z twoim programem.
    dla góry:
    OCR1A = ramka[1];
    OCR1B = ramka[4];
    OCR0 = ramka[7];
    gdzie z tego co rozumem te wartości od 0 do 256 są ładowane do PWM a każda z tych ramek to inny pin (kolor) dla diody.
    analogicznie :
    "Aby dekodować lampę lewą liczby 1, 4, 7 zamieniamy na 0, 3, 6. A dla lampy prawej oczywiście: 2, 5, 8. I tyle."

    oczywiście program po włączeniu /wyłączeniu wysyła ramkę 0 0 0 0 0 0 0 0 0 tak by wyłączyć podświetlenie..

    więc nie wiem czemu zła kolejność odczytywania .
    sprawdziłem jeszcze ewentualność gdzie wyświetlany jest kolor jeden z podstawowych.
    czerwony:
    otrzymałem ramkę: FF FF FF 0 0 0 0 0 0
    gdzie zgadzało by że na każdy "bok" została wysłana informacja o tym jednym kolorze.
    zielony:
    0 0 0 FF FF FF 0 0 0
    czyli na wszystkie "boki" na kolejne piny wysłane FF, reszta wygaszona.
    a apropo:
    "Teraz korzystam z oprogramowania bobolight i wygląda, że jest znacznie lepiej. efekty są nie tylko w filmach ale cały czas, w grach itp"
    jeśli chodzi o efekty w filmach ,jak udało ci się to uruchomić bez wtyczki?
    u mnie przy jakim kolwiek filmie jest jedno(zapewne czarne ) tło, w innych aplikacjach czy grach jak najbardziej działa.

    Patrzyłeś może jaki prąd pobiera ten układ z jedną diodą?myślałem nad zasilaniem układu z USB

    dziękuje za szybka odpowiedz

    pozdrawiam

  • #11 15 Mar 2009 23:10
    Limonit
    Poziom 13  

    A może nie do końca zrozumiałem ten rysunek.
    Pozwolę sobie zacytować siebie:
    Pierwsze 3 bajty to barwa czerwona lamp prawej, górnej lewej, kolejne zielona, ostatnie 3 niebieska.
    Oczywiście im wyższa wartśc bajtu tym jaśniej dany kolor świeci.

    Jeśli chodzi o filmy z boblightem, to jest to typowa sprawa i tu jest rozwiązanie, trzeba pozmieniac ustawienia w odtwarzaczu. Cytuję:

    Video support:
    Depending on the player used for playback of video's, a number of settings need to be changed/done. The MoMolight directshow filter can be used within BSPlayer and Zoomplayer (for settings details see article on divxstation), although this does not seem to work for everbody.

    Windows Media Player (WMP) Classic (with Boblight): Start WMP Classic, go to view and select options. In the options menu go to playback and select output. In the output screen select under DirectShow Video VMR9 (renderless)**! Now restart WMP Classic and open a video (either DVD, avi, divx or something else). The Momolight system should now work with WMP Classic using the Boblight software!

    Windows Media Player (WMP): The only way to get Momolight working with standard WMP is by turning of overlay (for example by turning of Hardware Acceleration with your video device). This also only works together with the Boblight software.

    VLAN player (with Boblight): Setting the video output in the video options menu to OpenGL will enable AmbX lighting effects with playback of video’s (DVD, divx, etc) with the VLAN player.

    The video at the bottom of this page showing the MoMolight effects while playing a trailer of the Lord of the Rings (LOTR) was made by using the VLAN player (OpenGL setting) in combination with Boblight.

  • #12 15 Mar 2009 23:20
    tiggerek1982
    Poziom 14  

    drugi raz podpadłem ze zrozumiem tekstu ;/ . wynika to z tego że pierw przeczytałem twój artykuł (nie rozumiejąc do końca działania )a później sam kombinowałem. Czyli mam już wszystkie informacje i zabieram się do pracy. dziękuje za twoją pomoc i wyjaśnienie. jeśli będę miał jakiś problem ze złożeniem tego w całość nie będzie problemu jak potruje jeszcze trochę?:)

  • #14 08 Kwi 2009 22:47
    xfield
    Poziom 10  

    http://itlite.pl/epiLightDX.zip
    moja przerobiona wersja BobLight'a... powinna dzialac znacznie lepiej w szczegolnosci pod Vista ale rowniez ma kilka optymalizacji co do wyswietlania kolorow

  • #15 09 Kwi 2009 00:43
    tiggerek1982
    Poziom 14  

    co do http://itlite.pl/epiLightDX.zip

    Ambilight (Momolight)- oprogramowanie PC

    nie ma jak tego nawet sprawdzić.

    pozdrawiam

  • #17 09 Kwi 2009 21:45
    tiggerek1982
    Poziom 14  

    xfield a możesz udostępnić źródła?:)

  • #18 10 Kwi 2009 00:49
    xfield
    Poziom 10  

    tak, tylko jak oczyszcze kod zrodlowy ... bo wyglada jakbym sie nauczyl matematyki z zakresu klas 1-3 i na tym koniec :D

    wiec za 5 lat jak skoncze edukacje podstawowki to udostepnie

    oczywiscie zartuje... moze w swieta zrobie czysta wersje to udostepnie

    ----------

    a generalnie jak sofcik?

  • #19 10 Kwi 2009 22:22
    m_arti21
    Poziom 12  

    U mnie strasznie muli system.. tak jakby odswieżał cały pulpit non stop a program pracował tylko w jednym wątku :)

    xp sp3 1920x1200

  • #20 05 Lut 2010 13:01
    rogeros
    Poziom 13  

    Witam koledzy pozwolę sobie odświeżyć post.
    Budując podświetlenie wnęki pod TV zrobiłem sobie oświetlenie na taśmie LED oraz zbudowałem swój własny sterownik do tego na atmega88 (6xPWM sprzętowe)
    zauważyłem że niewielkim nakładem pracy mogę swój układ zaadoptować do w/w projektu.

    Tylko koledzy nie bardzo sobie potrafię poradzić z odnalezieniem programów na komputer do sterowania układem. Mam tu na myśli momolight czy bobolight.
    I nie wiem czy są jeszcze jakieś. Przeszukałem google ale jedynie to znajduje mi podobne projekty lub filmiki youtube przedstawiające działanie całego układu.
    W przykładach projektów także nie mogłem znaleźć linków.