Zedomax DIY121 - Si të krijoni të tuajën "PS3 kontrollues SIXAXIS" stil BAZE-programueshëm pajisje USB!
Click here to view në Full Screen Mode
Pajisjet USB janë të lehtë për përdoruesit për të instaluar dhe ngritur (për sa kohë që çdo gjë është duke punuar drejt). Shpesh, ju vetëm plug në një pajisje USB dhe punon menjëherë. Kjo është veçanërisht e vërtetë për pajisje të dhëna, të tilla si minj dhe tastierë.
Ata pajisjet në përputhje me specifikimet shtresa në krye të protokollit USB: Human Device Interface. Pothuajse çdo lloji të mundshëm të inputeve është e përcaktuar; një faqe të tërë "descriptor raport" gjuha është përdorur për të treguar kompjuter si të procesit të dhëna. Kjo nuk është shumë e thjeshtë për të zbatuar, dhjetra e kërkesave të veçanta duhet të trajtohet siç duhet. Ka shumë hapa në mes mbylljen në një pajisje USB dhe duke qenë në gjendje ta përdorin atë, të gjitha këto zhvillohen në disa milisekonda dhe dështimin e çdo hap do të thotë pajisje do not work.
Po në qoftë se ju nuk duhet të shqetësohen për asgjë? Çfarë nëse ju mund të përdorni microcontroller tuaj të preferuar, të bërë "diçka" dhe inputet paraqitet në kompjuter në format e saktë? Ju nuk do të duhet të shqetësuar për kodin kompleks USB, specifikimet fshehėn, ose thyerja USB kodin tuaj kur duke shtuar funksione të tjera që ju nevojitet. Ju nuk do të duhet të shqetësohen shumë rreth kodin optimizuar shkrim, ose gjithmonë duke marrë në mënyrë të ndërpret USB.
Fshehėn Portal
Kjo është pikërisht ajo që unë vendos të bëjë. Nja dy vjet më parë, unë ka zhvilluar një pajisje USB dhe shkuan nëpër të gjitha dhimbje koke e gjetjes së një USB fshehėn dhe drejtimin. Që unë tashmë e kishte të vështirë punën e bërë, unë vendosa që të shtoni një metodë e marrjes së të dhënave nga një tjetër microcontroller dhe përdorimin e të dhënave se si derdhet kontribut për kodin e fshehur. Doja të përdorin një BAZE Cubloc-kontrollues programueshëm për një proces të dhënat e mia të dhëna dhe dërgoni atë Portal fshehėn. Aplikimin e mia do të jetë një test Accelerometer-bazuar levë fshehėn; thjesht plug pajisjen në kompjuter dhe do të punojë.
Ajo nuk duhet të jetë një levë, por mund të jetë një tastierë, një mouse, apo kontrolle të tjera të përcaktuara nga shumë standarde fshehur. Është e mundur për të shtuar vëllimin butonat e kontrollit të një pajisje ... ndoshta keni një qark memec kompjuterin tuaj kur unaza telefonin? Turn çdo input tension në një aks levë, çdo kaloni në një buton? Çdo gjë është e mundur!
Update: I vendosur për të tkurret hardware CUBLOC poshtë në një CB220, dhe çdo gjë përshtatet në një model aeroplan. Modeli ishte zgjedhur që të shkojë me një aeroplan në dispozicion në Heronjve të lojës Paqësor kemi përdorur për të testuar interface levë.
Hardware Shpjegim
Portal fshehėn është bazuar në një projekt të vjetra të minierës, bazuar në një microcontroller MC68HC908JB8 dhe programuar në gjuhën asamble. Për arsye të caktuara nuk mund të vërtetë lirimin kodin tani, por ka shumë projekte të tjera USB atje të cilat mund të jenë përshtatur për këtë qëllim. Ka një-me burim të hapur e butë zbatimin e USB për microcontroller ATtiny, për shembull.
Microcontroller e mia nuk kanë ndërtuar në I2C ose SPI, kështu që unë të nevojshme për të zbatuar një mi. Unë gjithashtu nuk kanë ndërprerje kunjat në dispozicion, do të thotë zgjidhje e mi duhet të jenë në bazë të votimit. Kur të gjithë u tha dhe bërë dhe optimizuar, unë nuk mund të zbulojë skajet më shpejt se 16Khz. Kjo është rreth dhjetë herë më ngadalë se prodhimit ndryshim në dispozicion nga kontrollues CUBLOC, kështu që unë nuk mund ta përdorni atë. I përfunduar shkrim ndryshim mi-nga rutinë në BAZE për të marrë të dhëna në Portal fshehėn. Kjo mund të shmanget duke përdorur një microcontroller që ka SPI ose I2C ndërtuar tashmë, por JB8 është ajo që unë e kishte në dorë.
I use tre sinjale të komunikuar me kontrollues CUBLOC. Së pari, ekziston një sinjal CLK. Portal fshehėn zbulon një avantazh në rritje. Në këtë pikë, ai lexon vlera aktuale në linjë DATA. Kjo është zhvendosur në një regjistër deri në një bajt ka qenë pranuar, dhe të lëviz kodin bajt ardhshëm. / RST Linja është një mënyrë për të sinkronizuar fillim të çdo pakete të dhënave në rast se nuk kishte ndonjë kontribut i rremë, kur ai vendos ULET paketes dhe indekseve bit në zero.
Portal fshehėn aktualisht është programuar për të vepruar si një dorezë me tre akset dhe tetë buttons. Kam testuar edhe atë si një tastierë. Në zhvillimin e ardhshëm, unë do të doja të bëjë Portal fshehėn më fleksibile, le kontrollues të jashtëm zgjidhni llojin pajisje dhe sa e secilit kontribut janë të nevojshme. Ajo do të jetë më fleksibile në qoftë se direkt pranuar përshkrime fshehėn raport, por që hap mundësinë për të bërë më shumë gabime dhe do të përfundojë me një jo-pajisje pune.
Accelerometer është një DE-ACCM3D nga Dimensioni Inxhinierike. CUBLOC thjesht lexon tensionit në portet e saj Adinit dhe konvertuar në një vlerë mes -127 dhe 127.
Vazhdueshme mbi Next Page

















































