Mirlight 2 (Domowy Ambilight)


10
Ocena: None Średnia: 10 (9 głosujących)

Przedstawiony układ jak sama nazwa wskazuje jest domowej konstrukcji Ambilight'em. Jest to druga wersja opisywanej w ubiegłym roku Mirlight'a wyposażona w kilka modyfikacji. Całość oparta jest o mikrokontroler jednoukładowy ATMEGA16 i zestaw trójkolorowych diod LED. Urządzenie składa się ze sterownika i połączonych z nim modułów diodowych, po trzy diody połączone równolegle. Mirlight 2 posiada 8 niezależnych kanałów generujących barwy w zależności od średniego koloru na brzegach ekranu. Posiada również dodatkowe wyjście dla ostatniego kanału, przez co można podłączyć dwa moduły u dołu ekranu. Łączność z komputerem zapewnia interfejs USB przez wbudowany konwerter USB<->RS-232 firmy FTDI. Oprogramowanie sterujące zostało napisane w języku Python i działa z powodzeniem pod systemem Windows i Linux (Testowane było pod Archlinux i PLD Titanium, w wersjach 64-bitowych). Program sterujący umożliwia zdefiniowanie obszarów uśredniania koloru dla każdego z kanałów, oraz konfigurację szybkości przejść kolorów, potrzebną, gdy obraz na ekranie zmienia się bardzo szybko. Dodatkowo urządzenie ma możliwość odbioru transmisji RC5 i sterowanie odtwarzaczem filmów. Działanie zarówno części sprzętowej, jak i programu uległo znacznej poprawie. Odświeżanie kolorów jest teraz zdecydowanie szybsze, przy jednoczesnym wyeliminowaniu błędów w transmisji.

Działanie:


Schemat ideowy sterownika znajduje się na rysunku poniżej:

Sercem układu sterownika jest mikrokontroler U1 (ATMega16) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Złącze Prog umożliwia zaprogramowanie mikrokontrolera bez wyjmowanie procesora z podstawki. Układ U3 (FT232RL)jest konwerterem USB-RS232. Zapewnia on bezproblemową pracę pod wszystkimi systemami operacyjnymi i jednocześnie sam dba o poprawność transmisji po USB. Zarówno po stronie programowej jak i sprzętowej jego obsługa jest identyczna jak portu szeregowego. Złącze USB1 jest klasycznym gniazdem USB B, stosowanym w większości sprzętu komputerowego. Kondensatory C9 (10nF), C10 (100nF) i C11 (4,7uF) filtrują napięcie zasilania dla układu U3. Rezystory R4 i R5 są pomocne przy badaniu podłączenia kabla do portu USB, gdyż cały układ zasilany jest z zewnętrznego zasilacza 5V. R4 podciąga stan portu mikrokontrolera do potencjału masy jak wtyczka jest odpięta, a R5 uniemożliwia zasilanie procesora poprzez wyprowadzenie portu w przypadku gdy zewnętrzny zasilacz jest odłączony. Rezystory R2 (4,7k) oraz R3 (10k) odpowiedzialne są za dopasowanie poziomów logicznych miedzy standardami 5V i 3.3V (zwykły dzielnik rezystancyjny) oraz sterowanie wejściem reset układu U3. Dzięki temu niezależnie czy najpierw zostanie włączony kabel USB a potem włączone będzie zasilanie, czy odwrotnie, komputer poprawnie wykryje urządzenie w systemie. Złącze Z1 jest miejscem podłączenia zasilania 5V, przeważnie bezpośrednio z zasilacza w komputerze, gdyż taka ilość diod może w skrajnym przypadku pobierać prąd większy niż 1,6A. Kondensatory C5-C6(100nF) oraz C3-C4(100uF) filtrują napięcie zasilania. W drugiej wersji Mirlight'a zmienione zostały moduły diodowe na takie ze wspólną anodą. Uprościło to konstrukcję buforów wyjściowych poprzez zastosowanie układów U4-U6 (ULN2803). Kanały podłączone są do sterownika za pomocą tasiemek 10 żyłowych za pośrednictwem popularnych złącz FD10 i wtyczek FC10 (FC1- FC8, FC8B). Tak duże złącze zostało wybrane ze względu na łatwość montażu takich tasiemek i brak konieczności lutowania przewodów. W przypadku przeróbki czy wymiany kanału, wystarczy wyciągnąć wtyczkę. Rezystor R1 (220R) oraz kondensator C7 (100uF) stanowią obwody zasilania dla odbiornika podczerwieni U2 (TSOP1736).

Schemat ideowy jednego z paneli diodowych znajduje się na rysunku poniżej:

Diody D1-D3 wykonane w technologii SMD stanowią podstawę dobrego działania układu. Rozpraszanie barw w takich diodach jest znacznie lepsze niż w odpowiednikach do montażu przewlekanego. Rezystory R1-R9 ograniczają prąd poszczególnych struktur LED. R1, R4 i R7 (180R) mają mniejszą wartość aby zapewnić jednakową moc świecenia wszystkich barw (widzianą przez oko). Pozostałe rezystory mają wartość 330R. Wartości tych elementów mogą być zmieniane, w zależności od zastosowanych diod, tak aby zapewnić odpowiedni prąd na każdą ze struktur LED.

