Zedomax DIY121 - Jak tworzyć własne "kontroler SIXAXIS PS3 stylu BASIC-programowalne urządzenie USB!

Kliknij tutaj, aby wyświetlić w trybie pełnoekranowym

Urządzenia USB są proste w instalacji i skonfigurować (tak długo, jak wszystko działa poprawnie). Często zdarza się, wystarczy podłączyć urządzenie USB i działa natychmiast. Jest to szczególnie prawdziwe w odniesieniu do urządzeń wejściowych, takich jak myszy i klawiatury.

Urządzenia te są zgodne z opisem warstw na szczycie protokołu USB: Human Interface Device. Prawie każdy dostępny typ wejścia jest określony; cały "deskryptor raport" język jest używany, aby powiedzieć, jak komputer do przetwarzania danych wejściowych. Nie jest to bardzo proste do wdrożenia; dziesiątki konkretnych wniosków należy obchodzić się odpowiednio. Istnieje wiele kroków między podłączając urządzenie USB i możliwość wykorzystania go, te wszystkie odbywają się w kilka milisekund i niepowodzenia każdy krok oznacza, że urządzenie nie będzie działać.

Co jeśli nie musisz się martwić o jakiekolwiek z tego? Co zrobić, jeśli można użyć swojego ulubionego mikrokontrolera, to "coś", a wejście znajduje się na komputerze w odpowiednim formacie? Nie musisz się martwić o skomplikowanego kodu USB HID specyfikacji lub złamanie kodu USB podczas dodawania innych funkcji potrzebujesz. Nie musisz się martwić o wiele na temat pisania zoptymalizowany kod, lub zawsze przeszkadzać przerwań USB.

HID portalu

To jest dokładnie to, co postanowiłem zrobić. Kilka lat temu dostałem urządzenie USB i przeszedł przez wszystkie głowy uzyskania USB HID zainstalowane i uruchomione. Ponieważ miałem już ciężko wykonaną pracę, postanowiłem dodać metodę otrzymywania danych z innego mikrokontrolera oraz wykorzystanie danych strumienia wejściowego kodu HID. Chciałem użyć Cubloc BASIC-programowalny sterownik na przetwarzanie moich danych wejściowych i wysłać go do HID portalu. Moja aplikacja test będzie przyspieszeniomierza na joystick HID, wystarczy podłączyć urządzenie do komputera i będzie działać.

To nie musi być joystick, może to być klawiatura, mysz, i wielu innych kontroli określone przez normę HID. Jest to możliwe dodawanie przycisków głośności, aby urządzenie ... może ma obwód wyciszania komputera, gdy dzwoni telefon? Wyłącz wszelkie napięcia wejściowego do osi joysticka, każdy przełącznik na przycisk? Wszystko jest możliwe!

Aktualizacja: Zdecydowałem się kurczyć sprzętu CUBLOC dół CB220, i wszystko wróciło do modelu samolotu. Model ten został wybrany do meczu samolot dostępny w Heroes of the Pacific gry używamy do testowania interfejs joysticka.

Sprzęt Objaśnienie

HID portalu opiera się na stary projekt kopalni, w oparciu o mikrokontroler MC68HC908JB8 i programowanie w języku asemblera. W pewnych powodów nie mogę rzeczywiście udostępnić kod teraz, ale istnieje wiele innych projektów USB tam, które mogą być przystosowane do tego celu. Nie biblioteki pochodzą miękkie realizacji USB do mikrokontrolera ATtiny, na przykład.

Moje mikrokontroler nie posiada wbudowany I2C lub SPI, więc potrzebne do realizacji jednego z moich własnych. Ja także nie ma przerwać piny dostępne, czyli mój potrzebne rozwiązanie opiera się na wyborczych. Gdy wszystko zostało powiedziane i zrobione i zoptymalizowana, nie mogłem wykryć krawędzie szybciej niż 16kHz. To jest około dziesięć razy wolniej niż wynik zmiany dostępne od administratora CUBLOC, więc nie mogłem użyć. Skończyło się na piśmie własną shift-out rutynowe BASIC aby uzyskać dane do HID portalu. To można uniknąć za pomocą mikrokontrolera, który SPI lub I2C wybudowany w już, ale JB8 to co miałem pod ręką.

Używam trzy sygnały do komunikacji z kontrolerem CUBLOC. Po pierwsze, nie ma sygnału CLK. HID portal wykrywa krawędzi rośnie. W tym momencie, odczytuje wartości obecne w linii danych. To jest przesunięta do rejestru aż bajt został odebrany, a porusza się kod do następnego bajtu. / Pierwszy wiersz jest sposób, aby zsynchronizować początku każdego pakietu danych w przypadku nie było żadnych fałszywych naliczonego, kiedy niewielkie zestawy pakietów i indeksy nieco do zera.

