- Áttekintés:
- Szükséges alkatrészek:
- Áramkör magyarázat:
- Gyorsulásmérő működése:
- Arduino programozása:
- Programozási feldolgozás:
- Tesztelés:
A kiterjesztett valóság és a virtuális játék a legújabb trend lett a játékiparban. A billentyűzet / joystick és egér számítógépes játékhoz való felhasználásának ideje elmaradt. Most minden játékkonzolhoz tartozik egy virtuális vezérlő, amely testmozgásaink és gesztusaink segítségével segíti a játékot, így a játékélmény sokat nőtt, és a felhasználó jobban érzi magát a játékban.
Ebben a projektben próbáljuk meg jól érezni magunkat, miközben a projekt során tanulunk. Hozzunk létre egy játékot (Igen, hallottad, hogy helyesbítettem, hogy játékot akarunk készíteni), és játsszuk le a kezed mozgásával. A klasszikus Ping Pong labda játékot készítjük az Arduino és az Accelerometer segítségével.
Áttekintés:
Rengeteg nyílt forráskódú szoftver áll rendelkezésre manapság, amely rengeteg boldogságot hozott a hozzánk hasonló hobbisták számára, és a feldolgozás egyike ezeknek. Ezzel a JAVA alapú alkalmazással saját szoftvert (.exe formátum) és android alkalmazást (.apk fájl) is felépíthetünk. Tehát ezt a szoftvert fogjuk használni játékunk felépítéséhez, korábban a Processing-et használtuk az Arduino Chat Room létrehozásában.
A hardver rész egy Arduino-ból áll, amely beolvassa a gyorsulásmérőből a bemenetet, hogy sorba juttassa a számítógépünkbe / laptopunkba.
Tehát menjünk vásárolni !!!!
Szükséges alkatrészek:
- Arduino (bármilyen verzió vagy modell)
- Gyorsulásmérő
- Csatlakozó vezetékek
- Kamat (Lolz)
Gyorsulásmérő és Arduino Nano
Áramkör magyarázat:
Az Arduino Ping Pong Ball Game Project áramköre nem tartalmaz komplex kapcsolatokat. Arduino Nano-t használtam gyorsulásmérővel. De az alábbiakban néhány dologra ügyelni kell:
1. Az Ön gyorsulásmérője nem képes kezelni az 5 V-ot, ezért mindig csatlakoztassa a gyorsulásmérő Vcc-jét az Arduino 3,3 V-os tűjéhez.
2. Minden gyorsulásmérő szenved a gravitáció hatásától, amelyet programozás közben kell kezelni (egyszerűen egy szűrő használatával).
Ezt szem előtt tartva vizsgáljuk meg egy gyorsulásmérő működését és annak használatát.
Gyorsulásmérő működése:
A gyorsulásmérő olyan eszköz, amely bármilyen irányú gyorsulást képes átalakítani a saját változó feszültségére. Ez kondenzátorok használatával valósul meg (lásd kép), mivel az Accel mozog, a benne lévő kondenzátor a mozgás alapján szintén változáson megy keresztül (referencia kép), mivel a kapacitás változó, változó feszültséget is lehet kapni.
Tehát, mint fent említettük, minden gyorsulásmérő szenved a gravitációs hatás problémájától. Nem számít, mennyire pontos az érzékelőjének kalibrálása (még az Apple telefonjai is Accel.), A gravitáció hatással lesz rá. A probléma részletesebb magyarázatát az alábbiakban adjuk meg.
Az Arduino-ban egy egyszerű szűrő segítségével csökkenthetjük a gravitáció hatását. Ez a szűrő két tömbből áll, az egyiket a szenzorból származó mintaértékek tárolására, a másikat a mintaértékek rendezésére és a legtöbbször megismételt érték megtalálására használják. Vezessük be ezt az algoritmust az Arduino-ban, és készítsük elő a hardverünket.
Arduino programozása:
Az Arduino program alább található a Kód szakaszban. Nincs olyan kritikus adat, amelyet módosítani kellene. De érdemes megfontolni a következőket:
Növelje a minta méretét, ha az Accel továbbra is véletlenszerű értékeket mutat.
#define Samplesize 13 // filterSample number
Játsszon a 9600 baud sebességgel, hogy növelje az Arduino és a Processing közötti kommunikáció sebességét. De mindenképpen változtassa meg őket mindkét szoftverben (Program).
void setup () {Soros.kezdés (9600); }
Az X-tengelyes gyorsulásmérőm 193-at ad a bal szélső szélén, 280-at pedig a jobb szélén, mérje meg őket az Accel-hez, és frissítse az értéket.
toSend = térkép (smoothData1, 193, 280, 0, 255);
Az értékek egyetlen bájt adatba vannak feltérképezve a soros kommunikáció érdekében.
Az egyértelmű megértés érdekében ellenőrizze az alábbi kódban található megjegyzéseket.
Programozási feldolgozás:
A feldolgozás egy nyílt forráskódú szoftver, amelyet a művészek használnak a grafikai tervezéshez. Ezt a szoftvert szoftverek és Android alkalmazások fejlesztésére használják. Könnyen fejleszthető és nagyon hasonlít az Android Development IDE-hez. Ezért lerövidítettem a magyarázatot.
A Ping Pong játék feldolgozási kódja itt található:
- Az Arduino Ping labdajáték kódjának feldolgozása
Kattintson jobb gombbal rá, majd kattintson a 'Link mentése másként..' gombra a kódfájl letöltéséhez. Ezután nyissa meg a fájlt a 'Processing' szoftverben, majd kattintson a 'Run' gombra a játék lejátszásához. A *.pde fájlok megnyitásához telepítenie kell a „Processing” szoftvert. A Megjegyzés szakasz nyitva áll a lekérdezésekhez, és ellenőrizze a Programban található megjegyzéseket annak jobb megértése érdekében.
A sor alatt, a void setup () függvényben a Kód feldolgozása fontos, mivel eldönti, hogy melyik portból melyik adathoz.
port = new Serial (ez, Serial.list (), 9600); // A 4. PORT kiolvasása 9600 baudráta mellett
Itt olvastam adatokat az Arduino-m 4. portjáról.
Tehát például ha van COM COM COM COM COM COM
Ezután a fenti kód beolvassa a COM adatait.
Tesztelés:
Most, hogy a Processing and Arduino vázlatunk készen áll, töltse fel az alábbi programot az Arduino-ra, és csatlakoztassa Arduino-ját a számítógép alapos programozó kábeléhez, és indítsa el a játékot a Futtassa a Processing code fájlt (.pde). Ez az! Mozgassa a gyorsulásmérőt és játsszon a Ping Pong játékkal. A Videó végigvezeti Önt a teljes projekten.
Miután megértette a programot, sok hasonló játékot hozhat létre és játszhat le velük az Arduino segítségével. Továbbá az Y és Z tengely is szerepelhet a játékban.