Zedomax DIY121 - Kuinka tehdä oman "PS3 SIXAXIS-ohjain" style BASIC-ohjelmoitava USB-laite!

Klikkaa tästä nähdäksesi koko näytön tilassa

USB-laitteet ovat helposti käyttäjien asentaa ja perustaa (niin kauan kuin kaikki toimii oikein). Usein, voit Kytke USB-laite ja se toimii heti. Tämä pätee erityisesti syöttölaitteet, kuten hiiret ja näppäimistöt.

Nämä laitteet täyttävät tietyt laatuvaatimukset kerroksellinen päälle USB pöytäkirja: Human Interface Device. Lähes kaikki mahdolliset tyyppinen tulo on määritelty, koko "raportti avainsana" kieltä käytetään kertoa tietokoneelle, miten käsitellä panos. Tämä ei ole kovin yksinkertaista toteuttaa, kymmeniä erityisiä pyyntöjä on käsiteltävä asianmukaisesti. On monia vaiheita välillä liität USB-laitteen ja voi käyttää sitä, ja nämä kaikki tapahtuu muutamassa millisekunnissa ja viat askel laitetta ei toimi.

Mitä jos et tarvitse murehtia mitään siitä? Mitä jos voisit käyttää suosikki mikrokontrolleri, ei "jotain" ja panos näkyy tietokoneen oikeassa muodossa? Sinun ei tarvitse huolehtia monimutkaisen USB-koodi, HID eritelmiä tai rikkomatta USB-koodi, kun lisätään muita toimintoja tarvitset. Sinun ei tarvitse huolehtia paljon kirjoittamisesta optimoitua koodia, tai aina saada tavalla USB keskeyttää.

HID Portal

Juuri päätin tehdä. Pari vuotta sitten, olen kehittänyt USB-laite ja kävi läpi kaikki päänsärkyä saada USB-HID vauhtiin. Koska minulla oli jo kovaa työtä, päätin lisätä tapa vastaanottaa tietoja toisesta mikrokontrolleri ja käyttää sitä tietojen syöttö-muotoon HID koodia. Halusin käyttää Cubloc BASIC-ohjelmoitava ohjain käsitellä syötetty tietoja ja lähettää sen HID Portal. Oma testin soveltaminen olisi kiihtyvyysanturi perustuva HID ohjainta, Kytke laite tietokoneeseen ja se toimii.

Se ei tarvitse olla ohjainta, se voisi olla näppäimistö, hiiri, ja monet muut tarkastukset määritellään HID standardia. On mahdollista lisätä äänenvoimakkuus painikkeita laitteeseen ... ehkä on piirin mykistää tietokoneeseen, kun puhelin soi? Käännä kaikki jännite panoksensa ohjainta akselin, joka vaihtaa johonkin painiketta? Kaikki on mahdollista!

Päivitys: Olen päättänyt pienentää CUBLOC laitteiston alas CB220, ja sopivat kaiken huomioon lentokoneen malliin. Malli valittiin ottelun lentokone saatavilla Heroes of the Pacific pelin meidän testata ohjainta liitäntä.

Hardware Selitys

HID Portal perustuu vanhaan hanke minun, joka perustuu MC68HC908JB8 mikro-ja ohjelmoida konekielellä. Tietyistä syistä en voi itse vapauttaa koodi juuri nyt, mutta on paljon muita USB-hanketta siellä, joita voidaan soveltaa tähän tarkoitukseen. There's avoimen peräisin pehmeä USB täytäntöönpano ATtiny mikrokontrolleri, esimerkiksi.

Oma mikrokontrolleri ei ole sisäänrakennettua I2C ja SPI, joten minun piti toteuttaa omani. Olen myös ei ollut keskeyttänyt nastat saatavilla, joten minun ratkaisu tarvitaan perustuu äänestyspaikoille. Kun kaikki on sanottu ja tehty ja optimoitu, en voinut havaita reunoja nopeammin kuin 16kHz. Tämä on noin kymmenen kertaa hitaampaa kuin Siirrätulostetta saatavilla CUBLOC rekisterinpitäjä, joten en voinut käyttää sitä. Päädyin kirjallisesti oman muutos-rutiinitehtäviä BASIC saada tiedot HID Portal. Tämä voidaan välttää käyttämällä mikrokontrolleri joka on SPI-ja I2C rakennetaan jo, mutta JB8, mitä minulla oli kädessä.

Käytän kolme signaalia kommunikoida CUBLOC ohjain. Ensinnäkin on CLK signaali. HID Portal havaitsee nouseva reuna. Tässä vaiheessa, se lukee arvon läsnä Data Line. Tämä on siirtynyt osaksi rekisteriin ennen tavu on saatu, ja koodi siirtyy seuraavaan tavu. / RST linja on tapa synkronoida aloittaa jokaisen datapaketin asiassa ei ollut mitään väärä syöttö, kun LOW siinä paketin ja vähän indeksit nollaan.

