Zedomax DIY121 - Hogyan készítsd el saját "PS3 SIXAXIS kontroller" stílusú BASIC programozható USB device!

Kattintson ide, hogy teljes képernyős módban

USB-eszközök a felhasználók számára egyszerűen telepíthető és létrehozni (mindaddig, amíg minden megfelelően működik-e). Gyakran előfordul, csak csatlakoztassa az USB-eszközt és működik azonnal. Ez különösen igaz a beviteli eszközök, mint például az egerek és billentyűzetek.

Ezek az eszközök megfelelnek az előírásoknak réteges tetején az USB protokoll: Human Interface Device. Szinte minden lehetséges típusú input meghatározott; egy egész "jelentés leíró" nyelv használata megmondja a számítógép, hogyan dolgozza fel a bemenetet. Ez nem túl könnyen megvalósítható, több tucat konkrét kéréseket megfelelően kell kezelni. Számos olyan lépést között dug be az USB-eszközt, és hogy képes használni, ezeket minden történik néhány ezredmásodperc, és hogy semmilyen lépést nem az az eszköz nem fog működni.

Mi van, ha nem kell aggódnia, hogy valamelyik? Mi van, ha jól jönne a kedvenc mikrovezérlő, akkor "valami", és a bemeneti jelenik meg a számítógép a megfelelő formátum? Gondolom, nem kell aggódnia, komplex USB kódot, a HID előírások, vagy összetörik az USB kódot, ha hozzáadjuk a többi funkció amire szüksége van. Gondolom, nem kell aggódnia sokat írás optimalizált kódot, vagy mindig útjában az USB-megszakítások.

A HID Portal

Pontosan úgy döntöttem, hogy igen. Néhány évvel ezelőtt dolgoztam egy USB-eszközt, és ment végig a fejfájás-ból szerzés egy USB HID felállt és működik. Mivel én már a kemény munkát, úgy döntöttem, hogy adjunk egy módszer adatok fogadásához a másik mikrovezérlő és használ, hogy adatokat, mint a bemeneti folyam a HID kódot. Szerettem volna használni Cubloc BASIC programozható vezérlő, hogy e számomra a bevitt adatok, és küldje el a HID portálon. Saját teszt alkalmazás lenne gyorsulásmérő-alapú HID joystick, egyszerűen csatlakoztassa az eszközt a számítógéphez, és működni fog.

Nem kell egy joystick, ez lehet a billentyűzet, az egér, vagy sok egyéb ellenőrzések által meghatározott HID szabványnak. -A 'lehetséges-hoz összead Hangerő-szabályozó gombok a készülék ... talán van egy áramkör néma a számítógépet, amikor csörög a telefon? Fordítsuk minden bemeneti feszültség egy joystick tengely, minden kapcsoló egy gombot? Bármi lehetséges!

Update: Úgy döntöttem, hogy összezsugorodik a hardver CUBLOC le egy CB220, és illik mindent egy repülőgép modell. A modell azért választották, hogy illik egy repülőgép áll rendelkezésre a Heroes of the Pacific játékot szoktunk tesztelni a joystick illesztő.

Hardware Magyarázat

A HID portál alapja egy régi projektet az enyém alapuló MC68HC908JB8 mikrovezérlő és a programozott assemblyben. Bizonyos okok miatt nem tudom ténylegesen kibocsátja a kódot most, de van sok más USB-projekteket, amelyek ott lehet erre a célra alakították. Van egy nyílt forráskódúvá puha USB végrehajtására vonatkozó ATTINY mikrovezérlő, például.

Saját mikrokontroller nem rendelkezik beépített I2C vagy SPI, úgyhogy végrehajtásához szükséges, az egyik az enyém. Én is nem kellett szakítsa csap áll rendelkezésre, ami azt jelenti az én megoldást kellett alapozni szavazóhelyiségek. Amikor minden volt mondott és megtett és optimalizált, nem tudtam észlelni szélei gyorsabban 16kHz. Ez körülbelül tízszer lassabb, mint a shift teljesítmény érhető el a CUBLOC adatkezelő, így nem tudtam használni ezt. Így végül írásban saját shift-out rutin BASIC-hoz kap az adatokat a HID portálon. Mindez elkerülhető, használatával mikrovezérlő, amely SPI vagy I2C-ban épült már, de a JB8 az, ami volt kéznél.

Én háromszor használható jeleket kommunikálni a CUBLOC vezérlő. Először is, van egy CLK jelet. A HID Portal észlel emelkedő szélére. Ezen a ponton, akkor beolvassa az érték jelen a DATA vonal. Ez mozdult be a nyilvántartásba, amíg a bájt érkezett, és a kód költözik a következő bájt. A / RST sor oly módon, hogy szinkronizálja a kezdete minden adatcsomag abban az esetben van-e valami zavaró bemenet; LOW, amikor azt állítja be a csomagot, és kicsit indexeket nulla.

