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

Włącznik komputera zintegrowany z igorplug

djskomy 17 Lut 2009 23:42 12131 16
  • Włącznik komputera zintegrowany z igorplug

    Włącznik komputera zintegrowany z igorplug

    Ostatnio postanowiłem zmontować sobie komputer pracujący w roli "Media Center".
    Jako zdalne sterowanie wykorzystałem odbiornik igorplug (http://www.cesko.host.sk/girderplugin.htm) działający wraz z girderem na porcie rs232 oraz pilot od tunera sat - ferguson.

    Włącznik komputera zintegrowany z igorplug

    Wszystko działało bardzo pięknie - pojawił się tylko jeden problem - brak możliwości włączenia komputera z pilota.
    W wolnej chwili postanowiłem coś zmajstrować - ponieważ pamiętałem, iż BASCOM posiada magiczną komendę GETRC5 - pomyślałem, że będzie to wręcz banalne.
    Jakież było moje zdziwienie, gdy za nic nie mogłem odebrać od pilota komend. W końcu znalazłem inny pilot od starego TV i zadziałało (wniosek - mój pilot to nie RC5). Jednak musiałem jakoś sprawić aby mój ulubiony pilot również zadziałał. Po poszukiwaniach w internecie znalazłem informację dotyczącą kodowania pilotów fergusona (i nie tylko):
    http://www.sbprojects.com/knowledge/ir/nec.htm - polecam jako doskonałe źródło informacji o zasadzie przesyłania danych przez piloty.

    Pilot wysyła na początku start ramki oraz 4-bajtową informację o adresie i kodzie, potem jeśli przycisk pilota jest trzymany wysyłany jest już tylko znacznik początku ramki - co skutecznie uniemożliwiło mi podejrzenie całości na oscyloskopie (pierwsza najbardziej interesująca część szybko znikała :) ).

    Włącznik komputera zintegrowany z igorplug

    Jako, że zacząłem już zabawę w BASCOMie postanowiłem kontynuować i zrodził się odbiornik potrafiący odbierać informacje od tego typu pilotów.
    Projekt nie jest idealny, m.in. w kodzie nie ma zawartej możliwości sprawdzania czy przycisk jest trzymany.

    Budowa:
    - attiny2313 zasilane z portu usb umieszczonego wewnątrz obudowy komputera (z wyprowadzenia na przedni lub tylni panel) - płyta zasila usb nawet wówczas gdy komputer jest wyłączony.




    - do wejścia PD.2 (INT0) jest podłączony sygnał z odbiornika podczerwieni - jest on także podawany przez transoptor (dla odizolowania zasilania z rs232 od usb - nie jest wymagany działało mi i bez niego) na standardową konstrukcję odbiornika igorplug,
    - wejście PB.0 jest wykorzystywane do uczenia klawisza pilota odpowiedzialnego za załączanie wyjścia - zwierane do masy,
    - wyjście PD.6 służy do uruchamiania kolejnego transoptora - w moim przypadku służy do włączania komputera - zwierane do masy,
    - wyjście PB.2 (nie wyprowadzone na projekcie płytki) - pojawia się na nim stan niski w przypadku odebrania jakiegokolwiek prawidłowego kodu.

    Działanie jest następujące:
    - odbiornik po włączeniu odczekuje sekundę po czym przechodzi do pętli, w której sprawdza czy odebrana ilość znaków jest równa 32
    - jeśli warunek jest spełniony sprawdzane jest występowanie stanu niskiego na porcie PB.0 - jeśli warunek jest spełniony - odebrany kod pilota zapamiętywany jest w pamięci eeprom (po tej operacji na wyjściu PD.6 na przemian pojawia się dwukrotnie stan niski - podczas testowania miałem tam podłączonego leda - a później nie chciało mi się już przerabiać kodu aby informacja ta pojawiała się na porcie informacyjnym PB.2),
    - jeśli nie - następuje sprawdzenie czy odebrany kod jest równy z tym zapisanym w pamięci
    - jeśli warunek jest spełniony na porcie PD.6 pojawia się stan niski zasilający transoptor (przez ok. 1 sek.) - włączenie komputera
    - odczyt kodu pilota odbywa się za pomocą timer0, którego czas przepełnienia jest ustawiony na dłużej niż najdłuższy odstęp sygnału w tym standardzie.
    - każde wystąpienie przerwania na przemian włącza i wyłącza timer i na podstawie wartości timer0 jest podejmowana decyzja czy jest to preambuła czy też może logiczne 0 lub 1 - po otrzymaniu pełnych 32 bitów - pętla główna może sprawdzić odebrany kod.

    Załączam kod - nie jest idealny, wręcz przeciwnie - nie jestem zbytnio z niego zadowolony ale działa i mam nadzieję, że pomoże innym w przyszłości szukającym możliwości odczytania kodów pilotów. Algorytm jest przejrzysty i łatwo da się go przenieść na c. Załączam także wzór płytki oraz wsad dla chętnych na proste włączanie komputera za pomocą zmodyfikowanego igorpluga :)

    Uwaga! Fuse bity - należy ustawić tak aby układ pracował na 8MHz - czyli w standardowym ustawieniu trzeba wyłączyć dzielenie przez 8!

    Pozdrawiam i zachęcam do twórczego leniuchowania! :)
    Skomy


    Kilka fotek:

    Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug Włącznik komputera zintegrowany z igorplug


    Fajne!
  • #2 18 Lut 2009 10:38
    mielik6
    Poziom 17  

    Witam.Niezły projekt.Ale estetyka zła.Wsadź to w kakąś obudowe bo tak to brzydko wygląda.Pozdrawiam

  • #3 18 Lut 2009 10:55
    krystian.w
    Poziom 12  

    Dlaczego nie użyłeś IgorPlug'a w wersji na USB tylko tą na RS232? Wtedy wszystko byłoby podłączone do jednego portu i uprościłoby konstrukcję.

  • #4 18 Lut 2009 13:36
    szczupx
    Poziom 19  

    Skoro już zaprogramowałeś uC, żeby dekodował sygnał z pilota, to po co dublować dekodowanie w IgorPlug?
    Tak, wiem, jak działa to nie ruszać... ;)

  • #5 18 Lut 2009 16:07
    djskomy
    Poziom 12  

    Cytat:
    Dlaczego nie użyłeś IgorPlug'a w wersji na USB tylko tą na RS232? Wtedy wszystko byłoby podłączone do jednego portu i uprościłoby konstrukcję.


    Igorplug na usb posiada płatne sterowniki - te darmowe wyświetlają komunikat, że używana wersja to freeware z przyciskiem "ok", który trzeba nacisnąć aby działał odbiornik - to jest powód, dla którego jest to nadal wersja na rs232... :cry:

    Cytat:
    Skoro już zaprogramowałeś uC, żeby dekodował sygnał z pilota, to po co dublować dekodowanie w IgorPlug?
    Tak, wiem, jak działa to nie ruszać...


    Podejście w ten sposób zmuszałoby mnie do napisania własnej wtyczki do girdera...

  • #6 18 Lut 2009 16:51
    pini0
    Poziom 14  

    Witam
    pomysłowe rozwiązanie jeżeli ktoś to bardzo potrzebuje ale i tak bez podejścia do komputera w większości przypadków się nie obejdzie np. mam film dvd i tak trzeba go umieści w napędzie dvd. A może lepiej zrobić klawiaturę usb z odbiorem rc5 lub innym, wtedy nie trzeba żadnego programu w autostarcie .

  • #7 18 Lut 2009 17:02
    djskomy
    Poziom 12  

    Cytat:
    Witam
    pomysłowe rozwiązanie jeżeli ktoś to bardzo potrzebuje ale i tak bez podejścia do komputera w większości przypadków się nie obejdzie np. mam film dvd i tak trzeba go umieści w napędzie dvd. A może lepiej zrobić klawiaturę usb z odbiorem rc5 lub innym, wtedy nie trzeba żadnego programu w autostarcie .


    Ja oglądam na tym tv - dvb-t, więc obejdzie się u mnie bez podchodzenia do niego, natomiast klawiatura usb przez rc5 odpada, ponieważ w trakcie jak odtwarzana jest tv, ja przeglądam internet też na tym komputerze tylko na innym monitorze - osobą chcąca zmienić kanał wypisywała by mi głupoty na ekranie, a girder potrafi wysyłać kody klawiszy do konkretnego programu - nie koniecznie tego, który jest aktywny.

  • #8 18 Lut 2009 18:34
    11111olo
    Poziom 43  

    pini0 napisał:
    np. mam film dvd i tak trzeba go umieści w napędzie dvd.

    A może Kolega by chciał za pomocą jednego przycisku na pilocie wkładać DVD do napędu a innym żeby podawał frytki?
    W każdym sprzęcie było tak ( i jest) że trzeba włożyć nośnik żeby go odczytać - czy to kaseta VHS do magnetowidu, płyta DVD do stacjonarnego odtwarzacza, kaseta magnetofonowa, płyta gramofonowa itd.

    Ogólnie fajnie wyszedł projekt, ale płytkę proponuję włożyć do jakiejś obudowy lub umieścić wewnątrz komputera.

  • #10 18 Lut 2009 18:49
    djskomy
    Poziom 12  

    Cytat:
    płytkę proponuję włożyć do jakiejś obudowy lub umieścić wewnątrz komputera.


    Płytka jest w koszulce i jest włożona do obudowy komputera (jest to widoczne na foto) - na zewnątrz jest tylko odbiornik i to też ze względu na to, że komputer stoi na samym dole szafki i jakbym na przednim panelu umieścił odbiornik czasami mógłbym mieć problem z trafieniem w niego pilotem.

    Dodano po 7 [minuty]:

    pini0 napisał:
    ale wtedy można zrobić tak że jak się przytrzyma przycisk power na pilocie przez 3 sek to komp sie uruchamia a jak 2 sek to aktywuje się klawiatura usb i zapali się dioda oznaczająca aktywacje pilota. Znalazłem klawiaturę na ps2
    https://www.elektroda.pl/rtvforum/viewtopic.ph...ura+avr&sid=3ca7432c5c501a97aead3f43e1adc19b]


    Tak ale nadal nie będzie możliwe jednoczesne używanie komputera do pracy i do oglądania - każda zmiana kanału tv lub innej opcji będzie wysyłać komendy do okna, które jest aktualnie aktywne, a nie jest powiedziane, że aktywny będzie odtwarzacz (czy też w moim przypadku program media portal). A co jak będę pisał w notatniku i ktoś zacznie wciskać klawisze - będą mi one wskakiwać w tekst - tak nie chcę. To może tylko girder rozwiązać - lub aplikacja podobna - ale z klawiaturą drugą to się nie da wg mnie zrobić.

  • #12 18 Lut 2009 19:15
    obelix2
    Poziom 21  

    Mam pytanie. Jakiego programu używałeś do projektowania płytki?

  • #13 18 Lut 2009 19:18
    pini0
    Poziom 14  

    A czy twój odtwarzacz obsługuje "global hotkey"i ustawić kombinacje ctrl + f6.

  • #14 18 Lut 2009 19:43
    djskomy
    Poziom 12  

    Cytat:
    Mam pytanie. Jakiego programu używałeś do projektowania płytki?
    Kicad

    Cytat:
    a czy twój odtwarzacz obsługuje "global hotkey"i ustawić kombinacje ctrl + f6
    hmm nie mam pojęcia, teoretycznie w ten sposób faktycznie można to rozwiązać ale trzeba by dodać jakieś 20-30 "hotkey" to trochę sporo i skomplikowane się robi... i oby coś nie wcisnąć przypadkiem, bądź nie pokrywało się z systemowymi... :)
    Podejrzewam, że wiele rozwiązań można wykorzystać - ja tylko urozmaiciłem to co wykorzystuję już od kilku lat - nie ukrywam, że nawet nie szukałem innego rozwiązania, innej możliwości - igorplug działa świetnie - brakowało mi tylko włączania - to sobie zrobiłem :)

  • #15 18 Lut 2009 19:58
    pini0
    Poziom 14  

    20 30 to rzeczywiście sporo ja wykorzystuje mmm 10 do odtwarzacz i przy zapisanej liście. 6 do menu wyboru pliku (filmu).

  • #16 18 Lut 2009 23:52
    traax
    Poziom 20  

    witam, na jakim systemie jest ten cały Media Center ?? próbowałem takie coś zrobić z zainstalowanym systemem MC lecz nie potrafiłem obsługiwać nakładki media center pilotem, nie mogłem przypisać klawisza ENTER i BACKSPACE co było niezbędne

  • #17 19 Lut 2009 10:24
    djskomy
    Poziom 12  

    Cytat:
    witam, na jakim systemie jest ten cały Media Center ?? próbowałem takie coś zrobić z zainstalowanym systemem MC lecz nie potrafiłem obsługiwać nakładki media center pilotem, nie mogłem przypisać klawisza ENTER i BACKSPACE co było niezbędne


    Używam windowsa xp pro sp3 + patch do sterowników kart bda + media portal 1.0.0.0 - świetny soft polecam. Na windowsie media center nie próbowałem nawet, więc się nie wypowiem co i jak tam zrobić. W razie potrzeby mogę umieścić bazę skrótów girdera do media portal - tych podstawowych.