Budowa:


Układ sterownika z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż sterownika nie jest trywialny ze względu na obecność układu w bardzo małej obudowie SSOP28. Trzeba tutaj bardzo uważać przy wykonywaniu samej płytki, jak potem przy lutowaniu układu, zwracając uwagę na to aby zamontować go poprawnie (można skorzystać z rysunku montażowego w odbiciu lustrzanym bo układ jest od spodu). W drugiej kolejności należy wlutować wszystkie zworki (6 sztuk) oraz rezystory. Pod układ U1 dobrze jest dać podstawkę, podobnie jak pod bufory U4-U6. Kolejność pozostałych elementów jest dowolna, z tym że złącza FD10 dobrze jest zamontować na samym końcu. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj. Dla montażu SMD pomocny będzie także rysunek montażowy w odbiciu lustrzanym, dostępny tutaj

Panele diodowe z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Wykonanie płytek z diodami wymaga zastosowania cienkiego laminatu, np 0.8mm, gdyż wtedy będzie można lekko wygiąć dany kanał i dopasować do krzywizny monitora. Montaż paneli diodowych (9 sztuk) nie jest trudny ale pracochłonny, gdyż wymaga przylutowania wielu elementów. W tym wypadku jest wiele możliwości montażu. Można wlutować rezystory klasycznie od strony elementów, a diody od strony ścieżek, lub wszystkie elementy umieścić po stronie ścieżek, jak pokazują fotografie. Złącze na taśmę (kątowe) musi być przylutowane od strony druku, i wymaga to niewielkiej wprawy i cienkiego grota lutownicy. Poza tym montaż płytek z diodami nie sprawi żadnego problemu. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj. Dla montażu SMD pomocny będzie także rysunek montażowy w odbiciu lustrzanym, dostępny tutaj

Jak już wcześniej wspomniano, układ zasilany jest napięciem 5V bezpośrednio z zasilacza komputerowego. Konstrukcja Mirlight'a 2 umożliwia jego zamontowanie z tyłu monitora bez żadnych dodatkowych elementów. Nie trzeba też żadnego materiału rozpraszającego światło. Przed przystąpieniem do połączenia całości, warto sprawdzić działanie każdego z modułów diodowych, czy wszystkie kolory we wszystkich diodach na pewno świecą i czy natężenie jest jednakowe. Przy zastosowaniu innych diod niż "LED RGB SMD PLCC 5060 3x Chip" trzeba dokładnie sprawdzić zgodność wyprowadzeń. Tasiemki należy tak zacisnąć aby przewodziły 1 do 1 (tak aby pierwszy pin jednej wtyczki był połączony z pierwszym pinem drugiej), zgodnie z rysunkiem poniżej:

Pierwsze piny w złączach FD10 (w sterowniku) mają być podłączone do koloru niebieskiego, piąte do czerwonego, a dziewiąte do zielonego. Złącze FD10 w panelach są na płytce narysowane w odbiciu lustrzanym gdyż ich montaż będzie przebiegał od strony druku. Oznaką dobrego działania urządzenia jest krótki błysk wszystkich diod na kolor biały w momencie włączenia zasilania. Układ prototypowy w stanie spoczynku, kiedy nie wyświetla żadnego koloru, wynosi około 30mA, a po zaświeceniu koloru białego 700mA. Zależy to tylko od użytych diod i prądu na jakim pracują. Rozmieszczenie kanałów przedstawione jest na rysunku poniżej:

Wykaz Elementów:

Sterownik:

1x Złącze Śrubowe ARK2(podwójne)
1x Listwa Goldpin 1x5 (Prog)
9x Złącze FD10
1x Złącze USB B (do druku)
1x 4,7k
3x 10k
1x 220R
1x 10nF
2x 22pF
4x 100nF
1x 4,7uF Elektrolit
3x 100uF Elektrolit
1x Rezonator Kwarcowy 16MHz
1x Odbiornik Podczerwieni TSOP1736
1x Mikrokontroler ATMEGA16 + Podstawka
3x Bufor Inverter ULN2803
1x FT232RL USB-RS232 konwerter

Kanały:

9x Złącze FD10, kątowe
27x 180R
54x 330R
27x Dioda LED RGB SMD PLCC 5060 3x Chip

Inne:

18x Złącze FC10 na taśmę
Przewód taśmowy wielożyłowy(szary)

Programowanie:


Kod Źródłowy do sterownika został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "m16def.dat"
$crystal = 16000000
 
'$hwstack = 100
'$swstack = 100
 
$baud = 38400
Config Serialin = Buffered , Size = 26
 
Config Porta = &B11111111 : Porta = &B11111111
Config Portb = &B11111111 : Portb = &B11111111
Config Portc = &B11111111 : Portc = &B11111111
Config Portd = &B11011010 : Portd = &B10011111
 
