Mirlight (Domowy Ambilight)


9.6
Ocena: None Średnia: 9.6 (5 głosujących)

Układ ten, a w zasadzie dość duże urządzenie, jak sama nazwa wskazuje jest domowej konstrukcji Ambilight'em. 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 posiada 8 niezależnych kanałów generujących barwy w zależności od średniego koloru na brzegach ekranu. Łączność z komputerem zapewnia interfejs RS-232, ale można zastosować dowolny konwerter USB<->RS-232. 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 mozliwość odbioru transmisji RC5 i sterowanie odtwarzaczem filmów, a później także (jeśli zajdzie taka potrzeba) innymi programami.

Ten układ dostępny jest w nowszej wersji, odwiedź: Mirlight 2

Działanie:


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

Sercem układu jest mikrokontroler U1 (ATMEGA16) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Układ w zasadzie składa się z 24 takich samych bloków sterujących pojedyńczymi segmentami LED. W roli elementów sterujących pracują tranzystory T1 - T24 (BC516), a rezystory odpowiednio R1 - R24 (3,3k) ograniczają prąd bazy tych tranzystorów. Elementy sterujące zostały podzielone na 3 grupy po 8, a każda z grup podłączona jest do osobnego portu mikrokontrolera U1. Wyjściami sterownika są złącza RKolor (goldpin), GKolor (goldpin) i BKolor (goldpin), podające odpowiednio napięcie na czerwone, zielone i niebieskie struktury LED w każdym z kanałów. Do zaprogramowania mikrokontrolera służy złącze Prog, a do złącza RS/USB należy podłączyć konwerter USB<->RS-232. Do tego złącza mozliwe jest też podłączenie klasycznego portu RS-232, wymagane jest tylko zastosowanie układu dopasowującego poziomy logiczne (MAX232) do standardów zgodnych z interfejsem RS-232.

Ponieważ urządzenie w wersji podstawowej wykorzystuje tylko jednokierunkową transmisję danych, na schemacie znalazł się układ U2 (TSOP1736), wraz z elementami R25 (220R) i C7 (100uF). Dzięki temu możliwy jest odbiór transmisji RC5 z pilota i wysyłanie odpowiednich poleceń do komputera.

Złącze Z1 (ARK) to punkt podłączenia zasilania dla całego układu. Masa układu została dodatkowo wyprowadzona na złączu Z2 (ARK) aby ułatwić podłączenie masy od wszystkich bloków LED. Kondensatory C3 (100uF), C4 (100uF), C5 (100nF) i C6 (100nF) stanowią filtr zasilania dla sterownika i bloków LED.

Schemat ideowy jednego z bloków LED znajduje się na rysunku poniżej:

Każdy z kanałów składa się z trzech trójkolorowych struktur LED (Diody D1 - D3) podłączonych równolegle. Ich prąd ograniczany jest za pomocą rezystorów R1 - R9 (330R lub 180R). Czerwone struktury LED mają mniejszą rezystancję szeregową (180R) w celu dopasowania (na oko) jasności wszystkich kolorów. Złącze RGB (goldpin) zapewnia kontakt diod LED ze sterownikiem.

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 jest klasyczny, a kolejność elementów może być dowolna. Na początku dobrze jest zacząć od montażu wszystkich tranzystorów, a następnie odpowiadające im rezystory. Pod mikrokontroler dobrze jest zastosować podstawkę. W dalszej kolejności należy wlutować wszystkie pozostałe kondensatory i rezystory, a na samym końcu złącza ARK i goldpin. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Bloki LED można z powodzeniem zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż płytek z diodami nie jest skomplikowany, należy go rozpocząć od wlutowania rezystorów. Przy diodach RGB należy zwrócić uwagę na prawidłową biegunowość (katoda to najdłuższa z 4 nóżek). Po zmontowaniu całego bloku należy go sprawdzić za pomocą zasilacza 5V, gdyż zarzyło się że jedna z diod nie była do końca sprawna (jeden kolor uszkodzony). Tak samo postępujemy z montażem pozostałych bloków (razem 8 sztuk). Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Sterownik można umieścić w dowolnej obudowie z tworzywa. Jako obudowę diod LED wygodnie jest zastosować ramkę z rurki hydraulicznej, gdyż łatwo można ją połączyć w całość za pomocą kolanek. W rurce wycięte są duże otwory, tak aby zmieściły się całe płytki (3 kanały od góry, 2 na bokach i jeden od spodu), a wycięte fragmenty zastąpione są kalką techniczną, rozpraszającą światło z diod RGB. Do zasilania całości nie wystarczy port USB (w przypadku zastosowania przejściówki USB<->RS-232), należy wykonać dodatkowy zewnętrzny zasilacz 5V, lub podłączyć układ do zasilacza w komputerze. Połączenia bloków LED do płytki sterownika można wykonać za pomocą przewodu taśmowego, poza masą którą lepiej zrobić grubszym przewodem (lub kilkoma w taśmowymi)