HID-portaali on nyt ohjelmoitu toimimaan ohjainta, jossa on kolme akselia ja kahdeksan painiketta. Olen myös testannut sitä näppäimistön. Tulevaisuudessa kehitys, haluaisin tehdä HID Portal joustavuutta, anna ulkopuolisen valvojan valitse laitteen tyyppi ja kuinka monta jokaisen panosta tarvitaan. Se on joustava, jos sitä hyväksytty HID raportin kuvaajia, mutta se avaa mahdollisuuden tehdä enemmän virheitä, ja lopulta ei toimi laitetta.

Kiihtyvyysmittari DE-ACCM3D alkaen ulottuvuuden Engineering. CUBLOC vain lukee jännitteen sen Adin satamia ja muuntaa sen arvo on välillä -127 ja 127.

Jatkuu Next Page

Kurssi

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...
  • Puolesta Joe Brock
    Olen kiinnostunut rakennuksessa samassa / samantyyppisiä hanke. Ovat olleet kiireisiä ja VB.net, enkä kaiken tuon.
    Ole sekaisin ja PIC: n (mikro) Miten ohjelma nämä USB-portti tai se, että osa jo tehnyt?
  • Phil
    Hei kaverit awesome hankkeen ....

    Oletteko tihnk voit hakea samanlainen prosessi jotta keyborad ja hiiri-asetukset toimimaan PS3-pelit? Mitä ajattelin oli, jos tietäisit tuotoksen että rekisterinpitäjä lähettää, te oculd käyttää tietokoneohjelmaa, jotta jäljitellä nappia painamalla, kun u painetaan painiketta näppäimistön. Eli kun painan Enter-näppäintä minun näppäintä, ohjelma lähettää komento "Aloita" PlayStation ... kaikki palaute / idea siitä, miten joku voisi alkaa tällainen hanke?
  • Steve Ellis
    Mielestäni olette aivan uskomatonta, miten voin ottaa yhteyttä, minulla on muutamia kysymyksiä hankkeen yritän käynnistää mielestäni voi ehkä vastata minun email ellis90002@gmail.com lähetä sähköpostia minulle, jos olet halukas vastaamaan joihinkin kysymyksiin
  • doesn'tmatter
    Olen nähnyt HJM fidiling kanssa edessä koneen vasemmalla kädellä kaikki koko video
  • haha ...
  • hyvin.
    Palaan nähdä ystäväni.
  • Hei, tervetuloa takaisin horisly! Onko playoffs saada sinua? hehe ...
  • Napsey
    Hei, tuhoutumisen jälkeen olen melko kalliita mallia lentokoneissa kolmas ja viimeinen kerta, kun olen tajunnut sen vuoksi pieni valvontaa radio-ohjausyksikössä, että minun vaikea hallita minun kömpelö peukaloilla ikäni. Mitä minun on on voitava tehdä jotain pistoke tietokoneen joystick kannettavan tietokoneen ja anna kannettavan aseman malli ilma ulkona todellisessa maailmassa kautta kaveri-box-yhteys. Voisin myös sitten tapahtuu pienen kaukosäätimen TV-kameran ohjaamossa, joka voisi välittää video syötteen kannettavan tietokoneen kautta toiseen satamaan. Tämä auttaisi minua lentävät ilma ja antaa minulle todellisen kuvan maailmasta kautta mallia. Seuraava askel olisi tehdä malli vähemmän crashable ja sanoa, malli helikopteri Gyro asennettu toimii niin, että antaa mennä ja valvonnan taso olisi löytää oma suora ja taso. Tämä vaatimus kuulosta kovin kaukaa haettua takapihalla järjestelmässä asioita?
  • Andy
    hey i-kirjain hankkia pelin hain SP USB-kaapelilla, ja yritti ajaa Linux on, mutta peli hai on HID (Kerro minulle, miten tämä toimii) ja voin lähettää on huijari on huijari ohjelma! Joka tapauksessa olen voi muokata tiedostoja vilkkua gameshark?
  • Saatat haluta email HID asiantuntija Garrettin klo garrett@comfiletech.com
  • evance
    Hi ~
    nice DIY

    Saanko on kysymys?
    PS3-ohjain USB Endpoint koko on 32Byte?
    vai pitäisikö käyttää 64Byte?
    Olen talteenotto paketti on 64 tavua
    mutta se näyttää 32 tavua voidaan toimia???
  • M07
    nice one kerran again.keep hyvää työtä.
  • Toivottavasti saan sen ..... :)
  • kyllä ei tee sitä! En edes yritä ...
  • Wow this is great!
    Loistava idea, hyvin tehty.
  • Clint Fishburne
    Awsome ja se on juuri sitä mitä olen etsinyt. Voinko ostaa sellaisen koottu?
blogin kommentit powered by Disqus

Featured Sites From Zedomax Blog Network