Obsah:

Oblek pre virtuálnu realitu využívajúci Arduino: 7 krokov (s obrázkami)
Oblek pre virtuálnu realitu využívajúci Arduino: 7 krokov (s obrázkami)

Video: Oblek pre virtuálnu realitu využívajúci Arduino: 7 krokov (s obrázkami)

Video: Oblek pre virtuálnu realitu využívajúci Arduino: 7 krokov (s obrázkami)
Video: Высокая плотность 2022 2024, November
Anonim
Oblek pre virtuálnu realitu využívajúci Arduino
Oblek pre virtuálnu realitu využívajúci Arduino

Vytvoril som tento projekt na hranie bežných počítačových hier v plnej VR. Tento projekt napodobňuje vaše pohyby pri stlačení alebo podržaní klávesov na klávesnici

Príklad- keď sa pohnete dopredu, emuluje sa stlačenie klávesu „w“.

Napodobnil som hru Call of Duty 4: Modern Warfare, ale nevyberajte hry, ktoré majú pri streľbe spätný ráz, pretože zmení predvolenú polohu myši.

Krok 1: Požiadavky

Požiadavky sú-

Existuje zoznam plný vecí, ktoré potrebujete na výrobu tohto obleku

Dotykové senzory-5

Senzor sily-1

GPU 6050 - 4

(alebo)

GPU 6050 - 2 a akcelerometer - 2

Vr okuliare

Telefón s povolenou funkciou Vr

PC

WiFi hotspot

Hračkárska pištoľ

Počítačová hra (použil som Call of Duty- Modern Warfare 1)

Drôty na chlieb (muž-žena)

ARDUINO LEONARDO-2

Auton Sheild - 2

Zdroj energie (lipo)

Dúhové drôty

Krok 2: HARDWARE

HARDWARE
HARDWARE
HARDWARE
HARDWARE
HARDWARE
HARDWARE

*reload_pin, shoot_pin, night vision_pin, granát_pin, zbraň change_pin sú dotykové senzory. aim_pin je senzor sily a myš je emulovaná MPU6050, ostatné senzory sú akcelerometer (držanie tela, pohyb1 a 2)

1.1) SPOJENIE

SOLDER MPU 6050, akcelerometer, dotykový senzor a snímač sily s vodičmi

1.2) KABELÁŽ

Pre MPU 6050-

Kolík 2- SDA

Kolík 3- SCL

GND - GND

5v - PWR/VCC

Pre pohyb_pin1-

Kolík A1- os x

GND-GND

5v - PWR/VCC

Pre pohyb_pin2-

Kolík A2- os x

GND-GND

5v - PWR/VCC

Pre posture_pin-

Kolík A0- os x

GND-GND

5v - PWR/VCC

pre gun_pin -

sig-5v

GND-GND

5v - PWR/VCC

Pre Reload_pin -

pin12 - 5v

GND-GND

5v - PWR/VCC

Pre Nightvision_pin -

kolík 10 - 5v

GND-GND

5v - PWR/VCC

Pre shoot_pin -

Pin7 - 5v

GND-GND

5v - PWR/VCC

For aim_pin -

Kolík 8 - 5v

5v - PWR/VCC

1.3) VODIČSKÉ Drôty

Spájkujte drôty dosky na chlieb dúhovými drôtmi

1.4) IZOLÁCIA

Prilepte vodiče izolačnou páskou na miesto, kde ste spájkovali, aby ste predišli skratom

Krok 3: SOFTVÉR

SOFTVÉR
SOFTVÉR
SOFTVÉR
SOFTVÉR

Na prenos videa z prenosného počítača do telefónu som použil aplikáciu s názvom „Remotr“z Obchodu Play

2.1) DIAĽKOVÉ

Nainštalujte si aplikáciu REMOTR do počítača a vytvorte si účet

Tu je odkaz-

remotrapp.com/#download

Nainštalujte si aplikáciu REMOTR do svojho smartfónu

2.2) VIDEO STREAMOVANIE

Najprv pripojte počítač aj rovnakú sieť WiFi a do oboch zariadení zadajte svoj účet REMOTR

teraz ručne pridajte do softvéru hru, ktorú chcete streamovať

teraz aplikácia zobrazí počítač ako správcu, kliknutím naň spustíte streamovanie

Ak chcete streamovať vo VR, povoľte vo svojom smartfóne režim vr

Ak nerozumiete, pozrite sa na tento odkaz a získajte podrobné informácie

remotrapp.com/en/howto

Krok 4: HLAVNÝ KÓD

Kód pre tento projekt nie je náročný ani zložitý, ale dlhý

Tu je kód, stačí ho skopírovať a vložiť do súboru arduino

ARDUINO

Myš LEONARDO-

Odporúčal som Gabry295. Tento kód myši je založený na pokynoch jeho hlavy k myši

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

int aim_pin;

int shoot_pin;

MPU6050 mpu;

int16_t ax, ay, az, gx, gy, gz;

int vx, vy;

neplatné nastavenie () {

Serial.begin (9600);

Mouse.begin ();

Wire.begin ();

mpu.initialize ();

if (! mpu.testConnection ()) {

pričom (1);

}

pinMode (7, VSTUP);

pinMode (8, VSTUP);

}

prázdna slučka () {

shoot_pin = digitalRead (7);

aim_pin = digitalRead (8);

mpu.getMotion6 (& sekera, & ay, & az, & gx, & gy, & gz);

vx = (gx-300)/200; // Dal som -300 a +490, pretože môj mpu6050 ukázal tieto hodnoty, keď sa nehýbal

vy = -(gz+490)/200; // ďalšie podrobnosti o týchto hodnotách nájdete v kóde hlavnej myši od spoločnosti Gabry295

Mouse.move (vx, vy);

oneskorenie (20);

while (shoot_pin == VYSOKO);

{

Mouse.click ();

}

while (aim_pin == VYSOKY);

{

Mouse.click ();

}

}