Wielkości płytek z diodami LED są wyliczone dla 24 calowego monitora, można jednak skrócić trochę płytki, stosując dwie diody na kanał. Będzie można wtedy zamontować taki układ na dowolnym monitorze. Drugim rozwiązaniem jest przyklejenie płytek z diodami bezpośrednio do monitora, kanały wtedy mogą trochę na siebie zachodzić (nie sprawdzałem jaki jest efekt w takim przypadku).

Wykaz Elementów:


Sterownik:


2x Złącze śrubowe ARK2(podwójne)
1x Listwa Goldpin 1x3
1x Listwa Goldpin 1x4
1x Listwa Goldpin 1x5
3x Listwa Goldpin 1x8
24x 3,3k
1x 220R
2x 22pF
2x 100nF
3x 100uF Elektrolit
1x Rezonator Kwarcowy 16MHz
1x Odbiornik Podczerwieni TSOP1736
24x BC516
1x Mikrokontroler ATMEGA16 + Podstawka

Bloki LED:


24x 180R
48x 330R
24x Dioda LED RGB (wspólna katoda)

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
 
$baud = 9600
 
Config Porta = &B11111111 : Porta = &B11111111
Config Portb = &B11111111 : Portb = &B11111111
Config Portc = &B11111111 : Portc = &B11111111
Config Portd = &B00000010 : Portd = &B11111111
 
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 Rled(8) As Byte , Bled(8) As Byte , Gled(8) As Byte
Dim Flaga_przejscia As Bit
Dim Dzielnik As Byte
Dim Licz_err As Byte
 
Dim Bled_rs(8) As Byte
Dim Gled_rs(8) As Byte
Dim Rled_rs(8) As Byte
Dim Kanal As Byte
Dim W(2) As Byte
Dim D As Byte , N As Byte
Dim I As Byte , K As Byte , J As Byte
 
Dim Komenda As Byte , Adres As Byte
Dim Odebrano As Bit
 
Dim Kolor_r As Byte
Dim Kolor_g As Byte
Dim Kolor_b As Byte
 
Dim Dziel_przejscia As Byte                                 'ustawiany dzielnik
 
'*************  Zmienne Koniec  ****************
 
'************ Warunki Poczatkowe ***************
'***********************************************
Dziel_przejscia = 100
N = 1
'*******  Warunki Poczatkowe Koniec  ***********
 
'**************  Petla glowna ******************
'***********************************************
Do
 
 D = Inkey()
 If D > 0 Then
   W(n) = D
   Incr N
   If N = 3 Then
     N = 1
     '********************     dwa dajty:  [kanal,red][green,blue] po 4 bity
     Kanal = W(1)
     Shift Kanal , Right , 4
     If Kanal < 9 Then
       Rled_rs(kanal) = W(1) And &B00001111
       Gled_rs(kanal) = W(2)
       Shift Gled_rs(kanal) , Right , 4
       Bled_rs(kanal) = W(2) And &B00001111
 
       Rled_rs(kanal) = Rled_rs(kanal) - 1
       Rled_rs(kanal) = Rled_rs(kanal) * Rled_rs(kanal)
       Gled_rs(kanal) = Gled_rs(kanal) - 1
       Gled_rs(kanal) = Gled_rs(kanal) * Gled_rs(kanal)
       Bled_rs(kanal) = Bled_rs(kanal) - 1
       Bled_rs(kanal) = Bled_rs(kanal) * Bled_rs(kanal)
     Else
       'ustawienia
       If Kanal = 9 Then Dziel_przejscia = W(2)
 
     End If
     '********************
   End If
 End If
 
 If Flaga_przejscia = 1 Then                                'robi przej?cia p?ynne kolorow
   Flaga_przejscia = 0
 
   For I = 1 To 8
     If Bled(i) > Bled_rs(i) Then Decr Bled(i)
     If Bled(i) < Bled_rs(i) Then Incr Bled(i)
 
     If Rled(i) > Rled_rs(i) Then Decr Rled(i)
     If Rled(i) < Rled_rs(i) Then Incr Rled(i)
 
     If Gled(i) > Gled_rs(i) Then Decr Gled(i)
     If Gled(i) < Gled_rs(i) Then Incr Gled(i)
   Next N
 
 
   If N = 2 Then                                            'error odczytu, jak nie odebra? parzystej liczby bajtow
     Incr Licz_err
     If Licz_err >= 5 Then
       Licz_err = 0
       D = Inkey()
       D = Inkey()
       D = Inkey()
       D = 0
       N = 1
     End If
   End If
 
 End If
 
 
 If Odebrano = 1 Then
   If Adres = 0 Then                                        'pilot o adresie 0
     Bled(1) = 100 : Bled(2) = 100 : Bled(3) = 100 : Bled(4) = 100 : Bled(5) = 100 : Bled(6) = 100 : Bled(7) = 100 : Bled(8) = 100
     Rled(1) = 100 : Rled(2) = 100 : Rled(3) = 100 : Rled(4) = 100 : Rled(5) = 100 : Rled(6) = 100 : Rled(7) = 100 : Rled(8) = 100
     Gled(1) = 100 : Gled(2) = 100 : Gled(3) = 100 : Gled(4) = 100 : Gled(5) = 100 : Gled(6) = 100 : Gled(7) = 100 : Gled(8) = 100
     Printbin Komenda
   End If
   Odebrano = 0
   Enable Int0
 End If
 
 
Loop
End
'************ Petla glowna Koniec **************
 
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer1:
 Timer1 = 65286
 
 Incr Licznik
 If Licznik = 100 Then Licznik = 0
 
 For K = 1 To 8
   J = K - 1
   If Licznik < Rled(k) Then Set Kolor_r.j Else Reset Kolor_r.j
   If Licznik < Gled(k) Then Set Kolor_g.j Else Reset Kolor_g.j
   If Licznik < Bled(k) Then Set Kolor_b.j Else Reset Kolor_b.j
 Next K
 
 Incr Dzielnik
 If Dzielnik = Dziel_przejscia Then
   Dzielnik = 0
   Set Flaga_przejscia
 End If
 
 Rd = Not Kolor_r
 Gd = Not Kolor_g
 Bd = Not Kolor_b
 
Return
'******** Przerwanie timer 0 Koniec ************
 
'************   Inne Etykiety    ***************
'***********************************************
 
Przzew0:
  Disable Int0
  Enable Interrupts
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
  Odebrano = 1
Return

Ustawienia fusebitów mikrokontrolera ATMEGA16 przedstawione są poniżej: (zrzut z programu Burn-O-Mat)

Obsługa:

Obsługa i instalacja programu współpracującego z Mirlight, znajduje się na stronie autora: http://grizz.pl/mirlight. Tam też należy kierować pytania odnośnie działania programu.

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat67.6 KB
Sterownik Płytka23.36 KB
Sterownik Płytka (odbicie lustrzane)23.36 KB
Sterownik Płytka (3 na stronie)64.86 KB
Sterownik Montowanie32.26 KB
Blok LED Schemat17.66 KB
Blok LED Płytka6.79 KB
Blok LED Płytka (odbicie lustrzane)6.84 KB
Blok LED Płytka (8 na stronie)34.48 KB
Blok LED montowanie8.39 KB
Kod Źródłowy4.86 KB
Program po Kompilacji (BIN)2.34 KB
Program po Kompilacji (HEX)6.6 KB
Kod źródłowy (Wersja 2009.11.15) Działa z nowym programem4.36 KB
Kod źródłowy (Wersja 2009.11.21) Działa z nowym programem, pilot działa4.41 KB
Kod źródłowy (Wersja 2010.03.20) Działa z nowym programem, pilot działa +autowykrywanie portu4.51 KB



Portret użytkownika alien

U mnie najnowsza wersja nie

U mnie najnowsza wersja nie działa. Kolory na pulpicie i w programach nie świecą (albo świecą na kolor jaki im się podoba), w filmach dosłownie mrugają (nie działa ustawianie częstotliwości wysyłania koloru i fadingu), tak że nie jestem w stanie określić czy kolory się zgadzają. Nie mam pojęcia co jest nie tak (programowałem na zmianę starym i nowym wsadem - stary działa, nowy nie - oczywiście dla swoich wersji programów).

Portret użytkownika grizz

Której wersji oprogramowania

Której wersji oprogramowania używałeś, bo wczoraj kilka razy zmiany wysyłałem.

Portret użytkownika mirley

Re: Mirlight

W nowej wersji oprogramowanie nie działa nic co jest w programie oprócz przycisku start. Kolory odczytywane są co 10ms lub 100ms zależnie od wersji którą pobrałeś i wysyłane do sprzętu.

-

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 bobski

Witam, chcialem zapytac czym

Witam, chcialem zapytac czym mozemy sterowac za pomoca pilota?

Portret użytkownika grizz

Praktycznie czymkolwiek, co

Praktycznie czymkolwiek, co masz na komputerze, i co przyjmuje zewnętrzne rozkazy, bądź to z dbuas, bądź, dcopa, albo przez wewnętrzny mechanizm. Obecnie podpięte są komendy pod smplayera.

Działa to na trywialnej zasadzie:

command = "echo \'not bind\'" ##XXX debug
if x == 14: command='smplayer -send-action pause'#works as pause/play
if x == 3: command='smplayer -send-action forward3'
verbose("%s:\t%s" % (x, command), 2)
os.system(command)

czyli przypisaniu kodu wysyłanego przez pilot do polecenia systemowego.

Portret użytkownika Farmi18

Na początek chciałem się

Na początek chciałem się przywitać z bywalcami tej stronki i.... założycielem jej :)
Przyciągnłą mnie na stronkę niewątpliwie MIRLIGHT, ale znalazłem też inne ciekawe projekty, które będe chciała skopiować.
W zasadzie elektornika zajmoałem się hobbystycznie, a programowanie to moja słaba strona, wiec te uC to wyzwanie dla mnie, ale i możlwość nauczenia się czegoś :)

Widzę, że hardware narazie nie uległ zmianie, tylko software, tak więc układ można składać, a oprogramowanie zawsze jakieś się dobierze.

Przed zaczęciem montażu, mam pytań kilka:
1. Hardware - schemat nie uległ zmianie biorąc pod uwagę pierwszą wersję, więc smiało można kopiować, to co opisuje temat?
2. Dobrze rozumiem, że jest jeden program którym się programuje uC ATMEGA16 i jednocześnie ten sam program się odpalana WINDOWSIE, w ktorym się dokonuje nastaw?
3. kondensatory na jakie napięcie trzeba zastosować?? Wystarczy 25V, czy 50V, czy 100V?
4. Ten odbiornik IR, to na zdjeciu płytki nie jest widoczny, gdzie się go wlutowuje?
5. Kolego ALIEN, wrzuć filmik jak u CIebie działa AMBI, bo w końcu nie ukazał się filmik w dobrej jakości
6. no i cały czas nie wiem jak to z tym RS232 jest. Rozumiem, że pozpśrednio nie można podłączyć.
Trzeba knwerter - Twojej konstrukcji (jak bym robił, to ten największy, bo najłatiwej lutwać), albo "dwutranzystorowy konwerter poziomów - Popatrz na tranzystory podłączone do portu com w projekcie tutaj", ale nie wiem o co chodzi.

To takie pierwsze pytania, które pozwolą mi wystartować z projekem.
Pozdrawiam i liczę na odpowedz.

Portret użytkownika mirley

Re: Mirlight

1. Nowa wersja sprzętu jest w opracowaniu, będzie trochę inna konstrukcja i od razu będzie USB za pomocą FT232. Nowy program działa ze starą wersją bo na czymś trzeba było testy robić.
2. Program dla uC to jedna sprawa a na komputer to druga i nie ma to nic ze sobą wspólnego, poza tym że jeden program wysyła dane do drugiego.
3. Skoro układ jest zasilany 5V to skąd ma się tam pojawić 100V, 50V czy nawet 25V, może być np na 16V
4. Poczytaj Instrukcję i popatrz na schemat montażowy, odbiornik IR montuje się na kablu do złacza oznaczonego jako U2
6. Konwerter Rs232 to najlepiej będzie jak zrobisz taki http://mirley.firlej.org/konwerter_rs232

narazie jednak radzę zaczekać bo będzie nowa wersja sprzętu

-

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 Farmi18

Zobaczymy czy wytrzymam do

Zobaczymy czy wytrzymam do nowej wersji sprzętu.
Póki co spróbuje zaprogramować Atmegę.
... czyli za pomocą BASCOM i odpowiedniego kableka programujacego musze wgrać w ATMEGĘ jeden z poniższych:
Program po Kompilacji (BIN)
Program po Kompilacji (HEX).
Czy jest któryś z nich.... preferowany, czy jest to.... bez najmniejszego znaczenia??

Prosze o pomoc, jak z USB wyprowadzić 5V i GND, bo nie znalazłem takje info szukając szybko.

Pozdrawiam

Portret użytkownika mirley

Re: Program

Może być bin lub hex. Bascom otwiera dwa typy ale większość programów obsługuje tylko hex. To poprostu ten sam program w dwóch formatach zapisu.

Co do zasilania z USB to popatrz na http://pl.wikipedia.org/wiki/USB tam są opisane kolory przewodów w kablu USB. Musisz oczywiście mieć jakiś kabel z odciętą wtyczką lub cały kabel i wolne gniazdo na drugim końcu abyś miał do czego przylutować swoje przewody. Kable na których występuje +5V i masa można łatwo zidentyfikować za pomocą miernika.

-

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 alien

Witam :) Aparat dopiero będę

Witam :)
Aparat dopiero będę miał w niedziele więc filmik powinienem wrzucić w poniedziałek (od razu mówię, że jakość będzie tragiczna - aparat).
Tak na marginesie: zasilania do Mirlighta nie próbuj ciągnąć z USB :). Ostatnio mnie tak tknęło (sam mam puszczone z molexa zasilacza) - 24 diody x 3 kolory = 72, przyjmując, że każda z nich weźmie 30mA, daje to: 2,16A - przy świeceniu na biało. I na "szczęście" znalazłem w instrukcji - linia +5V max obciążenie 24,1A - ?? przy tej wartości ten kabelek pewnie by wyparował, mógłby ktoś nieco to przybliżyć?

Portret użytkownika mirley

Re: Mirlight

Przy obecnej wersji mirlight pobiera około 1A prądu przy białym kolorze, to i tak nie zmienia faktu że usb do jego zasilania się nie nadaje.

Ps. Co do zasilacza komputerowego, skąd te 24A to pytanie jest nie na temat ale faktycznie zasilacze komputerowe tyle dają prądu, tylko nikt nie mówił że masz to pobierać po jednym przewodzie. Zasilacz ma czerwonych kabli +5V całe mnóstwo :)

-

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 Farmi18

Skoro programator na kabelku

Skoro programator na kabelku LPT działa wczytałem do Atmegi16 plik *BIN i wszytko OK :)
Należy następne ustawic FUSEBITs.
Ustawienia za pomocą programu Burn-O-Mat jak podałeś w opisie projektu wyglądją tak:
http://mirley.firlej.org/files/MAMB_fuse.gif
Jeżeli jednak uzywam programu BASCOM, to zapis bitów w tym programie wygląda tak:
http://img42.imageshack.us/img42/2613/fusebitatmega16.jpg

Nie mogę jednak znaleźć wszytskch odpowiedników.
1) 1 i 2 bit jest analogiczny,
2) Enable serial program,..... >> to jest >> SPI enable
3) Oscilator options to jest - CKOPT1??
4) w Burn-O-Mat ma być ODZNACZONY bit "EPROM is preserved through the chip Errase",
a w BASCOM ma być "Errase EEPROM when chip errase"?
5) Co z bitami BOOTSZ1 i BOOTSZ2 --> które to są ich odpowiedniki w BASCOM?

Dlaczego 3 pierwsze bity zaznaczyłeś na czerwono??

Portret użytkownika mirley

Re: fusebity

Najprościej to było by abyś zainstalował burn-o-mata i ustawił wszystko to ca ja na rysunku. To co jest na czerwono to nie ja zaznaczyłem ale są to bity których nieumiejętne przestawiania może spowodować że procesor przestanie odpowiadać.

W baskomie będzie trzeba:
1. Najpierw w linijce FusebitKLA987 przestawić ten zapis Int. Rc. Osc na External Crystal Oscylator, ale na taką opcję dla której wartości CKSEL=1111 i SUT=11 (to te wartości w kwadratowym nawiasie w bascomie). Po znalezieniu tej opcji trzeba kliknąć Write FS po prawej i od tej pory do procka musi być podłączony kwarc więc mam nadzieję że go masz

2. Następnie w fusebit high w pozycji J ma być 1 czyli bez zmian a w pozycji H przestaw na 0

3. Resztą się nie przejmuj

-

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 Farmi18

Jak zainstaluje BURN, od

Jak zainstaluje BURN, od razuwykrywa mi ATMEGĘ 16, na oknie gównym mam mozliwść wzytania plików HEX do EEPOM lub FLASH, lub prześć min. do FUSEs. Jak tam przejdę, mam takie samo okno jak u Ciebie, więc klikam odopwiednie zaznaczenia i WRITE FUSEs. A wtedy "COULD RUN PROGRAM....."
Jak to "naprawić"?

Portret użytkownika mirley

Re: Programowanie

-

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 james

Mirek kiedy planujesz

Mirek kiedy planujesz wstawienie nowej płytki tej ze złączem usb?
Chcę zrobić taki projekt i zredukowałem liczbę diód do 2 na kanał prąd maksymalny wychodzi 0,64A i do zasilenia chciałbym zastosować ładowarkę od noki 5v 890mA. Czy jest to możliwe czy może jest coś o czym nie wiem?

Portret użytkownika mirley

Re: Mirlight

narazie nie planuje umieszczać płytki do nowego mirlighta, bo sam jeszcze go nie skończyłem... moze jak wrócę do krakowa to zamieszczę tylko sam rysunek bez opisu, aby można było ją wykonać... ale sam musisz sprawdzić czy wszystko idzie bo aktualnie spowolniłem pracę nad czymkolwiek... teraz się liczy tylko projekt do magisterki :)

Co do tej ładowarki od nokii to jeśli jest w stanie wytrzymać taki pobór prądu cały czas i napięcie nie spadnie za bardzo to można zastosować taką ładowarkę w roli zasilacza. Podłacz tą łądowarke pod jakieś obciążenie, typu rezystor drutowy lub żarówka samochodowa itp. Tak aby pobór prądu był około 0,6A. jeśli napięcie nie spadnie a łądowarka nie będzie chciała się stopić to można ja zastosować. Zmierz jakie napięcie jest na wyjściu tej ładowarki, może się okazać że bez obciążenia ma 10V a pod obciążeniem 4,5V. Pamiętaj że takie coś trzeba wystabilizować żeby miało cały czas w granicach 4,5 - 5V

-

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 tygrysek

problemy problemy

witam Wszystkich !

jestem już na etapie uruchamiania układu ,
program wgrałem , fusbity poustawiane, zakupilem konwerter usb - rs 232
wszytko 10 razy sprawdzone program na komputerze tez dziala , lecz efektów brak .

Nie wiem jak sprawdzić czy konwerter nadaje się do prac z tym układem.
Dodatkowo dostaje takie wydruk w linii komend po uruchomieniu programu.

  File "src\mirlight_gui.py", line 102, in timer
  File "src\mirlight_gui.py", line 134, in sendColors
AttributeError: 'str' object has no attribute 'write'
Traceback (most recent call last):
  File "src\mirlight_gui.py", line 102, in timer
  File "src\mirlight_gui.py", line 134, in sendColors
AttributeError: 'str' object has no attribute 'write'
Traceback (most recent call last):
  File "src\mirlight_gui.py", line 102, in timer
  File "src\mirlight_gui.py", line 134, in sendColors
AttributeError: 'str' object has no attribute 'write'

co może być nie tak ?

Portret użytkownika grizz

Która wersja programu?

Która wersja programu?

Zresztą nie ważne.
Ściągnij najnowszą z gałęzi test - działa pięknie i jest intensywnie eksploatowana przez ostatnie dwa miesiące :)

Jak ręcznie to tu masz link: http://github.com/grizz-pl/mirlight/archives/test

Jak za pomocą gita:

git branch test
git checkout test
git pull origin test

Portret użytkownika tygrysek

testuje na 0.5 a

testuje na 0.5 a

Portret użytkownika grizz

Zrób jak wyżej napisałem.

Zrób jak wyżej napisałem.

Portret użytkownika tiger188

cos nie chasa

C:\Users\Tiger>C:\Users\Tiger\Desktop\grizz-pl-mirlight-test\mirlight.bat
 
C:\Users\Tiger>python src\mirlight_gui.py
python: can't open file 'src\mirlight_gui.py': [Errno 2] No such file or directo
ry

teraz program wogole nie startuje ,okienko konsoli miga i nic sie nie dzieje, po odpaleniu w konsoli mam powyższy blad, wersja v0.5 uruchamia się .

mam zainstalowane Active Python , PyQt , Pyserial.

Portret użytkownika grizz

Wywal z pliku .bat " %1 %2 %3

Wywołuj plik .bat z głównego katalogu programu, a nie przez cała ścieżkę.

Portret użytkownika tiger188

podobny efekt

C:\grizz-pl-mirlight-test>mirlight.bat
 
C:\grizz-pl-mirlight-test>python src\mirlight_gui.py
Traceback (most recent call last):
  File "src\mirlight_gui.py", line 501, in <module>
    myapp.loadConfiguration()
  File "src\mirlight_gui.py", line 329, in loadConfiguration
    self.autoArrangeFields()
  File "src\mirlight_gui.py", line 418, in autoArrangeFields
    writeToConfing(field, x, y, w, h)
  File "src\mirlight_gui.py", line 406, in writeToConfing
    with open('presets/autoarrange.mrl', 'wb') as configfile:
IOError: [Errno 2] No such file or directory: 'presets/autoarrange.mrl'
 
C:\grizz-pl-mirlight-test>

efekt podobny

Portret użytkownika grizz

O :D moja wina ;) Zapomniałem

O :D moja wina ;) Zapomniałem dopisać generowania tych katalogów a skasowałem z repo :D

Utwórz to czego mu brakuje (masz napisane w ostatniej linijce) - tj. katalog (presets) i pusty plik (autoarrange.mrl)

EDIT:A w repozytorium dostępna jest już poprawiona wersja. Download, jak zwykle - http://github.com/grizz-pl/mirlight/archives/test

Portret użytkownika tiger188

działa

juz wszytko ok , program rusza lecz

--
Error:  Unable to open port
Check your port (com (ttyS)) configuration!
--

masz jakieś sposoby na sprawdzenie poprawności działania poru com ?

Portret użytkownika grizz

A dobry port masz podany w

A dobry port masz podany w konfiguracji?

Portret użytkownika tiger188

tak

tak , wszytko wydaje się być ok, jednak komunikacji nie ma dalej , wymagane są jakieś specjalne ustawienia parametrów COM-a poza zgodnym nr portu?

Portret użytkownika grizz

Jak podajesz nr portu? Pod

Jak podajesz nr portu? Pod jakim portem masz podłaczone urządzenie, a co masz ustawione w konfiguracji ?

Jak to jest windows to pamiętaj, że podając numerycznie "1" ustawiasz port COM2. 5 = COM6

Najlepiej po prostu wpisać nazwę portu np. "COM1"

Portret użytkownika tiger188

postęp

Jest już jakiś progres, program nie wyświetla błędów, lecz po chwili działania zawiesza sie bez zadnego komunikatu. Może to wynikać z wadliwego układu , czy jest to raczej sprawa softwarowa ?

Portret użytkownika grizz

Raczej softwarowa, tylko, ze

Raczej softwarowa, tylko, ze u nas nigdy coś takiego nie nastąpiło.

Jak to zawieszenie się objawia - program się zamyka? Nie reaguje na nic? Coś w konsoli się pojawia?? Kiedy następuje? PO prostu po jakimś czasie od uruchomienia (bez klikania niczego w programie)? Bezpośrednio po kliknięciu w coś? Jakiś czas po kliknięciu?

Którą wersje programu masz wgraną w procesor?

Portret użytkownika tiger188

nie mam możliwości

nie mam możliwości przetestowania tego na win XP ,
program w uC ostatnia wersja z strony projektu ,
program na kompie - ostatnia wersja

brak komunikatów w konsoli ,
program zawiesza się po 2-3 sec ,
bez klikania ,

Portret użytkownika grizz

Sprawdzę, to jeszcze jutro na

Sprawdzę, to jeszcze jutro na jakimś windowsie.

Portret użytkownika studzin

Docelowo chcę ten układ

Docelowo chcę ten układ zastosować z ekranem 300x170cm i fajnie by było uzyskać więcej kanałów. Teraz pytanie jak to zrobić najsensowniej? Myślałem o tym, żeby zrobić 2 bliźniacze układy i w ustawieniach sterownika na PC trochę namieszać, ewentualnie po prostu otworzyć program 2 razy.

Portret użytkownika tiger188

o.0

nie wiem czemu moja wiadomosc sie nie opublikowala

poprawiam ten błąd,
program przetestowałem na XP , działa tzn sie nie wiesza , lecz jeszcze jakieś problemy z hardware , zajrzę do tego po sesji.

Portret użytkownika grizz

Quote:Docelowo chcę ten układ

Quote:
Docelowo chcę ten układ zastosować z ekranem 300x170cm i fajnie by było uzyskać więcej kanałów. Teraz pytanie jak to zrobić najsensowniej? Myślałem o tym, żeby zrobić 2 bliźniacze układy i w ustawieniach sterownika na PC trochę namieszać, ewentualnie po prostu otworzyć program 2 razy.

W programie nie ma najmniejszego problemu, żeby obsłużył dwa urządzenia. Trzeba tylko trochę poklikać i pokopiować kilka linii. Więcej zabawy będzie z przystosowaniem do tego GUI, ale to tez w dużej mierze jedynie operacje kopiuj wklej.

Pytanie tylko czy jest sens tworzenia większej ilości kanałów - nie wystarczy dać więcej diod na jeden kanał? Jaką rozdzielczość ma ten ekran?

Portret użytkownika studzin

Na tym ekranie jest

Na tym ekranie jest wyświetlany obraz z projektora HD REDY 720p (1280x720) źródło obrazu to w 90% materiał w tej rozdziałce.

Portret użytkownika grizz

To bym odpuścił... i dał

To bym odpuścił... i dał tylko więcej diod na kanał.

Portret użytkownika marcins

ikea dioder

Witam

Jak wiele trzeba przerobić w programie aby współpracował z modułami ze wspólną anodą takimi jak ikea dioder?
Planuję użyć gotowego modułu bo jest całkiem jasny, ma już mniej więcej zbalansowaną moc, wygląda ładnie i jest łatwy w montażu.
Jeden moduł ma 9 diód RGB, czy BC517 zamiast BC516 starczy?

Portret użytkownika mirley

Re: Diody

Nie wiem dokładnie.. tranzystor zależy od poboru prądu jaki zafundujesz na jego kolektorze... zmierz czy ten zasilacz jest padu stałego czy to poprostu trafo, jeśli to trafo to będziesz musiał to jeszcze wyprostować i wyfiltrować zanim podasz na zestawy diod. Poza tym trzeba zmierzyc pobór prądu przy maksymalnym świeceniu. W programie trzeba zanegować stan wyjść żeby podać to na tranzystory NPN dla diod wspólnej anodzie

-

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 marcins

Zasilacz wrzucę swój.

Zasilacz wrzucę swój. Zmierzyłem i obciążenie nie przekracza 50mA (konkretnie 31R/41G/38B) na kolor przy jednym module więc wygląda że tranzystor podoła. Diody i tak będę zasilał 12V tak jak w oryginale.
Co do negowania. Czy jeśli zmienię:
Rd = Not Kolor_r
Gd = Not Kolor_g
Bd = Not Kolor_b
na:
Rd = Kolor_r
Gd = Kolor_g
Bd = Kolor_b
to wystarczy? Wydaje mi się że powinno to zamienić stany wyjść.

Portret użytkownika mirley

Re: Mirlight

Tak ta operacja wystarczy do zanegowania wyjść. Tranzystory daj zwykłe NPN a nie w układzie darlingtona. Może być BC547

-

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 marcins

Działa :D

Dzięki za pomoc, całość działa bez problemu. Dodałem na płytce ft232rl aby można było całość podłączyć po usb i zmodyfikowałem programik aby odpalał się bez GUI i można było włączyć/wyłączyć przechwytywanie obrazu za pomocą pilota. Odpalam to na wspólnej sesji graficznej z XBMC, efekty są niesamowite zarówno w trakcie filmów jak i podczas wizualizacji muzycznych :D

Portret użytkownika grizz

Podeślij gdzieś źródła

Podeślij gdzieś źródła zmodyfikowanej wersji programu. Na githuba najmilej.

Portret użytkownika sariusz

interesuje mnie do czego na

interesuje mnie do czego na schemacie jest zlacze GP1 - niestety nigdzie nie znalazlem wzmianki o jego zastosowaniu

pzdr

Portret użytkownika mirley

Re: mirlight

nie jest po nic potrzebne... miała być dodatkowa opcja na przyszłość ale projekt nie będzie już rozwijany bo teraz będzie Mirlight 2, który jest w przygotowaniu

-

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 studzin

A sprzętowo v.2 będzie się

A sprzętowo v.2 będzie się mocno różnił od v.1? Bo myślałem o poskładaniu czegoś za jakieś 2 tyg.

Portret użytkownika mirley

Re: Mirlight

Będzie inny, zamiast tranzystorów są układy ULN, diody są SMD i ze wspólną anodą. Komunikacja jest bezpośrednio do USB dzieki układowi FT232

-

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 mlodziezy

Problem z rpogramowaniem

Witam.
Na początku gratuluję świetnej strony.
Skleciłem płytkę według wzoru, i zatrzymałem na programowaniu atmegi (używam USBASP).
Problem polega na tym, że układ się programuje i jest wykrywany przez komputer i burn-o-mat 2.
Daje się ustawić fusebity według wzoru dla 16 Mhz ale tylko raz. Próba sprawdzenia nie przebiega pozytywnie. Wskazuje, że żadna z opcji nie została zaznaczona.
Gdzieś w internecie znalazłem sposób na odblokowanie Atmegi przez zastosowanie kwarcu o niższej wartości niż 16 Mhz. Użyłem 8Mhz i tu stało się coś dziwnego. Wszystko ruszyło, tzn. okazało się że fusebity jednak są ustawione i to tak jak chciałem czyli dla 16 Mhz i układ daje się zaprogramować dostępnym na stronie plikiem hex (z tym że cały czas jest kwarc 8Mhz).
Co może być nie tak?
A i przetestowałem już dla pewności trzy kwarce 16 Mhz i za każdym razem to samo.
Chciałem zaznaczyć, że jestem początkujący.
Pozdrawiam.

Portret użytkownika mlodziezy

Pomyłka. Kwarc do

Pomyłka. Kwarc do odblokowania ma 4 Mhz.
Pozdrawiam