Config Timer1 = Timer , Prescale = 8
Enable Timer1 : On Timer1 Prztimer1
 
On Int0 Przzew0 Nosave
Config Int0 = Low Level
Enable Int0
 
Config Rc5 = Pind.2
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Nazwy *******************
'***********************************************
 
'Rd Alias Porta
'Gd Alias Portb
'Bd Alias Portc
 
'*************  Nazwy Koniec  ****************
 
'******************  Zmienne *******************
'***********************************************
Dim Licznik As Byte
 
Dim I As Byte
Dim Temp As Byte
Dim Tab_temp(25) As Byte
Dim Color(24) As Byte
Dim Tab_sum As Byte
Dim Conf_temp As Byte , Conf As Byte
Dim Send As Bit
 
Dim K As Byte , J As Byte
Dim Komenda As Byte , Adres As Byte
 
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D7 As Bit
 
'*************  Zmienne Koniec  ****************
 
'************ Warunki Poczatkowe ***************
'***********************************************
'*******  Warunki Poczatkowe Koniec  ***********
 Wait 1
'**************  Petla glowna ******************
'***********************************************
Do
 
 Portd.6 = Pind.5                                           'daje 1 na reset Ft232 jesli jest wtyczka do usb wpięta i procesor jest zasilany
 
 If Ischarwaiting() = 1 Then
   Temp = Inkey()
   If Temp > 127 Then
     I = 0
     'Incr Z
     Tab_sum = Temp
     If Temp <> 128 Then Conf_temp = Temp And &B01111111 Else Conf_temp = 0
   Else
     Incr I
     Tab_temp(i) = Temp
     Tab_sum = Tab_sum + Temp
     If I = 25 Then
       Tab_sum = Tab_sum - Tab_temp(25)
       Tab_sum = Tab_sum / 2
       If Tab_sum = Tab_temp(25) Then
         'Incr D
         Stop Timer1
         For I = 1 To 24
           Color(i) = Tab_temp(i)
         Next I
         Start Timer1
         If Conf_temp <> 0 Then
           Conf = Conf_temp
           Conf_temp = 130
           If Conf = 2 Then Printbin Conf_temp
         End If
       End If
 
     End If
   End If
 End If
 
 If Send = 1 Then
   Send = 0
   If Adres = 0 Then Printbin Komenda
   'Portd.3 = Not Portd.3
   Enable Int0
 End If
 
Loop
End
'************ Petla glowna Koniec **************
 
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer1:
 Timer1 = 65286
 
 Incr Licznik
 If Licznik = 100 Then Licznik = 0
 
 If Licznik < Color(1) Then Set B.1 Else Reset B.1
 If Licznik < Color(2) Then Set B.2 Else Reset B.2
 If Licznik < Color(3) Then Set B.0 Else Reset B.0
 
 If Licznik < Color(4) Then Set B.4 Else Reset B.4
 If Licznik < Color(5) Then Set B.5 Else Reset B.5
 If Licznik < Color(6) Then Set B.3 Else Reset B.3
 
 If Licznik < Color(7) Then Set A.0 Else Reset A.0
 If Licznik < Color(8) Then Set A.1 Else Reset A.1
 If Licznik < Color(9) Then Set B.6 Else Reset B.6
 
 If Licznik < Color(10) Then Set A.3 Else Reset A.3
 If Licznik < Color(11) Then Set A.4 Else Reset A.4
 If Licznik < Color(12) Then Set A.2 Else Reset A.2
 
 If Licznik < Color(13) Then Set A.6 Else Reset A.6
 If Licznik < Color(14) Then Set A.7 Else Reset A.7
 If Licznik < Color(15) Then Set A.5 Else Reset A.5
 
 If Licznik < Color(16) Then Set C.6 Else Reset C.6
 If Licznik < Color(17) Then Set C.5 Else Reset C.5
 If Licznik < Color(18) Then Set C.7 Else Reset C.7
 
 If Licznik < Color(19) Then Set C.3 Else Reset C.3
 If Licznik < Color(20) Then Set C.2 Else Reset C.2
 If Licznik < Color(21) Then Set C.4 Else Reset C.4
 
 If Licznik < Color(22) Then Set C.0 Else Reset C.0
 If Licznik < Color(23) Then Set D7 Else Reset D7
 If Licznik < Color(24) Then Set C.1 Else Reset C.1
 
 Porta = A
 Portb = B
 Portc = C
 Portd.7 = D7
 
Return
'******** Przerwanie timer 0 Koniec ************
 
'************   Inne Etykiety    ***************
'***********************************************
 
Przzew0:
  Disable Int0
  Enable Interrupts
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
  Send = 1
Return

Ustawienia fusebitów dla mikrokontrolera ATMega16 przedstawione są poniżej:

