Zedomax DIY121 - Kā izveidot savu "PS3 SIXAXIS kontrolieri" style BASIC-programmējamas USB ierīci!

Uzklikšķināt šeit, lai apskatītu pilnekrāna režīmā

USB ierīces ir viegli lietotājiem instalēt un izveidot (kamēr viss strādā pareizi). Bieži vien jūs vienkārši iespraudiet USB ierīci un tā darbojas uzreiz. Tas it īpaši attiecas uz ievades ierīces, piemēram, peles un tastatūras.

Šīm ierīcēm jāatbilst specifikācijai slāņveida papildus USB protokols: Human Interface Device. Gandrīz jebkuru iespējamo veidu ieejas ir ierobežots; visu "ziņojums deskriptors" valodu lieto pateikt datoram, kā apstrādāt ievadi. Tas nav ļoti viegli īstenot; desmitiem uz konkrētiem pieprasījumiem, ir jārīkojas pareizi. Ir daudzi pasākumi, starp tapām USB ierīci, un spēja to izmantot;Tas viss notiek dažās milisekundēs un neveiksmes jebkurā posmā ir ierīce nedarbojas.

Ko darīt, ja jums nav jāuztraucas par kādu no tā? Ko darīt, ja jūs varētu izmantot jūsu mīļākie mikrokontrolleru, vai "kaut kas" un ievadi parādās datoru pareizā formātā? Jums nebūs jāuztraucas par sarežģītiem USB kodu, HID specifikācijas vai pārkāpj USB kodu, ja pievienojot citas funkcijas, jums ir nepieciešams. Jums nebūs jāuztraucas daudz par rakstveidā optimizēts kods, vai vienmēr kļūst jo kā USB pārtrauc.

HID portāls

Tas ir tieši tas, ko es nolēmu to darīt. Pāris gadus atpakaļ, es attīstīju USB ierīci un izgāja caur visu galvassāpes gūt USB HID izveidota un darbojas. Jo man jau bija grūti paveikto darbu, es nolēmu pievienot metodi, saņem datus no citas mikrokontrolleru un izmantojot šo datu ievades plūsma par HID kods. Es gribēju izmantot Cubloc BASIC-programmējams kontrolieris, lai apstrādātu manu ieejas datus un nosūta to HID portālu. Mans testa piemērošana būtu akselerometru bāzes HID kursorsviru, vienkārši pievienojiet ierīci datoram un tas darbojas.

Tai nav jābūt kursorsviru, to varēs tastatūra, pele, un daudzus citus vadības noteiktos HID standarts. Tas ir iespējams pievienot apjoma kontroles pogas, lai ierīce ... varbūt ir ķēdes izslēgtu datoru, kad tālrunis zvana? Pārvērst jebkuru sprieguma ievadīti kursorsviru ass jebkura ieslēgsies poga? Kaut kas ir iespējams!

Update: Es nolēmu sarukt CUBLOC aparatūru līdz CB220, un aprīkot viss par lidmašīnas modeli. Modelis tika izvēlēts, lai atbilstu lidmašīnu pieejams no Klusā okeāna spēli mēs izmantojām, lai pārbaudītu kursorsviru interfeiss varoņi.

Hardware Paskaidrojums

HID Portāls ir balstīta uz vecā projekta raktuves, pamatojoties uz MC68HC908JB8 mikrokontrolleru un programmēt pa pulcēšanās valodā. Attiecībā uz dažiem iemesliem nevaru tiešām atbrīvot kods tieši tagad, bet ir daudz citu USB projektiem, kas pastāv, kas varētu pielāgo šim nolūkam. Ir atvērts izcelsmes mīkstajiem USB īstenošanuATTINY mikrokontrolleru, for example.

Mans mikrokontrolleru nav iebūvēto I2C un SPI, tāpēc man nepieciešami, lai īstenotu vienu no mana. Man arī nebija pārtraukt pins pieejams, tas nozīmē mans risinājums, kas vajadzīgi, lai, pamatojoties uz aptauju. Kad visi tika teikts un darīts, un optimizēts, es nevarētu atklāt malām ātrāk nekā 16kHz. Tas ir apmēram desmit reizes lēnāk nekā pāreja produkcija pieejama CUBLOC kontrolieris, lai es nevarētu izmantot to. I beidzās rakstot savu maiņās veic regulāri, BASIC, lai iegūtu datus HID portālu. Tā varētu izvairīties, izmantojot mikrokontrolleru kas ir SPI vai I2C uzcelta jau, bet JB8 ir tas, kas man bija uz rokām.

Es izmantoju trīs signālus, lai sazinātos ar CUBLOC kontrolieris. Pirmkārt, ir CLK signālu. HID portāls konstatē pieaugošo mala. Tajā brīdī tas skan vērtība atrodas DATA līnijas. Tas ir nobīdīts vērā reģistrā, līdz baits ir saņemta, un kods pārceļas uz nākamo baitu./ RST līnija ir veids, lai sinhronizētu sākuma katru datu paketi, ja ir kāds neīsts ievadi, un, kad LOW tā ir iepakojuma, un mazliet indeksu līdz nullei.