HID Portal jest aktualnie zaprogramowany, aby działać jako joystick z trzema osiami i ośmiu przycisków. Ja również testowałem to jak klawiatura. W przyszłego rozwoju, chciałbym, aby HID portalu bardziej elastyczne, niech zewnętrzny kontroler wybierz typ urządzenia i jak wiele z każdego wejścia są wymagane. Byłoby to najbardziej elastyczny, jeżeli bezpośrednio akceptowane HID sprawozdanie opisowe, ale otwiera możliwość, aby więcej błędów i kończy się z braku pracy urządzenia.

Akcelerometr jest DE-ACCM3D od wymiaru Engineering. CUBLOC po prostu czyta napięcia na Adin portów i konwertuje do wartości pomiędzy -127 i 127.

Ciąg dalszy na Następna strona

Tempo

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Ładowanie ...
  • Joe Brock
    Interesuje mnie budynek sam / podobny projekt typu. Zostały Fussing z VB.net, i nie jestem w tym wszystkim.
    Nie grzebał PIC (układy) Jak program tych portu USB lub jest to, że część już zrobić?
  • Phil
    Hey guys awesome projektu ....

    Czy tihnk można stosować podobne procesie umożliwiającym keyborad i konfiguracja myszy do pracy z gry PS3? Co myślałem było gdybyś wiedział, że wyjście, że kontroler wysyła, to oculd używania programu komputerowego do symulacji naciśnięcie przycisku, gdy u naciśnięciu przycisku na klawiaturze. Tzn. po naciśnięciu klawisza Enter na klawiaturze, program wysyła polecenie do "Start" do playstation ... wszelkie opinie / pomysł, w jaki sposób można rozpocząć na taki projekt?
  • Steve Ellis
    Myślę, że jesteś absolutnie niesamowite, jak mogę się z Tobą mam kilka pytań na temat projektu i staram się uruchomić, że moim zdaniem może być w stanie odpowiedzieć na mój e-mail jest ellis90002@gmail.com napisz do mnie, jeśli gotowa odpowiedzieć na kilka pytań
  • doesn'tmatter
    Widziałem HJM fidiling z przedniej części samolotu z jego lewej strony, wszystkie całej wideo
  • max
    haha ...
  • dobrze.
    i zgłosić się na przyjaciela.
  • max
    hey, welcome back horisly! Czy można dostać się do playoffs? hehe ...
  • Napsey
    Cześć, po awarii mojego dość kosztowne modelu samolotu po raz trzeci i ostatni raz wyobrażał to ze względu na małe kontroli na polu sterowania radiowego, że trudne do opanowania z mojej niezdarny kciuki w moim wieku. Co jest mi potrzebne, aby być w stanie zrobić coś takiego podłączyć joystick do komputera przenośnego i niech laptop napęd modelu samolotu obecnie istnieje w realnym świecie przez kumpla połączenia polu. I może również to miejsce na małych, odległych kamery TV w kabinie, może przekazać wideo paszy do laptopa za pośrednictwem innego portu. To pomoże mi lot samolotu i dał mi prawdziwy obraz świata poprzez model. Następnym krokiem byłoby, aby wzorem mniej crashable z powiedzieć, żyroskopu helikopter model zainstalowany w prace tak, że wypuszczając kontroli samolotu znajdzie swój prosty i poziomie. Czy to brzmi wymóg zbyt pobrane w systemie podwórku rzeczy?
  • andy
    hej mam sp. rekina grę kabel USB i próbowałem uruchomić na nim Linuksa, ale gra jest rekin HID (powiedz mi, jak to działa) i wszystko co można wysłać jest oszukuje z cheat program! Anyway I może edytować pliki flash na Gameshark?
  • max
    Możesz chcieć Zapytaj eksperta HID Garrett w garrett@comfiletech.com
  • evance
    Hi ~
    nice DIY

    Czy mogę mieć pytanie?
    PS3 kontrolera USB rozmiar Endpoint jest 32BYTE?
    czy należy stosować 64Byte?
    Chwytam pakietu wynosi 64 bajtów
    ale wydaje 32 byte można pracować??
  • m07
    nice one raz again.keep do dobrej pracy.
  • Nadzieję, że mogę je ..... :)
  • max
    Tak robią to! I nawet nie próbować ...
  • Wow this is great!
    Brilliant idea, well done.
  • Clint Fishburne
    Awsome i to jest właśnie to, co mam, którego szukasz. Czy mogę kupić zmontowane?
blog komentarze powered by Disqus

Featured Sites From Zedomax Blog Network