Jak już wcześniej wspominano, sam układ sprzętowy jest w istocie wyświetlaczem, sterowanym poprzez USB. Po odebraniu paczki danych mikrokontroler sprawdza jej sumę kontrolna i jeśli jest OK to wpisuje do tablicy wartości kolorów, aktualną barwę, wyświetlaną na ekranie. Do osiągnięcia pełni działania, układu wymagany jest program komputerowy, analizujący kolory z ekranu i wysyłający je do części sprzętowej.

Część Mechaniczna:

Konstrukcja mechaniczna układu nie sprawia tyle problemów jak miało to miejsce dla wcześniejszej wersji projektu. Mirlight 2 nie wymaga żadnej obudowy, a same płytki mogą być przymocowane do monitora za pomocą taśmy do luster (super mocna taśma dwustronna o strukturze piankowej). Z tego też powodu płytki paneli diodowych lepiej jeśli nie mają żadnych rezystorów po stronie elementów. Umożliwi to łatwe przyklejenie ich do monitora. Dodatkowo cienki laminat z którego zostały wykonane panele diodowe, umożliwi dopasowanie kształtu płytki do krzywizny z tyłu monitora.

Prowadzenie przewodów taśmowych należy dokładnie przemyśleć, żeby jak najmniej zakłócały one normalne użytkowanie monitora (np ni zasłaniały otworów wentylacyjnych itp). Aby uniknąć zbędnej plątaniny kabli sterownik powinien znaleźć się możliwie w środkowej pozycji za monitorem. Zdjęcia projektu przedstawiają propozycję montażu.

Obsługa:

Po wykonaniu układu sprzętowego należy ściągnąć oprogramowanie: http://github.com/grizz-pl/mirlight Dostępne są tam wersje źródłowe, a także plik wykonywalny (*.exe) na system Windows. Więcej na http://grizz.pl/mirlight

Testowanie:


Może się zdarzyć że układ mimo usilnych prób uruchomienia dalej nie chce działać. Można wtedy wykonać kilka testów:
  • Przy wyjętym z podstawki procesorze można podłączyć (za pomocą kawałka przewodu) +5V po kolei do wszystkich pinów stanowiących wyjścia kanałów (wejście ULN2803)
  • Sprawdzić podłączenia miedzy FT232 a mikrokontrolerem.
  • Sprawdzić komunikację z układem sprzętowym za pomocą programu Rs232 Tester. Prędkość transmisji powinna być 38400 ,a port taki jak w menadżerze urządzeń przypisany jest do mirlighta. W okno "wysyłanie N" wkleić należy zestaw danych:
    128
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    10
    56

    potem kliknąć "Wyślij N". Kolory powinny zapalić się z mocą 10%

    Druga metodą jest skrypt w pythonie robiący to samo:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #mirlight.test by grizz - Witek Firlej <a href="http://grizz.pl">http://grizz.pl</a>
    #ver. 0.1 2010.01.26
     
    import serial
    #conf:
    port = "/dev/ttyUSB01"
    data = [128, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 56]
     
    ser = serial.Serial(port, 38400, timeout=0)
     
    print data
    kod = ""
    for x in data:
            kod += chr(x)
    ser.write(kod)

    skrypt jest dodany do repozytorium mirlighta: https://github.com/grizz-pl/mirlight/blob/test/src/mirlight_test.py

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat55.02 KB
Sterownik Płytka27.13 KB
Sterownik Płytka (odbicie lustrzane)27.23 KB
Sterownik Płytka (4 na stronie)100.32 KB
Sterownik Montowanie33.89 KB
Sterownik Montowanie (odbicie lustrzane)33.98 KB
Panel diodowy Schemat18.19 KB
Panel diodowy Płytka5.84 KB
Panel diodowy Płytka (odbicie lustrzane)5.88 KB
Panel diodowy Płytka (8 na stronie)26.83 KB
Panel diodowy Montowanie7.29 KB
Panel diodowy Montowanie (odbicie lustrzane)7.33 KB
Kod źródłowy4.38 KB
Program po kompilacji (BIN)2.33 KB
Program po kompilacji (HEX)6.56 KB
Sterownik Punkty lutownicze14.52 KB
Sterownik Punkty lutownicze (odbicie lustrzane)14.64 KB
Panel diodowy Punkty lutownicze13.66 KB
Panel diodowy Punkty lutownicze (odbicie lustrzane)13.71 KB



Portret użytkownika mirley

Re; Mirlight

Nie mam pojęcia..... nie mierzyliśmy ile wyciąga klatek, działamy w większości na Linuxie. Napisz w jaki sposób to zmierzyłeś to zobaczę czy dam radę to sprawdzić. Masz swoją wersję softu pod linuxa? poza tym widzę że sterujesz 3 strefami odczytu a ja ośmioma, więc nie ma jak tego porównać.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Silas

Ok wiec cala aplikacje

Ok wiec cala aplikacje napisalem w C# .NET 3.5 i jest komatybilna z projektem MoMoLight.

epiLight.NET jako aplikacja pelniaca funkcje serwera, otwiera port, na ktory laczy sie klient i wysyla informacje o kolorach na poszczegolne strefy. - Do tej aplikacje wróce jeszcze za chwilę.