A HID portál jelenleg programozva, hogy működik egy joystick három tengely mentén, és nyolc gomb. Én is vizsgálták, hogy például a billentyűzet. A jövőben a fejlesztés, szeretném, hogy a HID Portál rugalmasabb, hogy a külső vezérlő válassza ki a készülék típusát, és hogy hány minden bemenő van szükség. Ez lesz a legrugalmasabb, ha közvetlenül elfogadott jelentés HID leírások, de ez megnyitja a lehetőséget, hogy nagyobb hibákat, és a végén egy nem működő eszköz.

A gyorsulásmérő egy DE-től ACCM3D Dimension Engineering. A CUBLOC egyszerűen beolvassa a feszültség a Adin kikötők és áttért egy értéket -127 és 127 között.

Folytatódott Következő oldal

Díj

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...
  • : Joe Brock
    Érdekel az épület azonos / hasonló típusú projektet. Már szorgoskodott a VB.net, és nem vagyok a minden.
    Nem elrontotta a pic's (mikrokontrollerek) Hogyan program ezeket az USB port vagy az a része már megtörtént?
  • Fil
    Hé srácok félelmetes projekt ....

    Ön tihnk tudnál alkalmazni hasonló folyamat lehetővé teszi a keyborad és az egér beállít dolgozni a PS3 játékok? Arra gondoltam, mi volt, ha tudnád, hogy a kimenet az adatkezelő küld, akkor oculd használ egy számítógépes program szimulálni egy gombot nyomja meg, amikor u megnyomott egy gombot a billentyűzeten. Azaz ha lenyomom az enter gombot a billentyűzetem, a program elküldi a parancsot a "start" a PlayStation ... minden visszajelzést / elképzelés arról, hogyan lehetne kezdeni egy ilyen projekt?
  • , Steve Ellis -
    Azt hiszem, teljesen elképesztő, hogyan tud én kap a kapcsolatot Önnel nekem van egy néhány kérdést egy projekt próbálom elindítani, hogy azt hiszem, lehet, hogy válaszolj a e-mail ellis90002@gmail.com szíves elektronikus levél én ha hajlandó válaszolni néhány kérdést
  • doesn'tmatter
    megnéztem HJM fidiling az első a gép bal kezével, egész videó
  • haha ...
  • nos.
    Azért jöttem vissza, hogy barátjának.
  • Szia, üdv újra horisly! Vajon a rájátszásba jut el neked? hehe ...
  • Napsey
    Hi, miután összeomlik az én igen drága modell repülőgépeken a harmadik és egyben utolsó alkalommal rájöttem, hogy volt köszönhető, hogy az apró ellenőrzések a rádióban vezérlődoboz, hogy nehezen találom meg tudjanak birkózni az én ügyetlen hüvelykujját az én koromban. Amire szükségem van, hogy ahhoz, hogy tegyünk valamit, mint a dugó egy számítógépes joystick egy laptop és hagyja, hogy a laptop hajt a légijármű-modellek kint a valós világot a buddy-box kapcsolatot. Én is, majd helyezzük egy kis, távoli TV kamera az utastérbe, ami a videó váltó takarmány a laptop egy másik portot. Ez segítene nekem repül a repülőgép és adjon nekem egy valódi kilátás a világot a modellt. A következő lépés az lenne, ha a modell kevésbé crashable mondjuk, egy helikopter modell gyro telepítve a munkálatokat annak érdekében, hogy az elengedte a kezelőszervek, a gép is megtalálja saját egyenes és szinten. Ez a követelmény hangzik túl messzire fetched a háztáji dolgok rendjében?
  • Andy
    hé nekem van egy játék cápa sp USB-kábel és próbáltam linux fut rajta, de a játék cápa HID (mondd, hogy ez hogyan működik), és minden amit tehetek elküldeni csal az csal program! egyébként én szerkesztheti a fájlokat a vakut a gameshark?
  • Lehet, hogy szeretné e-mailben a HID szakértő Garrett on garrett@comfiletech.com
  • evance
    Hi ~
    barkács kedves

    Kaphatok egy kérdés?
    PS3 kontroller USB Endpoint mérete 32Byte?
    vagy kellene használni 64Byte?
    Én capture csomag 64 byte
    , de úgy tűnik, 32 byte lehet dolgozni???
  • M07
    szép egy egyszer again.keep megjelöl a jó munka.
  • Remél én tud tenni ..... :)
  • igen nem teszik! Én nem is próbáltam ...
  • Wow ez fantasztikus!
    Ragyogó ötlet, nagyon jó.
  • : Clint Fishburne,
    Awsome és ez csak amit keresett. Vehetek egy össze?
iPhone Disqus szerint

Featured Sites From Zedomax Blog Network