Zedomax DIY121 - Jak vytvořit svůj vlastní "PS3 SIXAXIS správce" stylem BASIC-programovatelná zařízení USB!
Klikněte zde pro zobrazení v celoobrazovkovém režimu
USB zařízení jsou uživatelé snadno nainstalovat a nastavit (pokud vše funguje správně). Často stačí připojit zařízení USB, a funguje to okamžitě. To platí především pro vstupní zařízení, jako např. myši a klávesnice.
Tato zařízení odpovídají specifikaci vrstvené na horní straně USB protokolu: Human Interface Device. Téměř všechny možné typy vstupů je definována, celou "zprávu EUROVOC" je použit jazyk říci počítači jak zpracovat vstup. To není jednoduché provést, desítky konkrétních požadavků, musí být náležitě nakládáno. Existuje řada kroků, mezi připojováním USB zařízení a budou moci využít, to vše probíhá v několika milisekund a selhání každý krok znamená, že zařízení nebude fungovat.
Co když vám nemusel starat o nic z toho? Co kdybyste mohli používat svůj oblíbený mikrokontrolér, udělat "něco" a vstup se objeví na počítači ve správném formátu?Nebudeš se bát složitého kódu USB HID specifikace, nebo lámání USB kód při přidávání dalších funkcí, které potřebujete. Vám by se nemusel starat o psaní hodně optimalizovaný kód, nebo pořád na cestě k přerušení USB.
HID portál
To je přesně to, co jsem se rozhodl udělat. Před pár lety jsem vyvinul zařízení USB a šel přes všechny bolesti hlavy získat USB HID a běží. Protože jsem už udělal tvrdé práce, jsem se rozhodl přidat metoda přijímání dat z jiného mikroprocesoru a používat tato data jako vstupního proudu pro kód HID. Chtěl jsem využít CUBLOC BASIC-programovatelný regulátor se zpracováním mých vstupních dat a odeslat ji na Portálu HID. Můj testovací aplikace by akcelerometr-založený HID joystick, jednoduše připojit zařízení k počítači, a to bude fungovat.
Nemusí to být joystick, ale mohlo by být klávesnice, myš, nebo mnoho dalších ovládacích prvků definuje standardní HID. Je možné přidávat tlačítka ovládání hlasitosti na přístroji ... možná mají obvod vypnout počítač, když zazvonil telefon?Turn žádné napětí vstup do osy joysticku, žádné přepínání do tlačítka? Všechno je možné!
Aktualizace: Rozhodl jsem se zmenšit až na hardware CUBLOC CB220, a všechno nějak poskládat do modelu letadla. Tento model byl vybrán, aby zápas letadla k dispozici v Heroes of the game Pacifiku jsme použili k testování joystick interface.
Popis hardware
HID Portal je založena na starých důlních projekt, založený na MC68HC908JB8 mikrořadiče a naprogramován v jazyce symbolických instrukcí. Z určitých důvodů nemohu skutečně uvolnit kód právě teď, ale existuje spousta dalších projektů USB tam venku, které by mohly být přizpůsobeny pro tento účel. Tam je otevřený open-source soft USB provedení pro mikrokontrolér ATTINY, například.
Moje mikrokontroléru není stavěný z-do I2C neboSPI, tak jsem potřebné k provedení jednoho z mých vlastních. Také jsem neměla přerušovat kolíky jsou k dispozici, což znamená, moje potřeba řešení, které bude založeno na hlasování. Když bylo vše řečeno a vykonáno a optimalizovány, nemohl jsem objevit okrajů rychleji než 16khz. To je asi desetkrát pomalejší než posun výstup k dispozici od správce CUBLOC, takže jsem nemohl použít. Skončil jsem psát svůj vlastní shift-rutinní v BASICu dostat data do HID portálu. To by mohlo být zabráněno pomocí mikrokontroléru, který má SPI nebo I2C postaven již v roce, ale JB8 je to, co jsem měl v ruce.
Používám tři signály pro komunikaci s řadičem CUBLOC. V prvé řadě je signál CLK. HID Portál zjistí náběžnou hranu. V tu chvíli to čte hodnoty přítomné na linky. Jedná se posunul do rejstříku do bytu byla přijata, a kód, přesune na další byte. / RST linka je způsob, jak synchronizovat začátku každého datového paketu v případě, že se žádné rušivé vstup, když LOW nastavuje paketu a trochu indexy na nulu.
HID Portál je naprogramován tak, aby v současné době působí jako joystick se třemi osami a osm tlačítek.Já jsem také testovali jako klávesnice. V budoucím rozvoji, rád bych, aby Portálu HID pružnější, ať externí správce vyberte typ zařízení, a kolik z každého vstupu jsou povinné. Bylo by to nejvíce flexibilní, pokud přímo přijal zprávu HID deskriptory, ale otevírá možnost, aby se více chyb a skončí s non-funkční zařízení.
Akcelerometr je DE-ACCM3D z dimenze techniky. CUBLOC jednoduše čte napětí na jeho Adin přístavy a převádí na hodnotu mezi -127 a 127.
Pokračování na další stránku
















