epiLightDDX.NET to calkiem nowa aplikacja, pelniaca role klienta dla wczesniej wymienionej aplikacji, ktora za pomoca metody EasyHook robi tzw. "DLL Injection". W rezultacie, moja aplikacja otrzymuje dostep do wspoldzielonej powloki DirectX z innej okreslonej aplikacji, np. MPC-HC (Media Player Classic HomeCinema). W ten moment uzyskuje szybki dostep do BackBuffer DirectX'a, następnie dla potrzeb AmbiLight obraz jest redukowany rozmiarem do mniejszje rozdzielczosci np. "War of the Worlds BluRay 1080p DTS x264 dxva" z rozdzielczosci 1920x1040 >> 50x27.
(W ten moment ma pojawić się filtr blur - ale musze to dopiero dopisac, dodatkowo umozliwic uzytkownikowi wybor SoftwareVertex lub HardwareVertex. Dla przykladu kiedy uzytkownik ma slabsza karte graficzna np. GeForce 9600 i wlaczyl film 1080p z dxva, to sama karta dobrze sobie nie poradzi z dekodowaniem h.264 a co dopiero jeszcze z zabawa dla Ambi, dlatego tutaj SoftwareVertex bedzie bardziej przydatne.)
Tak czy siak, przy pomniejszonym obrazie do 50x27 i zdefiniowanych polach odczytu po 17% dla kazdej z stref, na lewy i prawy bok przypada odczyt po 208 pikseli na strefe, a na górnej cześci 196 pikseli.

Po wykonaniu calego procesu odczytu informacji i obliczeniu sredniej koloru chcialbym wiedziec ile to trwalo. Dlatego wykonuje: LabelFPS.Text := CalculateFrameRate().ToString();

        private static int lastTick;
        private static int lastFrameRate;
        private static int frameRate;
 
        public static int CalculateFrameRate()
        {
            if (System.Environment.TickCount - lastTick >= 1000)
            {
                lastFrameRate = frameRate;
                frameRate = 0;
                lastTick = System.Environment.TickCount;
            }
            frameRate++;
            return lastFrameRate;
        }

Metoda opisana powyzej gwarantuje mi bardzo szybki odczyt nawet na przestrzeni 25kl/sek przy wymienionym wyżej GeForcie :)

Ale co ciekawe, znaczne przyspieszenie odczytu namieszalo mi troche, bo aplikacja pelniaca funkcje serwera ma kilka ciekawych wzorów, których zadniem bylo wygładzić reakcję zmian kolorów.
Wyglądało to tak:

                                               (progressive)
                       -------<----------------<---Colour--
                      |                 |          Change  |
                      |                 |                  |
                      |                 |                  |
Triple Gamma <- Dynamic Smooth || Aggressive Attack <- COLOUR INPUT +EXPAND
 Correction        (Level)         (threshold)             |
    ||                                                     |
    ||                ^                 ^                  |
True-Cinema           |               (diff)               |
 +Expansion           +----<--Dynamic-Colour-Increase--<---+
                      |
                       ---------*Sound Level*----- <- AUDIO INPUT

Niestety w chwili obecnej musze nad tym troche popracowac.

Poki co odczyt 3, 8 czy nawet 27 kanalow nie bedzie robil roznicy ani spowalnial wyzej wymienionej metody przechwytywania obrazu. Jesli znajde czas to pewnie zrobie z jakiegos gotowego projektu kontroler obslugujacy wieksza ilosc kolorow. Na chwile obecna nie znajduje na to czasu, aczkolwiek "znajomy" przygotowal cos takiego:
http://www.livelightproject.com/ - szkoda bo chetnie zainteresowalbym sie tym projektem.

Portret użytkownika grizz

Dodałem w wersji testowej

Dodałem w wersji testowej ikonkę w zasobniku systemowym (tray)
Więcej informacji: http://grizz.pl/mirlight_plany_09

Portret użytkownika Kalamot

mirlight + XBMC

Witam,
Znalazłem w sieci takie cudo: http://sklep.avt.pl/go/_info/?id=492911
Ponieważ nie lutowałem z dziesięć lat i nie bardzo mam czas samemu składać elektronikę a chciałbym mieć moje małe ambilight pozwól ze zadam kilka pytań:
-W linku sprzedają mirlight 2 o ile się nie mylę ale czy mógłbyś mi potwierdzić ?
-Mam w domu ubuntu + XBMC podpięte pod tv, czy mirlight będzie działać pod XBMC ?
-Jak wygląda sprawa obciążenia procka ? Mam AMD 4450e który mi pozwala oglądać filmy w HD bez problemu ale dużego zapasu mocy to już nie mam

Portret użytkownika grizz

1/ tak 2/ nie powinno być

1/ tak
2/ nie powinno być problemu
3/ na pentium dual E2140 2x1,6GHZ działa, więc ten amd, też powinien łyknąć...

Portret użytkownika mirley

Re: Mirlight

