- Přehled:
- Požadované komponenty:
- Vysvětlení obvodu:
- Práce akcelerometru:
- Programování Arduina:
- Zpracování programování:
- Testování:
Augmented Reality and Virtual Gaming se stala nedávným trendem v herním průmyslu. Časy používání klávesnice / joysticku a myši k hraní počítačové hry se stáhly. Každá herní konzole nyní přichází s virtuálním ovladačem, který nám pomáhá hrát hru pomocí pohybů těla a gest, čímž se herní zážitek výrazně zvýšil a uživatel se cítí více zapojen do hry.
V tomto projektu se pokusme pobavit, jak se prostřednictvím projektu učíme. Pojďme vytvořit hru (Ano, slyšeli jste mě správně, vytvoříme hru) a zahrajte si ji pomocí pohybu vaší ruky. Vytváříme klasickou míčovou hru Ping Pong pomocí Arduina a akcelerometru.
Přehled:
V dnešní době je k dispozici spousta softwaru s otevřeným zdrojovým kódem, který přinesl spoustu štěstí pro fandy, jako jsme my, a zpracování je jedním z nich. S touto aplikací založenou na JAVA můžeme vytvářet vlastní software (formát.exe) a také aplikaci pro Android (soubor.apk). Takže tento software použijeme k vytvoření naší hry, při vytváření chatovací místnosti Arduino jsme dříve použili zpracování.
Hardwarová část se bude skládat z Arduina, které načte vstup z akcelerometru a sériově jej přenese do našeho počítače / notebooku.
Tak pojďme nakupovat !!!!
Požadované komponenty:
- Arduino (jakákoli verze nebo model)
- Akcelerometr
- Připojovací vodiče
- Úrok (Lolz)
Akcelerometr a Arduino Nano
Vysvětlení obvodu:
Projekt Circuit of Arduino Ping Pong Ball Game Project nevyžaduje žádná složitá spojení. Použil jsem Arduino Nano s akcelerometrem. Je však třeba se postarat o několik věcí, jak je uvedeno níže:
1. Váš akcelerometr nedokáže zvládnout 5 V, proto vždy připojte Vcc akcelerometru ke svému 3,3 V kolíku Arduina.
2. Každý akcelerometr trpí účinkem gravitace, kterou je třeba zvládnout během programování (jednoduše pomocí filtru).
S ohledem na to se podívejme na fungování akcelerometru a na to, jak jej používáme.
Práce akcelerometru:
Akcelerometr je zařízení, které lze převést zrychlení v každém směru v příslušné proměnné napětí. Toho je dosaženo použitím kondenzátorů (viz obrázek), jak se Accel pohybuje, kondenzátor přítomný uvnitř, také podstoupí změny (viz obrázek) na základě pohybu, protože kapacita se mění, lze také získat proměnné napětí.
Jak bylo uvedeno výše, každý akcelerometr trpí problémem gravitačního efektu. Bez ohledu na to, jak přesný je váš senzor kalibrován (dokonce i vaše telefony Apple Accel.), Bude to ovlivněno gravitací. Podrobnější technické vysvětlení tohoto problému je uvedeno níže.
Nyní v Arduinu můžeme snížit účinek gravitace pomocí jednoduchého filtru. Tento filtr se bude skládat ze dvou polí, jedno se používá k ukládání hodnot vzorku ze snímače a druhé se používá k třídění hodnot vzorku a k nalezení nejvíce opakované hodnoty. Implementujme tento algoritmus do našeho Arduina a připravme si hardware.
Programování Arduina:
Program Arduino je uveden níže v části Kód. Neexistují žádná kritická data, která je třeba upravit. Možná však budete chtít zvážit následující:
Zvyšte velikost vzorku, pokud váš Accel stále zobrazuje náhodné hodnoty.
#define Samplesize 13 // filterSample number
Hrajte s přenosovou rychlostí 9600, abyste zvýšili rychlost komunikace mezi Arduino a zpracováním. Nezapomeňte je však změnit v softwaru (Programy).
void setup () {Serial.begin (9600); }
Můj akcelerometr na ose X dává 193 na levém konci a 280 na pravém konci, změřte je pro váš Accel a aktualizujte hodnotu.
toSend = mapa (smoothData1, 193, 280, 0, 255);
Hodnoty jsou mapovány do jednoho bajtu dat pro sériovou komunikaci.
Dále si přečtěte Komentáře v níže uvedeném Kodexu, abyste tomu jasně porozuměli.
Zpracování programování:
Processing je software s otevřeným zdrojovým kódem, který umělci používají pro návrh grafiky. Tento software se používá k vývoji softwaru a aplikací pro Android. Jeho vývoj je poměrně snadný a velmi podobný vývojovému prostředí Android Development IDE. Proto jsem vysvětlení zkrátil.
Zpracovatelský kód pro hru Ping Pong je uveden zde:
- Zpracování kódu pro hru Arduino Ping Ball
Klikněte pravým tlačítkem na něj a klikněte na 'Uložit odkaz jako…' pro stažení souboru s kódem. Poté otevřete soubor v softwaru „Zpracování“ a kliknutím na tlačítko „Spustit“ hru zahrajte. Chcete-li otevřít soubory *.pde, musíte si nainstalovat software „Processing“. Sekce komentářů je otevřená pro dotazy a také pro lepší pochopení zkontrolujte komentáře v programu.
Pod řádkem ve funkci void setup () zpracování kódu je důležité, protože rozhoduje, od kterého portu k datům.
port = new Serial (this, Serial.list (), 9600); // Přečte 4. PORT při 9600 baudrate
Zde jsem načetl data ze 4. portu z mého Arduina.
Takže například pokud máte COM COM COM COM COM
Poté výše uvedený kód načte data z COM.
Testování:
Nyní, když je náš náčrt Zpracování a Arduino připraven, jednoduše nahrajte níže uvedený program do Arduina a připojte své Arduino k důkladnému programovacímu kabelu uživatelského počítače a spusťte hru spuštěním souboru kódu zpracování (.pde). A je to! Pohybujte akcelerometrem a zahrajte si hru Ping Pong. Video vás provede celého projektu.
Jakmile pochopíte program, můžete vytvořit mnoho podobných her a hrát je pomocí svého Arduina. Dále mohou být pro hraní zahrnuty také osy Y a Z.