Prosty pilot IR do PC -> USB (Girder) – Nowa odsłona :D

Prosty pilot IR do PC -> USB (Girder) – Nowa odsłona :D

Witam,

Dziś chciał bym wam przedstawić Odbiornik pilota IR do PC na USB, który oparty jest o mikrokontroler Attiny2313 pracujący w roli kontrolera V-USB. Urządzenie współpracuje z dość słynnym programem „Girder”. Samo źródło z którego skorzystałem jest dość leciwe, ale jak się też okazało zawierające dużo błędów i niedociągnięć, które na szczęście udało mi się poprawić, i poskładać w jedną działającą bezbłędnie całość. Tak czy owak brawa dla pierwotnego autora projektu, Pana Igora Češko, który wykonał kawał dobrej roboty.

Dlaczego w ogóle orzeźwiłem ten projekt ?

W latach 2000 – 20005 z powodzeniem używałem programu Girder 3.0 do zmiany kanałów TV na ekranie mojego komputera. Niestety moja karta TV nie miała w zestawie ani pilota ani też odbiornika, więc musiałem sobie radzić sam ;). Jako odbiornik IR pracował również projekt Igora Češko, tyle że w wersji na RS232, no bo kto wtedy miał USB… :D

To tyle z dawnych czasów, ale na co mi to teraz ?

Faktycznie, mam w sypialni spory płaski (nie jak kiedyś) telewizor, od którego też nieco się uzależniłem, i nie wyobrażam sobie iść spać bez obejrzenia jakiegoś filmu. Niestety czeka mnie teraz dość poważny remont tejże sypialni, i przez pewien czas będę musiał się obejść bez TV(!!!!!). W pokoju zastępczym, którym będę spał, mam jednak komputer, a na nim pakiet „PolsatGO” :D ale przecież nie będę wstawał z łóżka by zmienić kanał… Dlatego właśnie postanowiłem nieco odświeżyć projekt – z lenistwa ;P

Co było źle, co zmieniłem…

W kwestii technicznej nie trzeba było dużo ingerować. Podstawowe błędy w oryginalnym projekcie odbiornika, to brak diod zenera na liniach D+, D-. Z tego też powodu tylko nieliczne komputery obsłużyłyby układ odbiornika. W większości przypadkach kończyłoby się to brakiem możliwości zidentyfikowania podłączonego urządzenia, oraz słynnym komunikatem o awarii urządzenia. Kolejny, mniej istotny błąd to pin „Reset” wiszący „w powietrzu”, który w każdej chwili mógł samoczynnie resetować uC. Problem usunąłem rezystorem 10k, który podciąga RST do plusa. Można by było jeszcze dołożyć kondensatory ceramiczne 12pF na każdej z nóg kwarcu, ale ich brak nie powoduje destabilizacji pracy układu.

Obecnie schemat wygląda tak:

W kwestii programowej – MASAKRA!!!

Sterowniki autora projektu nie chciały się zainstalować ani na Windows XP, ani na 7. Każdy inny sterownik który znalazłem wypadał jeszcze gorzej. Jeden z nich wykrył podłączony odbiornik jako mysz :P – Pomógł dopiero reset PC. Jak już udało mi się przerobić oryginalny sterownik, tak by instalował się i działał bez problemu, pojawiły się kolejne kłopoty. Plugin Pana Igora do obsługi jego własnego odbiornika USB, nie działał z żadną wersją programu Girder. Na 100 pobranych plików o tej samej nazwie, jeden w końcu zaskoczył. Wydaje mi się że Pan Igor specjalnie to wszystko utrudnił. Jego strona znajduje się tylko w niezależnym od niego archiwum (link na końcu artykułu). Być może nie jest to już darmowy, otwarty projekt.

Reasumując trochę mnie ten szybki projekcik na jedno popołudnie zaskoczył, i zabrał mi całą Sobotę, ale za to jest, i mogę zaczynać remont! :D

Przystępujemy do działania! Odtąd jest istotne i ważne :D

Wskazówki montażowe:

Płytkę najlepiej jest wykonać metodą termotransferu. Lutowanie koniecznie trzeba zacząć od zworek, gdyż dwie z nich znajdują się w później niedostępnym miejscu (pod podstawką uC). Do pól lutowniczych USB, najlepiej przylutować jakiś kabelek z wtyczką (ja użyłem z demobilu). Mikroprocesor trzeba zaprogramować w programatorze z podstawką DIL, lub na płytce stykowej, za pomocą programatora USBasp. Można użyć Attiny2313, Attiny2313A, lub ciężko dostępny u nas AT90S2313. Przy ostatnim trzeba zmienić parametry w pliku “START.bat”

 Programowanie mikroprocesora:

 W zasadzie użyta aplikacja programująca jest dowolna. Problem polega na tym że wsad został skompilowany pod uC AT90S2313, który mimo że jest w pełni kompatybilny z Attiny2313, może powodować błędy podczas programowania. Ja użyłem aplikacji „AVRdude”, która bez problemu wrzuca wsad do mikroprocesora, a później poustawia odpowiednio wszystkie potrzebne Fusebity. Po przygotowaniu uC do programowania, i podłączeniu pod programator USBasp, wystarczy kliknąć plik „START.bat”, który znajduje się w dolferze “Firmware” – on wykona wszystko za nas.

Instalacja sterowników:

Ze sterownikami była prawdziwa masakra, i 80% Soboty spędziłem na poszukiwaniach właściwych, które i tak trzeba było modyfikować – na szczęście na poziomie pliku *.inf ;) Sterowniki przetestowałem na systemach Windows XP oraz Windows 7 – obydwa 32bit. Nie wiem jak się to ma do systemów 64 bitowych, ale gdyby moje sterowniki nie działały, zamieszczam inne, które znalazłem, rzekomo pod te właśnie wersje systemów. Na wersjach 32 bitowych nie działają.

Sama instalacja moich sterowników jest dziecinnie prosta. Wygląda tak jak w przypadku każdych innych, z wyjątkiem komunikatu o braku podpisu cyfrowego. Należy go zignorować, zaakceptować i poczekać aż sterowniki się zainstalują ;)

Kolejną czynnością którą warto zrobić, jest sprawdzenie czy nasze urządzenie działa. W folderze „IgorUSB Remote\Driver\WinXP_7_32bit\” znajduje się aplikacja „Test Hardware.exe”. Należy ją uruchomić, i poklikać na dowolnym pilocie skierowanym w odbiornik. Jak stany się zmieniają, oznacza to że najgorsze masz już za sobą! :D

Instalacja oprogramowania:

Zacznij od instalacji programu „Girder 3.0” służącego do obsługi pilotów, najlepiej w preferowanej ścieżce docelowej (program files). Aplikacja znajduje się w folderze „Software”. Po zakończeniu instalacji, czas na wypakowanie wtyczki do obsługi odbiornika. W tym celu należy z tego samego folderu uruchomić samo rozpakowujący się plik „IgorPlug.exe”, który wypakuję wtyczkę do folderu „Plugins/Hardware/ w aplikacji „Girder”.

Uruchomienie aplikacji „Girder”

Tuż po uruchomieniu należy przejść w zakładkę File -> Settings -> Hardware Plugins. Zaznacz ptaszkiem „Igor SFH-56 Device”, następnie klikając „Settings”. Z listy wybierz „USB”, a następnie przycisk „OK”.

Kolejny etap to już tylko zaprogramowanie dowolnego pilota, by dowolnym przyciskiem wykonywał różne funkcje, takie jak naciśnięcie klawisza klawiatury, ruszanie myszką, sterowanie aplikacjami takimi jak Winamp itp.

Szczerze powiedziawszy na tyle zmęczył mnie ten dzień, że już nie chce mi się pisać instrukcji, którą sam musiał bym sobie przypomnieć. Jak znajdę chwilę, postaram się jeszcze w skrócie coś dopisać, a póki co odsyłam do Google, gdzie na pewno znajdzie się jakiś poradnik dotyczący samej aplikacji “Girder 3.0”. Jest to na tyle proste, że każdy z Was powinien sam sobie poradzić.

W załączniku wszystkie niezbędne materiały do wykonania odbiornika, oraz gotowe oprogramowanie wraz ze sterownikami działającymi pod Windows XP oraz 7 32bit (innych nie testowałem).

Wygasające już źródło, którym się posłużyłem:

https://web.archive.org/web/20120321172140/http://www.cesko.host.sk:80/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm

Dyskusje na temat sterowników:

https://www.elektroda.pl/rtvforum/viewtopic.php?t=1506070

Zachęcam do realizacji projektu – jest naprawdę bardzo prosty, i składa się tylko z kilku elementów.

Komentujcie! – to inspiruje ;)

Pozdrawiam, i już dziś życzę wam wszystkim udanej zabawy Sylwestrowej, i szczęśliwego nowego roku!

Na drugi dzień…

