Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Přehled:
Toto zařízení vám umožňuje využít pohyb hlavy ke spuštění událostí v podstatě v jakékoli videohře. Funguje tak, že sleduje pohyb vaší hlavy (nebo náhlavní soupravy) a při určitých pohybech spouští stisknutí klávesnice. Váš počítač tedy vidí toto zařízení jako standardní klávesnici. Později pravděpodobně přidám podporu joysticku a gamepadu.
Nejčastěji používaným pohybem, který jsem zde shledal vhodným (to je důvod, proč jsem tento projekt vůbec zahájil) je naklánění. Ve hrách jako PUBG, Tom Clancy's Rainbow Six Siege, Insurgency a mnoha dalších se můžete naklonit doleva nebo doprava, abyste dosáhli vrcholu v rozích, aniž byste nepříteli poskytli velkou cílovou oblast. Zjistil jsem, že je docela těžké stisknout běžně používaná tlačítka „Q“a „E“, protože moje prsty již byly zaměstnány standardním pohybem (wasd) a skrčením…
Režimy:
Software implementuje „režimy“pro výběr mezi nastaveními (pohyby a stisknutí kláves) pro různé hry. Nastavení uvedená v „přehledu“(vlevo a vpravo pro „E“a „Q“) jsou již naprogramována v režimu 2. K přepínání mezi různými režimy potřebujete alespoň jedno tlačítko na vašem Arduinu (kolík 14 je pro režim výchozí tlačítko), ale pokud se vám nechce, můžete v kódu jednoduše definovat svůj výchozí režim. (Nastavit režim = 2 pro zmíněné nastavení)
Začínáme:
Tento projekt lze snadno provést za odpoledne. Většina dílů, které jsem použil, nejsou nezbytná, můžete běžet s Arduinem, senzorem, drátem a prkénkem!
Alternativně k Arduino Pro Micro můžete použít jakýkoli Arduino s ovladačem ATmega32u4, jako je například Leonardo. Tento řadič je nezbytný, protože podporuje nativní USB. Jinak nebude moci fungovat jako klávesnice/joystick/gamepad.
Zásoby
Základy:
- Arduino Pro Micro
- MPU6050 Breakout Board
- Drát
Volitelný:
- Proto PCB
- Tlačítka a LED diody
- Původní PCB qeMotion (již brzy)
- 3D tištěné díly
Krok 1: Vyrobte si desku plošných spojů
Nepotřebuje všechny ty LED a tlačítka. Nepotřebuje ani desku plošných spojů. Pokud je to pro vás jednodušší, můžete vše položit na prkénko.
Základní připojení:
Pin 3 (SDA) Arduino - SDA na modulu MPU
Pin 2 (SCL) Arduino - SCL na modulu MPU
Pin VCC Arduino - VCC na modulu MPU
Pin GND Arduino - GND na modulu MPU
Další připojení:
Tlačítka pro připnutí 14 a 15
LED diody na kolíku 4, 5, 6, 7, 9, 16 (pro vysoce proudové LED diody můžete použít tranzistory)
qeMotion PCB: (již brzy)
To zatím neexistuje, ale pravděpodobně se chystám navrhnout vlastní desku plošných spojů pro tento projekt, která bude ke stažení a možná i ke koupi.
Krok 2: Vytvořte si senzor
Pro MPU6050 nemusíte nutně tisknout pouzdro. Omlouvám se, že nemohu dodat obrázek vnitřků a kabeláže, ale během smršťování pouzdra PLA, pokud jsou spojeny dohromady a nemohu je znovu rozebrat. (Já hlupák…)
Zapojení je stejné jako v předchozím kroku, stačí připojit SDA na pin 2 SDA na Arduinu a stejný pro SCL (pin 3). Napájení modulu MPU lze odebírat z kolíku VCC a uzemnit z jakéhokoli pinu GND na Arduinu.
Použil jsem starý kabel USB, protože má pěkné stínění. Nevím, jestli je to nutné, ale mějte na paměti, že protokol I2C není určen k použití přes tak dlouhé kabely, ale spíše na desku plošných spojů.
Krok 3: Vytiskněte si kufřík
Není to nutné, ale pokud máte přístup k 3D tiskárně, můžete tento design použít.
Krok 4: Naprogramujte si Arduino
- Připojte Arduino k počítači
- Zjistěte, ke kterému portu COM je připojen (najdete jej ve Správci zařízení Windows)
- Vyberte COM -Port v Arduino IDE [Nástroje -> Port]
- Vyberte svou nástěnku [Nástroje -> Deska -> „Typ vaší desky“]
- Ujistěte se, že máte importovány všechny potřebné knihovny
- Krátké RES na GND (tím se Arduino na několik sekund přepne do programovacího režimu)
- Nahrajte svůj náčrt!
Nejnovější kód najdete na mé stránce github:
github.com/lesterwilliam/qeMotion/blob/mas…
Krok 5: Ukažte nám svou verzi QeMotion
Rád bych viděl vaši verzi projektu qeMotion! Možná jste měli nějaké skvělé nápady a další implementace, sdílejte je;)
Také, pokud mi chcete koupit kávu, může se objevit více projektů rychleji;)
paypal.me/AdrianSchwizgebel?locale.x=de_DE
Mnohokrát děkuji!