Taula de continguts:
- Pas 1: requisits
- Pas 2: HARDWARE
- Pas 3: PROGRAMARI
- Pas 4: CODI PRINCIPAL
- Pas 5: CODIS DE PROVA
- Pas 6: CONTROLS DEL JOC
- Pas 7: CONFIGURACIÓ
Vídeo: Vestit de realitat virtual amb Arduino: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
He creat aquest projecte per jugar a jocs d'ordinador normals en realitat virtual completa. Aquest projecte emula els vostres moviments en prémer o mantenir premudes les tecles del teclat
Exemple: en avançar, s'emula l'acció de prémer la tecla 'w'.
He imitat el joc Call of Duty 4: Modern Warfare, però no trieu jocs que tinguin retrocés mentre es dispara perquè canviarà la posició predeterminada del ratolí
Pas 1: requisits
Els requisits són
Hi ha una llista plena de coses que necessiteu per fer aquest vestit
Sensors tàctils-5
Sensor de força-1
GPU 6050-4
(o)
GPU 6050 - 2 i acceleròmetre - 2
Ulleres Vr
Telèfon habilitat per a VR
PC
Punt d'accés WiFi
Una pistola de joguina
Un joc per a PC (he utilitzat Call of Duty- Modern Warfare 1)
Filferros de taulers de pa (Home-Dona)
ARDUINO LEONARDO-2
Auton sheild - 2
Font d'alimentació (lipo)
Filferro arc de Sant Martí
Pas 2: HARDWARE
* reload_pin, shoot_pin, night vision_pin, granada_pin, arma change_pin són sensors tàctils. aim_pin és el sensor de força i el ratolí és emulat per MPU6050; altres sensors són acceleròmetre (postura, moviment1 i 2)
1.1) SOLDADURA
SOLDER MPU 6050, acceleròmetre, sensor tàctil i sensor de força amb els cables
1.2) CABLEAT
Per a MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR / VCC
Per a moviment_pin1-
Pin A1- eix x
GND-GND
5v - PWR / VCC
Per a moviment_pin2-
Pin A2- eix x
GND-GND
5v - PWR / VCC
Per a posture_pin-
Pin A0- eix x
GND-GND
5v - PWR / VCC
per arma_pin -
sig-5v
GND-GND
5v - PWR / VCC
Per a Reload_pin -
pin12 - 5v
GND-GND
5v - PWR / VCC
Per a Nightvision_pin -
pin 10 - 5v
GND-GND
5v - PWR / VCC
Per a shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR / VCC
Per aim_pin -
Pin 8 - 5v
5v - PWR / VCC
1.3) FILS DE SOLDAT
Soldeu els cables de la taula de pa amb els cables de l’arc de Sant Martí
1.4) A INLLAMENT
Enganxeu els cables amb la cinta aïllant al lloc on heu soldat per evitar curtcircuits
Pas 3: PROGRAMARI
He utilitzat una aplicació anomenada "Remotr" de Play Store per emetre el vídeo des del portàtil al telèfon
2.1) REMOTR-
Instal·leu l'aplicació REMOTR al vostre ordinador i creeu un compte
Aquí teniu l’enllaç-
remotrapp.com/#download
Instal·leu l'aplicació REMOTR al vostre telèfon intel·ligent
2.2) VIDEO STREAMING
Primer, connecteu tant l’ordinador com la mateixa xarxa WiFi i introduïu el vostre compte REMOTR als dos dispositius
ara afegiu manualment el joc que voleu transmetre al programari
ara l'aplicació mostrarà l'ordinador com a administrador i feu-hi clic per iniciar la reproducció
Per transmetre en VR, activa el mode vr al teu telèfon intel·ligent
Si no ho podeu entendre Consulteu aquest enllaç per obtenir informació detallada
remotrapp.com/en/howto
Pas 4: CODI PRINCIPAL
El codi d’aquest projecte no és dur ni complex, sinó llarg
Aquí teniu el codi, només cal copiar-lo i enganxar-lo al fitxer arduino
ARDUINO
Ratolí LEONARDO-
He referit Gabry295. Aquest codi de ratolí es basa en el cap del ratolí que es pot instruir
#incloure
#incloure
#incloure
#incloure
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
configuració nul·la () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
mentre que (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
bucle buit () {
shoot_pin = DigitalRead (7);
objectiu_pin = DigitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300) / 200; // He posat -300 i +490 perquè el meu mpu6050 mostra aquests valors quan no es mou
vy = - (gz + 490) / 200; // comproveu el codi del ratolí principal per Gabry295 per obtenir més informació sobre aquests valors
Mouse.move (vx, vy);
retard (20);
mentre (shoot_pin == HIGH);
{
Mouse.click ();
}
while (aim_pin == HIGH);
{
Mouse.click ();
}
}
Teclat Leonardo
#incloure
int Granada;
int arma_pin;
int reload_pin;
int moviment1_pin;
int moviment2_pin;
int postura_pin;
char nightvision_pin;
configuració nul·la ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
bucle buit ()
{
Grenade_pin = DigitalRead (8);
arma_pin = DigitalRead (9);
moviment1_pin = analogRead (A1);
moviment2_pin = analogRead (A2);
postura_pin = analogRead (A0);
recarregar_pin = digitalRead (12);
nightvision_pin = DigitalRead (10);
if (granada == ALTA)
{
Keyboard.press ('g');
}
while (arma_pin == ALTA)
{
Keyboard.press ('q');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (moviment1_pin> 340 && moviment1_pin <420)
{
Keyboard.press ('w');
}
while (moviment1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
while (moviment2_pin> 340 && moviment2_pin <420)
{
Keyboard.press ('w');
}
while (moviment2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
while (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
mentre que (posture_pin> 420)
{
Keyboard.press ('l');
}
while (postura_pin <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Pas 5: CODIS DE PROVA
Aquests són els pocs codis dividits del codi principal segons la funció
TIR-
#incloure
int x;
configuració nul·la () {
pinMode (8, INPUT);
Mouse.begin ();
}
bucle buit () {
x = DigitalRead (8);
if (x == ALT)
{
Mouse.click ('g');
}
}
PUNTERIA-
#incloure
#incloure
#incloure
#incloure
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
configuració nul·la () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
mentre que (1);
}
}
bucle buit () {
shoot_pin = DigitalRead (7);
objectiu_pin = DigitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx + 300) / 200; // "+300" perquè l'eix x del giroscopi dóna valors aproximats de -350 mentre no es mou. Canvieu aquest valor si obteniu alguna cosa diferent mitjançant el codi TEST, perseguint si hi ha valors allunyats de zero.
vy = - (gz_-100) / 200; // el mateix aquí sobre "-100"
RECÀRREGA-
#incloure
int x;
configuració nul·la () {
pinMode (8, INPUT);
Keyboard.begin ();
}
bucle buit () {
x = DigitalRead (8);
if (x == ALT)
{
Keyboard.press ('r');
}
en cas contrari
{
Keyboard.release ('r');
}
}
VISIÓ NITAL #include
int x;
configuració nul·la () {
pinMode (8, INPUT);
Keyboard.begin ();
}
bucle buit () {
x = DigitalRead (8);
if (x == ALT)
{
Keyboard.press ('g');
}
en cas contrari
{
Keyboard.release ('g');
}
}
CROUCH I PRONE-
#incloure
int y;
configuració nul·la () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
bucle buit () {
y = analogRead (A0);
si (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
altrament si (y> 260 && y <310)
{
Keyboard.press ('c');
}
altrament si (y> 310)
{
Keyboard.press ('p');
}
}
Pas 6: CONTROLS DEL JOC
canvieu els controls del joc de la següent manera
ajupir-se - x
propens - l
canvi d'armes - q
sprint - pàg
plantar-se / saltar - z
visió nocturna - n
moviment cap endavant - w
magrana - g
Pas 7: CONFIGURACIÓ
Finalment hem arribat a l'últim pas que ara posa l'arduino
taules en una caixa i introduïu-la a la bossa
Ara connecteu el micro USB de l’arduino als ports USB del portàtil i ara connecteu els sensors tal com s’indicava més amunt
* Les marques de fletxa de les imatges anteriors representen la direcció que ha d’afrontar el sensor
Si teniu cap dubte, no dubteu a deixar un comentari i no oblideu compartir la vostra experiència
Això és tot gràcies i
ADEU.
Recomanat:
Realitat virtual a Raspberry Pi amb BeYourHero !: 19 passos (amb imatges)
Realitat virtual a Raspberry Pi amb BeYourHero!: Benvingut a " Be Your Hero " projecte! Espero que estigueu a punt per entrar a la propera generació d’immersió en realitat virtual. Aquest projecte us proporcionarà un control complet de gestos de qualsevol heroi virtual que vulgueu amb un conjunt senzill de dispositius econòmics que utilitzen se
Rebot! Joc de realitat virtual amb Arduino i Acclerometer: 9 passos
Rebot! Joc de realitat virtual mitjançant Arduino i Acclerometer: en aquest tutorial crearem un joc de realitat virtual mitjançant Arduino i Acclerometer
Vestit de monitor: connecta els senyals del cor a l'IoT: 18 passos (amb imatges)
Monitor Dress - Connecta els senyals del cor a l'IoT: The Monitor Dress és un experiment en la investigació de diferents maneres de digitalitzar l'activitat cardíaca del portador i processar les dades. Tres elèctrodes dins del vestit mesuren els senyals elèctrics que travessen el portador. bod
Ulleres de realitat virtual i mixta: 15 passos (amb imatges)
Ulleres de realitat virtual i mixta: Introducció: Durant el màster Tecnologia per al disseny conceptual, se’ns va demanar que exploréssim una tecnologia emergent que s’adapti al nostre projecte principal i que provés aquesta tecnologia fent un prototip. Les tecnologies que vam triar són virtuals reals
Realitat virtual mòbil mitjançant processament per a Android (TfCD): 7 passos (amb imatges)
Realitat virtual mòbil mitjançant processament per a Android (TfCD): la realitat virtual (VR) és una de les noves tecnologies que poden ser interessants per als futurs productes. Té moltes oportunitats i ni tan sols necessiteu ulleres VR de cara (Oculus Rift). Pot semblar molt difícil fer-ho vosaltres mateixos, però els fonaments són