- Visió general:
- Components necessaris:
- Explicació del circuit:
- Funcionament de l'acceleròmetre:
- Programació d'Arduino:
- Processament de programació:
- Proves:
La realitat augmentada i el joc virtual s’han convertit en una tendència recent a la indústria del joc. Els temps d’utilitzar un teclat / Joystick i un ratolí per jugar a un joc d’ordinador han quedat enrere. Ara, totes les consoles de jocs inclouen un controlador virtual que ens ajuda a jugar amb els nostres moviments i gestos corporals, d'aquesta manera l'experiència de joc ha augmentat molt i l'usuari se sent més implicat en el joc.
En aquest projecte, intentem divertir-nos mentre aprenem a través del projecte. Deixem-nos crear un joc (Sí, em va escoltar corregir, volem crear un joc) i jugar-lo amb el moviment de la mà. Estem creant el clàssic joc de pilota de Ping Pong amb Arduino i Accelerometer.
Visió general:
Hi ha un munt de programari de codi obert disponibles en aquests dies, cosa que ha portat molta felicitat a aficionats com nosaltres i Processament n’és un. Amb aquesta aplicació basada en JAVA podem crear programari propi (format.exe) i també una aplicació per a Android (fitxer.apk). Per tant, utilitzarem aquest programari per construir el nostre joc; prèviament hem utilitzat Processament per crear la sala de xat Arduino.
La part del maquinari consistirà en un Arduino que obtindrà l'entrada d'un acceleròmetre per alimentar-la en sèrie al nostre ordinador / portàtil.
Així que anem a comprar !!!!
Components necessaris:
- Arduino (qualsevol versió o model)
- Acceleròmetre
- Connexió de cables
- Interès (Lolz)

Acceleròmetre i Arduino Nano
Explicació del circuit:


El Circuit of Arduino Ping Pong Ball Game Project no implica cap connexió complexa. He utilitzat un Arduino Nano amb un acceleròmetre. Però hi ha poques coses a tenir en compte, tal com s’esmenta a continuació:
1. El vostre acceleròmetre no pot suportar 5V, així que connecteu sempre el Vcc de l’acceleròmetre al vostre pin d’Arduino de 3,3V.
2. Tots els acceleròmetres pateixen l’efecte de la gravetat que s’ha de manejar mentre es programa (simplement amb un filtre).
Amb això en ment, examinem el funcionament d’un acceleròmetre i com l’utilitzem.
Funcionament de l'acceleròmetre:
Un acceleròmetre és un dispositiu que pot convertir l’acceleració en qualsevol direcció a la seva respectiva tensió variable. Això s’aconsegueix mitjançant l’ús de condensadors (vegeu la imatge), ja que l’Accel es mou, el condensador que hi ha dins, també experimentarà canvis (vegeu la imatge) en funció del moviment, ja que la capacitat és variada, també es pot obtenir un voltatge variable.


Per tant, com s’ha esmentat anteriorment, cada acceleròmetre pateix el problema de l’efecte de la gravetat. Per més precís que estigui calibrat el sensor (fins i tot els telèfons Apple d'Accel.), La gravetat es veurà afectada. A continuació es dóna una explicació més tècnica per a aquest problema.
Ara, a Arduino podem reduir l’efecte de la gravetat mitjançant un filtre simple. Aquest filtre constarà de dues matrius, una s'utilitza per emmagatzemar els valors de mostra del sensor i l'altra s'utilitza per ordenar els valors de mostra i es troba el valor més repetit. Implantem aquest algorisme al nostre Arduino i preparem el nostre maquinari.
Programació d'Arduino:
El programa Arduino es mostra a continuació a la secció Codi. No hi ha dades crítiques que s’hagin de modificar. Però us recomanem que tingueu en compte el següent:
Augmenteu la mida de la mostra si el vostre Accel encara mostra valors aleatoris.
#define Samplesize 13 // filterSample number
Juga amb la velocitat de transmissió de 9600 per augmentar la velocitat de comunicació entre Arduino i Processament. Però assegureu-vos de canviar-los al programa (Programes).
configuració nul·la () {Serial.begin (9600); }
El meu acceleròmetre a l’eix X dóna 193 a l’extrem esquerre i 280 a l’extrem dret, mesureu-los per Accel i actualitzeu el valor.
envia = mapa (smoothData1, 193, 280, 0, 255);
Els valors es mapen en un sol byte de dades per a la comunicació en sèrie.
Consulteu a continuació els comentaris del codi donat a continuació per entendre-ho clarament.
Processament de programació:

El processament és un programari de codi obert que els artistes utilitzen per al disseny de gràfics. Aquest programari s’utilitza per desenvolupar aplicacions de programari i Android. És molt fàcil de desenvolupar i és molt similar a l'IDE de desenvolupament d'Android. Per tant, he escurçat l’explicació.
El codi de processament del joc de ping pong es dóna aquí:
- Codi de processament del joc de pilota Aring Ping
Feu-hi clic dret i feu clic a "Desa l'enllaç com a.." per descarregar el fitxer de codi. A continuació, obriu el fitxer al programari "Processament" i feu clic al botó "Executar" per jugar al joc. Cal instal·lar el programari "Processament" per obrir fitxers *.pde. La secció de comentaris està oberta per a consultes i també consulteu els comentaris del programa per entendre-ho millor.
Per sota de la línia, a la funció void setup () del codi de processament és important, ja que decideix des de quin port es porten les dades.
port = new Serial (this, Serial.list (), 9600); // Llegeix el 4t PORT a 9600 baudrate
Aquí he llegit les dades del quart port del meu Arduino.
Per exemple, si teniu COM COM COM COM COM
A continuació, el codi anterior llegirà les dades de COM.
Proves:
Ara, ja que el nostre esbós de Processament i Arduino està a punt, només cal que pengeu el programa següent a Arduino i connecteu el vostre Arduino al cable de programació complet de l'ordinador de l'usuari i inicieu el joc mitjançant el fitxer de codi de processament (.pde). Això és! Mou l’acceleròmetre i juga al joc de ping-pong. El vídeo us guiarà a través del projecte complet.
Un cop hàgiu entès el programa, podeu crear molts jocs similars i jugar-los amb el vostre Arduino. A més, també es poden incloure l'eix Y i l'eix Z per jugar.