Klávesnica Leonardo

#zahrnúť

int Grenade;

int zbraň_pin;

int reload_pin;

int pohyb1_pin;

int pohyb2_pin;

int posture_pin;

char nightvision_pin;

neplatné nastavenie ()

{

pinMode (7, VSTUP);

pinMode (8, VSTUP);

pinMode (9, VSTUP);

pinMode (10, VSTUP);

pinMode (11, VSTUP);

pinMode (12, VSTUP);

pinMode (A0, INPUT);

pinMode (A1, VSTUP);

Keyboard.begin ();

}

prázdna slučka ()

{

Grenade_pin = digitalRead (8);

gun_pin = digitalRead (9);

pohyb1_pin = analogRead (A1);

pohyb2_pin = analogRead (A2);

posture_pin = analogRead (A0);

reload_pin = digitalRead (12);

nightvision_pin = digitalRead (10);

ak (granát == VYSOKÝ)

{

Keyboard.press ('g');

}

while (zbraň_pin == VYSOKÁ)

{

Keyboard.press ('q');

}

while (reload_pin == HIGH)

{

Keyboard.press ('r');

}

while (movement1_pin> 340 && movement1_pin <420)

{

Keyboard.press ('w');

}

while (movement1_pin> 420)

{

Keyboard.press ('w');

Keyboard.press ('p');

}

while (movement2_pin> 340 && movement2_pin <420)

{

Keyboard.press ('w');

}

while (movement2_pin> 420)

{

Keyboard.press ('p');

Keyboard.press ('w');

}

while (posture_pin> 340 && posture_pin <420)

{

Keyboard.press ('c');

}

while (posture_pin> 420)

{

Keyboard.press ('l');

}

while (posture_pin <340)

{

Keyboard.press ('z');

}

while (nightvision_pin == VYSOKO)

{

Keyboard.press ('n');

}

}

}

Krok 5: SKÚŠOBNÉ KÓDY

Tu je niekoľko kódov oddelených od hlavného kódu podľa funkcie

STREĽBA-

#zahrnúť

int x;

neplatné nastavenie () {

pinMode (8, VSTUP);

Mouse.begin ();

}

prázdna slučka () {

x = digitalRead (8);

ak (x == VYSOKÉ)

{

Mouse.click ('g');

}

}

CIEĽ-

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

MPU6050 mpu;

int16_t ax, ay, az, gx, gy, gz;

int vx, vy;

neplatné nastavenie () {

Serial.begin (9600);

Mouse.begin ();

Wire.begin ();

mpu.initialize ();

if (! mpu.testConnection ()) {

pričom (1);

}

}

prázdna slučka () {

shoot_pin = digitalRead (7);

aim_pin = digitalRead (8);

mpu.getMotion6 (& sekera, & ay, & az, & gx, & gy, & gz);

vx = (gx+300)/200; // "+300", pretože os x gyroskopu dáva hodnoty asi -350, keď sa nepohybuje. Zmeňte túto hodnotu, ak pomocou TESTOVÉHO kódu získate niečo iné, pričom sa zistí, či existujú hodnoty ďaleko od nuly.

vy = -(gz_ -100)/200; // to isté tu o "-100"

NAKLADANIE-

#zahrnúť

int x;

neplatné nastavenie () {

pinMode (8, VSTUP);

Keyboard.begin ();

}

prázdna slučka () {

x = digitalRead (8);

ak (x == VYSOKÉ)

{

Keyboard.press ('r');

}

inak

{

Keyboard.release ('r');

}

}

NIGHT VISIO #include

int x;

neplatné nastavenie () {

pinMode (8, VSTUP);

Keyboard.begin ();

}

prázdna slučka () {

x = digitalRead (8);

ak (x == VYSOKÉ)

{

Keyboard.press ('g');

}

inak

{

Keyboard.release ('g');

}

}

CROUCH A PRONE-

#zahrnúť

int y;

neplatné nastavenie () {

pinMode (A0, INPUT);

Serial.begin (9600);

}

prázdna slučka () {

y = analogRead (A0);

ak (y <260)

{

Keyboard.release ('c');

Keyboard.release ('p');

}

else if (y> 260 && y <310)

{

Keyboard.press ('c');

}

inak, ak (y> 310)

{

Keyboard.press ('p');

}

}

Krok 6: OVLÁDANIE HRY

zmeňte ovládanie hry nasledovne

prikrčiť - x

náchylný - l

zmena zbrane - q

šprint - p

stoj/skok - z

nočné videnie - n

pohyb vpred - š

granát - g

Krok 7: NASTAVENIE

NASTAVENIE
NASTAVENIE
NASTAVENIE
NASTAVENIE
NASTAVENIE
NASTAVENIE

Nakoniec sme sa dostali k poslednému kroku, teraz položte arduino

dosky v škatuli a zasuňte ju do tašky

Teraz pripojte micro USB arduina k portom USB prenosného počítača a teraz pripojte senzory podľa vyššie uvedeného postupu

*Značky šípok na vyššie uvedených obrázkoch predstavujú smer, ktorým musí snímač smerovať

Ak máte nejaké pochybnosti, neváhajte zanechať komentár a nezabudnite sa podeliť o svoje skúsenosti

To je všetko, ďakujem a

ZBOHOM.

Odporúča: