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.

Klawiatura USB na podczerwień bez sprzętowych klawiszy

Kubald 03 Sty 2013 00:19 13341 3
  • Klawiatura USB na podczerwień bez sprzętowych klawiszy

    IRK! to w rzeczy samej klawiatura USB, jednak pozbawiona sprzętowych klawiszy – obsługa odbywa się za pomocą uniwersalnego pilota podczerwieni.

    Autor stworzył urządzenie do współpracy z domowym, komputerowym centrum multimedialnym MythTV – aby umożliwić obsługę urządzenia za pomocą jedynie pilota, bez konieczności instalacji sprzętowej klawiatury USB. IRK! będzie oczywiście współpracował też z każdym systemem, który jest w stanie obsłużyć klawiaturę sprzętową USB, sprawdzi się także we współpracy z systemami multimedialnymi jak XMBC lub MediaPortal.

    Wiele osób do kontroli centrum MythTV używa oprogramowania LIRC pracującego pod kontrolą systemu operacyjnego Linux, ale rozwiązanie autora jest prostsze, nie wymaga przygotowywania skomplikowanych plików konfiguracyjnych ani nie potrzebuje odrębnego oprogramowania czy instalacji specjalnych sterowników. Dodatkowo, całość udostępniona jest na licencji „open-hardware”.

    Główne cechy urządzenia to:

    • Obsługa za pomocą dowolnego, uniwersalnego pilota.
    • Możliwość przypisania kodów IR do kodów klawiszy.
    • Możliwość przesyłania do komputera poleceń wyłączenia czy uśpienia sprzętu.
    • Opcja wyboru jednego z 256 sprzętowych adresów – możliwość posiadania więcej niż jednego IRK!’a
    • Opcja konfiguracji urządzenia do przesyłania odebranych kodów – jeden IRK! może sterować kolejnym.
    • Możliwość emulacji funkcji klawiatury multimedialnej (np. wyciszenia).


    IRK! jest projektem ciągle rozwijanym, najnowszych wersji można szukać na stronie projektu na portalu SourceForge.

    Od strony sprzętowej, najważniejsze elementy IRK!’a to:

    1. Odbiornik podczerwieni oparty o układ TSOP4838, odbierający sygnały IR modulowane nośną 38 kHz i przekształcający je na sygnały cyfrowe.

    2. Nadajnik podczerwieni, składający się z tranzystora NPN sterującego diodą nadawczą IR. W urządzeniu wykorzystano 3 diody, dla wzmocnienia nadawanych sygnałów. Są one także wykorzystywane w czasie „nauki” z wykorzystaniem uniwersalnego pilota podczerwieni.

    3. Interfejs z wyświetlaczem LCD 2x16 znaków, kompatybilnym ze standardem HD44780. Możliwe jest wykorzystanie innego typu wyświetlaczy (np. 4x16 albo 4x20 znaków).

    4. Interfejs USB, bazujący na module USB wbudowanym w procesor PIC18F2550. USB obsługiwane jest sprzętowo, dzięki bibliotekom kompilera MikroC Pro dla procesorów PIC.





    5. Interfejs diod LED, składający się typowo z diody i połączonego szeregowo opornika ograniczającego prąd.

    Autor zaimplementował jeszcze eksperymentalny obwód zasilania, pozwalający zasilać urządzenie napięciem „standby” (Vsb) z komputera. Jednakże w tym przypadku nie jest możliwe uruchamianie komputera z wykorzystaniem pilota.

    Poniżej można zobaczyć zdjęcia z poszczególnych etapów montażu urządzenia.

    Klawiatura USB na podczerwień bez sprzętowych klawiszy Klawiatura USB na podczerwień bez sprzętowych klawiszy Klawiatura USB na podczerwień bez sprzętowych klawiszy

    Jak właściwie działa IRK? Podstawową ideą działania jest mapowanie jeden-do-jednego kodów IR i kodów klawiszy, które są później wysyłane do PC. IRK! uczy pilot uniwersalny, jaki kod przypisać do konkretnego klawisza, a później – po jego odebraniu i właściwym rozpoznaniu – przesyła go do komputera, aby symulować naciśnięcie odpowiedniego klawisza sprzętowego.

    Klawiatura USB na podczerwień bez sprzętowych klawiszy

    Kody wysyłane do PC są zgodne ze specyfikacją HID. IRK! obsługuje także kody klawiszy specjalnych (np. klawisz Windows) i funkcyjnych. Np. w przypadku chęci wpisania dużej litery „A” IRK! prześle do komputera kod odpowiadający klawiszowi Shift (0x02) i klawiszowi „a” (0x04), a następnie kod 0x00, oznaczający iż wciskane klawisze zostały puszczone.

    IRK! rozpoznaje sygnały IR adresowane do konkretnego urządzenia, dlatego w każdym sygnale IR musi się znaleźć bajt zawierający adres IRK!. Każdy sygnał składa się z sekwencji 6 bajtów (AA AA’ UX UX’ YY YY’), gdzie AA oznacza adres urządzenia (od 0x00 do 0xFF), w bajcie UX przesyłane są informacje o np. naciśnięciu klawiszy Shift, Ctrl, etc., a YY to kod naciskanego klawisza. Bajty oznaczone apostrofem są zanegowanymi, uprzednio wysłanymi bajtami. Takie rozwiązanie pozwala na wyeliminowanie błędów transmisji.

    Do generowania sygnałów IR IRK! wykorzystuje modulację szerokości impulsu (PWM), aczkolwiek autor informuje o możliwości zaimplementowania np. modulacji bifazowej (kodu Manchester).

    Dodatkowo, każde urządzenie w odbieranej transmisji reaguje na adres 0xFF, co pozwala na sterowanie jednym pilotem kilku urządzeń w tym samym czasie. Ponadto, urządzenie wspiera wszystkie zdefiniowane w standardzie komendy dodatkowe, jak np. wyłączania komputera czy uśpienia. Także w urządzeniu zostały zaimplementowane komendy pozwalające sterować głośnością (wyciszenie, zwiększenie/zmniejszenie głośności), odtwarzaczem multimedialnym (start/stop, przewijanie przód/tył itd.) czy uruchamianiem aplikacji (przeglądarka internetowa, kalkulator etc.). Pełna specyfikacja dostępna jest w dokumencie „USB Human Interface Device Usage Tables” – mimo że IRK! nie zawsze rozpozna wszystkie kody i prawidłowo zinterpretuje ich funkcję, ich transmisja do komputera nadal będzie możliwa. Autor także eksperymentalnie zaimplementował symulację naciśnięcia przycisku zasilania i przycisku reset komputera.

    Używanie urządzenia IRK! jest bardzo proste, wystarczy zrozumieć formę wyświetlanych na wyświetlaczu kodów, następnie zaprogramować pilot uniwersalny i używać go następnie do sterowania komputerem!

    Na stronie projektu można znaleźć wszelkie szczegóły dotyczące wykonania np. obudowy dla IRK!’a oraz sposobu uczenia i obsługi, a także wszelkie materiały dotyczące programowania procesora, wzory płytek drukowanych oraz pełny schemat.


    Fajne!
  • #2 03 Sty 2013 16:30
    szymon122
    Poziom 37  

    Nie łatwiej użyć najtańszej bezprzewodowej klawiatury i tylko do nadajnika w klawiaturze wysyłać komendy? Odbiornik i nadajnik byśmy mieli, wystarczy imitować naciskanie klawiszy, do tego większy zasięg. HID jest również.

  • #3 03 Sty 2013 18:34
    ozy2001
    Poziom 28  

    Piloty do komputerów zostały wymyślone już dawno. Żaden pilot nie zastępuje prawdziwej klawiatury. Nie wyobrażam sobie korzystania z takiego ustrojstwa :) Wolę już myszkę bezprzewodową i klawiaturę ekranową - i tak będzie wygodniej :)

  • #4 03 Sty 2013 18:54
    Olo999
    Poziom 21  

    ozy2001 napisał:
    Piloty do komputerów zostały wymyślone już dawno. Żaden pilot nie zastępuje prawdziwej klawiatury. Nie wyobrażam sobie korzystania z takiego ustrojstwa :) Wolę już myszkę bezprzewodową i klawiaturę ekranową - i tak będzie wygodniej :)


    „Używając” komputera jako kina domowego to chyba łatwiej korzystać z pilota.