Przeszukałem cały dom w poszukiwaniu niewielkiego pudełeczka, które posłużyło by jako obudowa mojej nowej zabawki.

Nie znalazłem nic poza opakowaniem po lekach z dość grubego i twardego plastiku ;)

10 minut później miałem już obudowę :P

Nie jest może zbyt ładna, ale spełnia swoje zadanie, a wcale nie musi być w widocznym miejscu ;)

 

Jakiś czas później…

Trochę zaczęło mnie drażnić to że obudowa się turla, więc wydrukowałem obudowę ręczną drukarką 3D (zwał jak zwał) :)

 

 

Pliki załączone do artykułu:

Ocena: 5/5 (głosów: 2)

Podobne posty

12 komentarzy do “Prosty pilot IR do PC -> USB (Girder) – Nowa odsłona :D

  • Z softu polecam też EventGhost, obsługuje wiele komercyjnych pilotów (sam używam dbiornika i pilota x10) a także ma obsługę igorusb. Dodatkowo sterować może wieloma programami, niekoniecznie przez skróty klawiszowe.

    Odpowiedz
  • Sprawdziłem proponowany program. Moim zdaniem nawet nie umywa się do Girdera :)
    Największe przewagi Girdera, to niskie zużycie pamięci, możliwość wybierania targetów, dla każdej z funkcji osobno, stabilność w działaniu, a najważniejsze, że obsłuży każdy możliwy pilot, i można ustawić każdy przycisk do czego się chce ;)

    Odpowiedz
  • Trochę przekombinowane… Nie ma programów automatyzujących które przyjmują dowolny input? Dałbym wtedy AVR jako emulator klawiatury HID i żeby walił skrótami klawiaturowymi. Zero problemów ze sterownikami, a możliwości do osiągnięcia podobne. Do sterowania samego TV to bym użył po prostu telefonu ;)
    No, ale plus że Ci się chciało to robić tak na około, ja mam w planach zrobienie nadajnika IR z ESPem żeby nie musieć szukać pilota, a telefon mam zawsze pod ręką.

    Odpowiedz
  • Kolego to nie jest takie proste jak sobie myślisz ;)
    Raz że nie odbieram skrótów klawiszowych co daje potężne możliwości, a dwa że nie jesteś w stanie odczytać w locie danych z pilota ;) Dlaczego ?
    Pilot IR ma nośną o częstotliwości 36kHz. Na zwykłym uarcie czyli niby HID jest to mało realne, bo będzie sporo błędów.
    Autor projektu wykorzystał prawie cały RAM uC ako bufor. Wysyła on do PC cały ciąg danych z pilota.
    Co z tego że będziesz wysyłał kombinacje klawiszy ? Nie będzie to uniwersalne, i za każdym razem musiał byś programować uC do danego guzika ;) Mówimy o dwóch innych rzeczach ;). Moje rozwiązanie to tylko jeden mikrporoc i pare elementów ;) Ludzie nie bójcie się gołych mikroprocesorów!

    Odpowiedz
  • Mam pilota Mediona, coś takiego jak na tym obrazku. Bez problemu mogę nim uruchomić i sterować wiele programów, niektórymi klawiszami przełączam całe grupy w konfiguracji przez co jeden klawisz mogę wykorzystać wielokrotnie. Nie wiem czy takie możliwości ma Girder, używałem go dawno temu jak jeszcze miałem komputer z portem Ir na płycie głównej. Potem przesiadłem się na x10 i Event Ghost, trochę pomęczyłem się z konfiguracją ale obecnie nie mam z tym większych problemów. EventGhost też jest w stanie obsłużyć każdy dowolny pilot, wystarczy Arduino Nano , odbiornik ir + biblioteka IR remote + szkic który wyśle zdekodowany kod przez serial, a co potem z tym się ma dziać to zależy już tylko od inwencji twórczej. Jedyne co mogę mu zarzucić to problem z pogłaśnianiem karty dzwiękowej, dawniej to działało, teraz przestało i nie mam pojęcia dlaczego.

    Odpowiedz
  • Tylko się cieszyć 😉 koszt prezentowanego odbiornika to 10-15zł. Praca bez zarzutu i współpracuje z wszystkimi pilotami rc5 6 nec itp. Na pewno więcej wnosi niż Arduino 😉 jeśli chodzi o problem z głośnością, występuje on również w Girder’ze. Można ściągnąć program “volume” do którego będzie wysyłało się skróty klawiszowe z programu odbierającego – Ma OSD

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?