Ten w ofercie AVT to mirlight2 opublikowany przeze mnie w EP w lutym tego roku

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika roman

Rom

RGB led strip video DIY my ambilight

http://www.youtube.com/watch?v=J9sOysWosEc

Portret użytkownika gosc22

uruchomienie

Witam. Czy znalazłby się ktoś chętny do uruchomienia ambilighta. wykonałem wszystko według projektu i dalej nie mam pojęcia za co się zabrać. Komputer widzi 232 converter i nic. Z chęcią wysłałbym to komuś do uruchomienia oczywiście nie za darmo. Jakby znalazł się chętny proszę pisać maila

Portret użytkownika mirley

Re: Mirlight

Wykonałeś wszystkie czynności z podpunktu testowanie? Same diody działają bez procka? Jak port com jest widoczny w systemie to już duży sukces jak na początek

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc22

uruchomienie

Same diody po podaniu 5v na układy działają. 232 i port widać w systemie. Po włączeniu programu testowego i próby otwarcia ustawionego portu pokazuję się błąd. Przyczyną może być nie wlutowany odbiornik podczerwieni?

Portret użytkownika Silas

Jaki macie protokol

Portret użytkownika mirley

Re: Mirlight

A w programie testowym jaki port wybrałeś? otworzyłeś port? Używasz windows czy linux?

Protokół danych:
Trzeba wysłać 128, potem wszystkie 8 kanałów rgb (wartości od 0 do 100) uprzednio podniesione do kwadratu, na końcu sumę wszystkich bajtów ograniczoną do 8 bitów i podzieloną przez 2

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Silas

od 0 do 100? sick! chyba

od 0 do 100? sick!
chyba pierwszy DIY Ambi, w którym widze takie rozwiazanie
1) 128 jest zupelnie zbedne i zastapic wartoscia okreslajaca ilosc wyjsc RGB (np. 8)
2) wartosci z zakresu 0-255
3) suma kontrolna invertowana, dwubajtowa FF FF (65535 - suma wszystkich wartosci)

przyklad:
NO R1 R2 R3 R4 R5 R6 R7 R8 G1 G2 G3 G4 G5 G6 G7 G8 B1 B2 B3 B4 B5 B6 B7 B8 C1 C2
--------------------------------------------------------------------------------
08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF (czarny)
08 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF E8 17 (biały)
--------------------------------------------------------------------------------
NO - Identyfikator ilosci kanalow
R1..R8 - wartosci R dla poszczegolnych kanalow
G1..G8 - j/w, lecz dla wartosci G
B1..B8 - j/w, lecz dla wartosci B
C1 - gorny bajt sumy kontrolnej
C2 - dolny bajt sumy kontrolnej

w ten moment Wasz moduł bylby kompatybilny z protokolem MoMoLight V4

Portret użytkownika mirley

Re: Mirlight

W moim rozwiązaniu nie jest to realne do zrobienia. Wszystkie bajty u mnie muszą mieć wartość poniżej 128... W ten sposób łatwo identyfikuje początek transmisji....

Tak czy inaczej nie mam zamiaru zmieniać mojego rozwiązania. Może gdy będę myślał nad nowszą wersją sprzętu to zastosuję inną komunikację

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc22

uruchomienie

W programie wybrałem taki sam port jaki ustawiony jest w sterowniku sprawdziłem przed testami nawet zmieniałem numery w sterowniku jak i w programie. Jak z tym odbiornikiem podczerwieni musi być na płytce?. Na początku testów wlutowałem wejście usb do płytki i miał przestawione piny ( odwrócone sygnały z zasilaniem) i poszło 5v z usb na tx lub rx wejścia układu FTDI, ale po zmianie układ jest wykrywany jak napisałem, mogło się coś uszkodzić?. W programie testowym gdy daję na otwórz port wyskakuje błąd i port się nie otwiera. Mam dostęp do diod RGB ze skanerów i mam tego dość dużo w zamian za pomoc mogę się podzielić:)

Portret użytkownika mirley

Re: Mirlight

Odbiornik podczerwieni nie jest potrzebny.

FTDI mógł się jak najbardziej uszkodzić bo standard jego wejść przewiduje poziom 3.3V tak jak w USB. Po włączeniu wtyczki patrzysz w menadżerze urządzeń jaki port się pojawił, nic nie zmieniasz w sterownikach FTDI. Taki sam port ustawiasz w programie testowym. Jesli port się nie otwiera to znaczy że albo ftdi jest walnięte, albo jego sterowniki źle zainstalowałeś albo system operacyjny robi jaja. Spróbuj w ostateczności na innym komputerze.

W programie testowym jak klikasz otwórz port to nic szczególnego nie będzie widać... pamiętaj aby po uruchomieniu programu kliknąć tylko raz na otwórz port. Pamiętaj też o ustawieniu prędkości na 38400.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc22

uruchomienie

Sprawdzałem na paru komputerach i ta sama sytuacja. Zacznę od zakupu nowego FTDI, chociaż jest prawidłowo widziany w systemie ale mogło coś się uszkodzić.Jak tylko zakupię układ dam znać:)