HID portāls šobrīd ir ieprogrammēts, lai darbotos kā kursorsvira ar trim asīm un astoņi pogas. Esmu arī testē tā kā tastatūru. Turpmākajā attīstībā, es gribētu, lai HID portāls elastīgāku; let ārējā apstrādātāja izvēlieties ierīces tipu un cik daudz no katras ieejas ir jāaizpilda obligāti. Būtu ļoti elastīgu ja tas tieši pieņemts HID ziņojums raksturlielumiem, taču paver iespēju padarīt kļūdas un galu galā ar nestrādājošu iekārtu.

Akselometru DE-ACCM3D no Dimension Engineering. CUBLOC vienkārši skan spriegums tās ADIN ostām un pāriet uz vērtību starp -127 un 127.

Turpinājās Next Page

Vērtēt

1 Star 2 zvaigznes 3 zvaigznes 4 zvaigznes 5 Stars
Loading ... Loading ...
  • Joe Brock
    Esmu ieinteresēts ēku pašā / līdzīga tipa projekta. Ir fussing ar VB.net, un neesmu visās to.
    Nav messed ar pic's (mikrokontrolleri) Kā programma šos USB portu, vai tas, ka daļa jau ir izdarīts?
  • Phil
    Hey guys awesome projekts ....

    Vai jūs tihnk jūs varētu piemērot līdzīgu procesu, lai keyborad un peles uzstādīšana darbam ar PS3 spēles? Ko es biju domājis bija, ja jūs zinātu, produkciju, apstrādi nosūta jums oculd lietot datorprogrammu, kas imitē pogas nospiešanu kad u piespiež pogu uz klaviatūras. Ti, ja i nospiediet taustiņu ievadīt mana tastatūra, programma sūta komandu "Sākt", lai PLAYSTATION ... jebkādi komentāri / ideja par to, kā viena varētu sākt par šo projektu?
  • Steve Ellis
    Es domāju, ka jums ir absolūti pārsteidzošu Kā es varu sazināties ar jums man ir daži jautājumi par projektu, es cenšos sākt, ka es domāju, ka jūs varētu atbildēt uz manu e-pastsellis90002@gmail.com lūdzu, rakstiet man, ja jūs vēlaties, lai atbildētu uz dažiem jautājumiem
  • doesn'tmatter
    Es redzēju hjm fidiling ar plaknes priekšpusē ar kreiso roku Visā video
  • haha ...
  • labi.
    i come back redzēt draugs.
  • hey, welcome back horisly! Vai spēlēm nokļūt Jums? hehe ...
  • Napsey
    Hi, pēc crashing my diezgan dārgi lidmodeļiem uz trešo un pēdējo reizi es skatīja tā iemesls bija niecīga kontroles radio kontroles lodziņu, kas man šķiet grūti pārvarēt ar savu lempīgs īkšķiem uz manu vecumu. Kas man ir nepieciešams, ir, lai varētu izdarīt kaut ko līdzīgu spraudni datora kursorsviru stājas klēpjdatoru un ļaut klēpjdatora disks lidmodeļiem, kas tur ir reālā pasaulē ar buddy-box savienojumu. Es varētu arī tad vietu mazām attālām TV kameru pilotu kabīnes, kas varētu stafetē video padevi laptop caur citu portu. Tas palīdzētu man lidot lidmašīnas un man reālu viedokli par pasauli ar modeli.Nākamais solis būtu padarīt modelis mazāk crashable ar teikt, modelis helikopters žiroskopu uzstāda darbu tā, ka, ļaujot aiziet kontroles plakne atradīs savu taisna un līdzena. Vai šī prasība skaņu pārāk tālu fetched in backyard shēma lietām?
  • Andy
    hey i ir spēle haizivs sp ar USB kabeli un centos palaist Linux, bet spēle haizivs ir HID (man pastāstīt, kā šo darbu), un es varētu nosūtīt, ir cheats ar apkrāptu programmā! anyway es varu rediģēt ar zibspuldzi gameshark failus?
  • Jūs varbūt vēlaties uz e-pastu HID eksperts Garrett pie garrett@comfiletech.com
  • evance
    Hi ~
    nice DIY

    Var man ir jautājums?
    PS3 kontrolieris USB Rezultāts izmērs ir 32Byte?
    vai vajadzētu izmantot 64Byte?
    Es uztveršanu iepakojumā ir 64 baits
    bet tā, šķiet, 32 baits var strādāt?
  • nice vienu reizi again.keep augšu labu darbu.
  • Hope i var padarīt ..... :)
  • jā to dara! Man nav pat mēģināt ...
  • Wow tas ir lieliski!
    Lieliska ideja, labi darīts.
  • Clint Fishburne
    Awsome un tas ir tieši tas, ko esmu meklējis. Vai es varu nopirkt vienu saliktas?
blog komentāriem powered by Disqus

Featured Sites No Zedomax Blog Network