Jste zde

Počítačová myš s akcelerometrem MEMS

Tento článek nám ukáže, jakým způsobem je možné použít integrovaný akcelerometr založený na technologii MEMS od společnosti Freescale (nebo obecně jakýkoliv akcelerometr s analogovým výstupem) v obyčejné počítačové myši. A jaké jsou výhody a nevýhody takto „vytuněné“ myši.

Na tento projekt byl použit X/Y (dvouosý) akcelerometr z rodiny MEMS od společnosti Freescale (o těchto akcelerometrech toho již na našem serveru bylo psáno hodně, proto doporučuji se podívat na některé starší články věnované této tématice, např. sem nebo sem ). Jako výpočetní jádro byl zvolen mikrokontrolér PIC (Microchip). Jediné, co je tak dále potřeba mimo těchto dvou komponent, je počítačová myš (klidně nefunkční) a minimum ostatních součástek (převodník úrovní aj.). Je zde také šikovně vyřešeno napájení použitím nevyužitých linek rozhraní RS-232.

Úvod:

Jak jsme si již pověděli, tento článek má za úkol ukázat praktickou aplikaci akcelerometru, a to v něčem tak obyčejném jako je počítačová myš. Ale nejprve co je to akcelerometr? Je to zařízení, které měří zrychlení nebo tah (gravitace) v určitých osách. Je hned několik způsobů, na kterých akcelerometry pracují. Byl zvolen akcelerometr MMA6270, který je založen na kapacitním způsobu snímání.

Uvnitř čipu je tříelektrodový kondenzátor, který má prostřední elektrodu volnou a její pohyb je závislý na momentu zrychlení. Tímto způsobem získáme kondenzátor, jehož kapacita je závislá na vzdálenosti prostřední elektrody od jeho krajních. Vnitřní elektronika pak převede kapacitu kondenzátoru na analogový signál 0 V – 3,3 V. Díky technologii výroby MEMS se toto vše vejde na křemíkový čip a ten do pouzdra SMD.

Jaký akcelerometr?

Výše zmiňovaný akcelerometr MMA6270 od společnosti Freescale, který je použitý v této konstrukci, obsahuje dva takovéto kondenzátory navzájem posunuté o 90°, toto nám umožňuje měřit zrychlení v osách X a Y. Je perfektní právě pro snímání pohybu myši. V tomto případě to používáme k detekci úhlu náklonu myši. Abychom toto mohli využít k pohybu kurzoru po obrazovce, musíme připojit analogový výstup z akcelerometru k AD převodníku mikrokontroléru PIC. Program, který je nahrán v tomto MCU, pak data zprávně interpretuje a pošle počítači. Obslužný program pro MCU PIC byl psán v C kompileru MicroBasicu.

 

MikroBasic C kompiler pro MCU PIC

 

Testování začalo na nepájivém poli a jak se ukázalo, zařízení pracovalo celkem spolehlivě. Později se zkusil prototyp v bezdrátové verzi, ale použité 433MHz moduly nebyly dostatečně rychlé ani spolehlivé.

 

Prototyp na nepájivém poli

 

Místo ovladače myši byl napsán jednoduchý program ve Visual Basicu, a to z toho důvodu, že napsat program do MCU, který by byl kompatibilní se standardem sériové myši, by bylo poněkud složitější.

Dalším problémem bylo napájení. Jak napájet celé zařízení, když sériový port neposkytuje linku se stabilizovaným napětím (třeba jako USB)? Řešení je využití kontrolních linek sériového portu, které je používaly jako Handshaking u starších zařízení (myši, klávesnice aj.). Windows při zavádění systémy tyto linky automaticky nastaví na log. „1“, pokud připojené zařízení do několika vteřin správně neodpoví, spadne úroveň na log. „0“. Každá taková linka je schopna dodat proud cca 10 mA. Problém je spíše ve velikosti dostupného napětí, které se pohybuje v rozmezí 8 V až 13 V.

 

Schéma zapojení

 

Řešením bylo spojit několik těchto linek (RTS a DTR, jak je vidět na předešlém schématu) a připojit je přímo k modré diodě, která zde nahrazovala napěťový stabilizátor a upravila napětí na cca 3,4 V. To je skoro přesně, co potřebujeme k napájení samotného akcelerometru a i mikrokontrolér PIC nemá sebemenší problém se spolehlivou funkcí s tímto napájecím napětím. Jediné, čeho jsem se obával, byla správná funkce napěťového měniče MAX232, ale nakonec se ukázalo, že funguje také naprosto spolehlivě.

 

Napájený akcelerometr Kompletně sestavená myš

 

S MCU PIC a malým programem můžeme snímat úhel naklonění myši vůči gravitačnímu poli země. Na konstrukci jsem použil starou kuličkovou myš, za které lze rovněž použít i tlačítka, pouze je zapotřebí u jejich vývodu proškrábnout cestu na desce plošných spojů.

Závěr:

Tento mininávod měl spíše ukázat nové možnosti, jak v amatérském prostředí vyzkoušet moderní součástky a jejich použití v řetězci člověk-počítač. Jak se ukázalo, zařízení se chovalo podle očekávání, a to i velmi spolehlivě. Zatím moc výrobců, kteří by používali integrovaná čidla zrychlení (akcelerometry) k ovládání zařízení, není (Nintendo Wii a některé ovladače k PS3). Proto doufám, že schopní konstruktéři se chopí tohoto nápadu a vymyslí nějaké praktické a cenově výhodné zařízení, které by nám mohlo ulehčit ovládání počítače nebo i jiného elektronického zařízení.

Odkazy & Download:

 

Hodnocení článku: 

Komentáře

No, cetl jsem clanek tam i zpet, ale tohle: "A jaké jsou výhody a nevýhody takto „vytuněné“ myši." jsem se teda opravdu nedozvedel.