Portret użytkownika mirley

Re: Mirlight

Postaraj sie nie uszkodzić starego przy wylucie, może się okazać że błąd jest gdzie indziej i wtedy będzie szkoda dobrego ftdi

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Matiz

Witam. Czy to może być jakoś

Witam. Czy to może być jakoś sterowane przez TV ?

Portret użytkownika matrix

Re: Mirlight

A może jako że wchodzi nam a w zasadzie już weszła DVB-T to może da się to jakoś podpiąć do tunera MPEG4?

Portret użytkownika grizz

Jeżeli masz tv, który

Jeżeli masz tv/dekoder, który umożliwi uruchomienie oprogramowania, to jak najbardziej.

Portret użytkownika matrix

Re: Mirlight

grizz wrote:
Jeżeli masz tv/dekoder, który umożliwi uruchomienie oprogramowania, to jak najbardziej.

Dekoder nie ma systemu operacyjnego takiego który umożliwi bujnięcie softu, więc raczej pomysł odpada, ale zawsze można było zapytać z ciekawości. Bo ludziom często w głowach różne pomysły się rodzą.

Portret użytkownika matiosy

Re: Mirlight

Mam pytanie

Link do sklepu AVT

Czy ten oto zestaw to jest twojej produkcji ? autorstwa ?
Która to wersja ?
Czy ten zestaw to cały pakiet ,czy trza jeszcze coś dokupować ?
Samodzielny montaż ,co masz na myśli ?
Czy ten zestaw to same światło ,czy reaguje z wideo ?
Do czego to się podłącza ?
Można to wykorzystać na tv 42 cale ?

Pozdro

Portret użytkownika ja nie moge...

...

Litości...
Masz chyba opis tego wyżej,
masz opis na avt.pl,
więc o co i po co pytasz ?

"w zestawie płytka drukowana, zaprogramowany układ, komplet elementów i dokumentacja"

Na 42 cale będzie po pierwsze - za mały,
po drugie - efekt będzie taki sobie - za mało pól.

Portret użytkownika Stolarz

Pomoc przed podłaczeniem.

Witam.
Mam prośbę dotycząca ambilight .Bo nie wiem czy dobrze wszystko złożyłem boje sie puki co podłączać.Jest to zestaw z avt,nie dali chyba wszystkich częsci brakuje kondensatora ceramicznego.A 3 płytek z diodami jeszcze nie zmontowałem.Chciałbym usłyszeć waszych opinii.

Portret użytkownika Stolarz

Re: Mirlight

Proszę o pomoc.Pan będzie wiedział najlepiej.

Portret użytkownika Stolarz

...

Portret użytkownika mirley

Re: Mirlight

Napewno odbiornik podczerwieni masz dobrze wlutowany?.... z tego co pamiętam to miał być na kablu zamontowany. Sprawdź wyprowadzenia. Najpierw podłącz kabel do usb i włącz zasilanie. Komputer musi sam wykryć układ FTDI i poprosić o sterowniki.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

Nie mam pojęcia jak odpalić

Nie mam pojęcia jak odpalić diody.Komputer widzi nowe urządzenie,widzi nowy port Com3.A mam podłączoną 1 płytke z diodami i nie chca sie zapalić diody po włączeniu zasilania.Hm muszą być wszystkie płytki podpięte?
Co mam dalej z tym robic?.
Nawet program mirlight_gui widzi automatycznie ten port.
Jest to wina Fuse Bitów ?
Mam Win 7.

Portret użytkownika grizz

Program wykrywa port? To

Program wykrywa port? To znaczy, ze sterowniki są ok, a namieszałeś coś przy diodach.

Portret użytkownika Stolarz

Nie przy diodach jest wszystko ok

Nie przy diodach jest wszystko ok.Jak podłączam do zwykłej baterii to każdy kolor działa.Nawet jak przez taśme przewodową podłaczam wszystkie diody sie swiecą.Czy jest tu coś źle w takim razie?
file:///C:/Users/Piter/Desktop/Nowy%20folder/IMG_6993.JPG

A i jeszcze jedna wasza uwaga.Jak podłączam za pierwszym razem do usb to nie wykrywa,jak wyjmę i podłączę znowu to wykrywa.To wina Win 7?

Portret użytkownika mirley

Re: MIrlight

Nie muszą być podłączone wszystkie diody. Jesli kupiłeś zestaw z zaprogramowanym prockiem to znaczy że fusbity są dobrze ustawione i nie masz co w nich grzebać, bo tylko zablokujesz procka. Poza tym skoro program wykrył port to znaczy że sterownik mirlighta musiał mu odesłać dane a to znaczy że sterownik działa.

Właczyłeś przycisk Start w programie? Taśmy zacisnąłeś poprawnie? wtyczki w dobrym kierunku? popatrz do opisu.

ps. Wszystko jest winą windowsa :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

Tak włączyłem przycisk start w programie

Tak włączyłem przycisk start w programie.I nic tylko zaczął wolniej działać.Taśmy zacisnąłem 1 do 1.Nie mam pojęcia co z tym zrobić ?
Zainstalować XP?

Portret użytkownika mirley

Re: mirlight

A po co chcesz zainstalować XP. Przecież pisałem że sterownik i komunikacja z kompem musi działać bo inaczej nie znalazł by ci portu jak kliknąłeś "znajdź port". Sprawdź w takim razie bufory ULN. Wyjmij procesor z podstawki, odłacz wtyczkę od USB bo nie będzie potrzebna narazie. Dolutuj rezystor 1k do +5V jedną nóżką a do drugiej nóżki kawałek kabla cienkiego. Włącz zasilanie i dotykaj po kolei kabelkiem nóżek od 1 do 8 wszystkich 3 układów ULN2803. Powinny się zaświecać po kolei kolory w kolejnych kanałach. Masz 24 piny które musisz dotknąć i powinno przy tym zaświecać się po kolei kolory R G i B we wszystkich 8 kanałach. Może to być w dowolnej kolejności bo nie pamiętam jak było to zrobione dokładnie.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

No Tak Racja.

No Tak Racja.Podłączałem kabelkiem od +5V i dolutowałem rezystor .Podłączam po kolei i diody nie chcą się zapalić.Jakby ULN2803 nie przewodził pradu?.
A na pewno mam dobrze przylutowane diody i rezystory.Diody może mam w zła strone.Już sam nie wiem ?

http://obrazki.elektroda.pl/3053059900_1318349697.jpg

Portret użytkownika mirley

Re: Mirlight

No to prosta sprawa. Weź teraz sam moduł diodowy, masz na nim kątową wtyczkę z 10 pinami. Jak łatwo zauważyć dolne 5 pinów jest zwarte. Podłącz tam +5V. Do pinów w górnym rzędzie dołączaj po kolei masę. Na pinie 1, 3 i 5 w górnym rzędzie powinny zapalić się diody na różne kolory. Jak to zadziała to będziemy sprawdzać ULN, jeśli nie to trzeba będzie ostrożnie przelutować najpierw jedną diodę i sprawdzić czy świeci.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

Powinno być na odwrót jednak.

Podłączam mase do 5 dolnych pinów a +5V do 3 różnych kolorów i świecą .Czyli diody mam źle przylutowane.

Portret użytkownika mirley

Re: Mirlight

Tak. Weź kawałek przewodu linki (takiego z małymi cienkimi drucikami) przyłóż do cyny przy diodzie. Jak podgrzejesz lutownicą wszystko to cyna od diody powinna uciec i wsiąknąć w przewód.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

ok Dzięki

ok Dzięki.Będe sie męczył z wylutowaniem diód heh

Portret użytkownika Stolarz

ok Błysnął 1 panel na biało.

ok Błysnął 1 panel na biało.Po podłączeniu do zasilania.Jest git.:)

Portret użytkownika Stolarz

ok Diody świecą.

ok Diody świecą.Ale kolory troche sie mi nie zgadzaja jak mam na ekranie czerwony lub pomarańczowy to swieci sie zielony,i na odwrót.Mozna to jakoś ustawić?

Portret użytkownika grizz

wlutowałeś diodę inną stroną?

wlutowałeś diodę inną stroną? ;)

Portret użytkownika Stolarz

Problem z Kolorami

Nie dobrze inaczej by sie nie paliła.

Kolory troche sie mi nie zgadzaja jak mam na ekranie czerwony lub pomarańczowy to swieci sie zielony,i na odwrót.Mozna to jakoś ustawić?

Portret użytkownika grizz

Jasne, ze można(kod jest

Jasne, ze można(kod jest dostępny), ale skoro zamiast czerwonego masz zielony, to coś masz namieszane.

Portret użytkownika mirley

Re: Mirlight

Powiedz mi który kolor masz na którym pinie w module z diodami. Może nie masz namieszane a jest po prostu wiele rodzajów diod z różnym ustawieniem. Trzeba to sprawdzić

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

Mam tak.Na 1 pinie R.Na

Na 1 pinie R.Na 3 G, 5 B.Kolory niebieski i czerwony są odwrotnie niż na Schemacie paneli diodowych .

Portret użytkownika mirley

Re: Mirlight

Postaram się sprawdzić wieczorem jak mam na swoim kanale, a jak będzie inaczej to będzie trzeba w programie zrobić opcję do zamiany miejscami kolorów

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

Ok

Program widzi że na komputerze jest czerwony a wyświetla się zielony .

Portret użytkownika mirley

Re: Mirlight

To już wiemy chyba w czym jest problem. na mojej wtyczce jest tak (liczac od lewej, patrząc od przodu) G R B. Wniosek prosty: jest więcej rodzajów diod z różnymi wyprowadzeniami. Jedynym sensownym rozwiązaniem jest zmiana w programie sterującym..... postaramy się to zrobić w miarę możliwości.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Stolarz

No tak

U mnie jest troche inna kolejnosc właśnie R G B.