Kazalo:
- 1. korak: Zahteve
- 2. korak: HARDWARE
- 3. korak: PROGRAMSKA OPREMA
- 4. korak: GLAVNA KODA
- 5. korak: PRESKUSNE KODE
- 6. korak: NADZOR IGRE
- 7. korak: NASTAVITEV
Video: Obleka za navidezno resničnost z uporabo Arduina: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta projekt sem ustvaril za igranje običajnih računalniških iger v polni VR. Ta projekt posnema vaša gibanja s pritiskom ali držanjem tipk na tipkovnici
Primer- ko se premaknete naprej, se posnema dejanje pritiska na tipko 'w'.
Imuriral sem igro Call of Duty 4: Modern Warfare, vendar ne izberite iger, ki med streljanjem odmikajo, ker bo spremenila privzeti položaj miške
1. korak: Zahteve
Zahteve so-
Seznam stvari, ki jih potrebujete za izdelavo te obleke, je poln
Senzorji na dotik-5
Senzor sile-1
GPU 6050 - 4
(ali)
GPU 6050 - 2 in merilnik pospeška - 2
Vr kozarci
Telefon z vrtom
Osebni računalnik
Dostopna točka WiFi
Pištola za igrače
PC igra (uporabljal sem Call of Duty-Modern Warfare 1)
Žice za kruh (moški-ženski)
ARDUINO LEONARDO-2
Autonova ponjava - 2
Napajanje (lipo)
Mavrične žice
2. korak: HARDWARE
*reload_pin, shoot_pin, pin of night vision, grenade_pin, weapon change_pin so senzorji na dotik. aim_pin je senzor sile in miško posnema MPU6050, drugi senzorji so merilnik pospeška (drža, gibanje 1 in 2)
1.1) SPAJANJE
SOLDER MPU 6050, merilnik pospeška, senzor na dotik in senzor sile z žicami
1.2) OŽIČENJE
Za MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
Za motion_pin1-
Pin A1- x os
GND-GND
5v - PWR/VCC
Za motion_pin2-
Pin A2- x os
GND-GND
5v - PWR/VCC
Za posture_pin-
Pin A0-x os
GND-GND
5v - PWR/VCC
za pištolo za orožje -
sig-5v
GND-GND
5v - PWR/VCC
Za Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
Za Nightvision_pin -
pin 10 - 5v
GND-GND
5v - PWR/VCC
Za shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
Za aim_pin -
Pin 8 - 5v
5v - PWR/VCC
1.3) SPAJALNE Žice
Spajite žice plošče za kruh z mavričnimi žicami
1.4) IZOLACIJA
Žice z izolacijskim trakom prilepite na mesto, kjer ste spajkali, da se izognete kratkemu stiku
3. korak: PROGRAMSKA OPREMA
Za predvajanje videoposnetka iz prenosnega računalnika v telefon sem uporabil aplikacijo Remotr
2.1) DALJINSKI
Namestite aplikacijo REMOTR v računalnik in ustvarite račun
Tukaj je povezava-
remotrapp.com/#download
Namestite aplikacijo REMOTR v pametni telefon
2.2) VIDEO POTIČANJE
Najprej povežite računalnik in isto omrežje WiFi ter v obeh napravah vnesite svoj račun REMOTR
zdaj ročno dodajte igro, ki jo želite pretočno predvajati v programski opremi
zdaj bo aplikacija prikazala računalnik kot skrbnik, kliknite za začetek pretakanja
Za pretakanje v VR omogočite način vr v pametnem telefonu
Če ne razumete, za podrobne informacije preverite to povezavo
remotrapp.com/en/howto
4. korak: GLAVNA KODA
Koda za ta projekt ni težka ali zapletena, ampak dolga
Tukaj je koda, ki jo preprosto kopirajte in prilepite v datoteko arduino
ARDUINO
Miška LEONARDO-
Predlagal sem Gabry295. Ta koda miške temelji na njegovi glavi Miška, ki jo je mogoče naročiti
#vključi
#vključi
#vključi
#vključi
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t sekira, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
medtem ko (1);
}
pinMode (7, INPUT);
pinMode (8, VHOD);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Postavil sem -300 in +490, saj moj mpu6050 prikazuje te vrednosti, ko se ne premika
vy = -(gz+490)/200; // za več podrobnosti o teh vrednostih preveri kodo glave miške Gabry295
Mouse.move (vx, vy);
zamuda (20);
medtem ko (ustreli_pin == VISOKO);
{
Mouse.click ();
}
medtem ko (aim_pin == HIGH);
{
Mouse.click ();
}
}
Leonardo tipkovnica
#vključi
int granata;
int weapon_pin;
int reload_pin;
int motion1_pin;
int motion2_pin;
int posture_pin;
char nightvision_pin;
void setup ()
{
pinMode (7, VHOD);
pinMode (8, VHOD);
pinMode (9, VHOD);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, VHOD);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
void loop ()
{
Grenade_pin = digitalRead (8);
gun_pin = digitalno branje (9);
move1_pin = analogRead (A1);
move2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
če (granata == VISOKO)
{
Keyboard.press ('g');
}
medtem ko (orožni_pin == VISOKO)
{
Keyboard.press ('q');
}
medtem ko (reload_pin == HIGH)
{
Keyboard.press ('r');
}
medtem ko (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
medtem ko (motion1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
medtem ko (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
medtem ko (motion2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
medtem ko (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
medtem ko (posture_pin> 420)
{
Keyboard.press ('l');
}
medtem ko (posture_pin <340)
{
Keyboard.press ('z');
}
medtem ko (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
5. korak: PRESKUSNE KODE
Tu je nekaj kod, ločenih od glavne kode glede na funkcijo
Streljanje-
#vključi
int x;
void setup () {
pinMode (8, VHOD);
Mouse.begin ();
}
void loop () {
x = digitalno branje (8);
če (x == VISOKO)
{
Mouse.click ('g');
}
}
CILJ-
#vključi
#vključi
#vključi
#vključi
MPU6050 mpu;
int16_t sekira, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
medtem ko (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", ker os x žiroskopa daje vrednosti okoli -350, medtem ko se ne premika. Spremenite to vrednost, če s kodo TEST dobite kaj drugega, če preverite, ali so vrednosti daleč od nič.
vy = -(gz_ -100)/200; // enako tukaj glede "-100"
PONOVNO NAČITANJE-
#vključi
int x;
void setup () {
pinMode (8, VHOD);
Keyboard.begin ();
}
void loop () {
x = digitalno branje (8);
če (x == VISOKO)
{
Keyboard.press ('r');
}
drugače
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
void setup () {
pinMode (8, VHOD);
Keyboard.begin ();
}
void loop () {
x = digitalno branje (8);
če (x == VISOKO)
{
Keyboard.press ('g');
}
drugače
{
Keyboard.release ('g');
}
}
CROCHCH AND PRONE-
#vključi
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = analogno branje (A0);
če (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
drugače če (y> 260 && y <310)
{
Keyboard.press ('c');
}
drugače če (y> 310)
{
Keyboard.press ('p');
}
}
6. korak: NADZOR IGRE
nadzor igre spremenite na naslednji način
počep - x
nagnjen - l
menjava orožja - q
sprint - str
stoj/skok - z
nočni vid - n
gibanje naprej - w
granata - g
7. korak: NASTAVITEV
Končno smo prišli do zadnjega koraka, zdaj postavimo arduino
deske v škatli in jih spravite v vrečko
Zdaj priključite mikro USB arduina na vrata USB prenosnega računalnika. Zdaj povežite senzorje, kot je opisano zgoraj
*puščice na zgornjih slikah predstavljajo smer, kamor mora biti obrnjen senzor
Če dvomite, ne oklevajte in pustite komentar in ne pozabite deliti svoje izkušnje
To je to hvala in
Adijo.
Priporočena:
Victorian Ball Obleka z avtonomno nastavljivim izrezom: 8 korakov (s slikami)
Victorian Ball Obleka z avtonomno nastavljivim izrezom: To je projekt, ki sem ga naredil za Victorian Winter Ball v Krakovu. Pametna balska obleka, ki prilagaja velikost svojega izreza glede na bližino gospoda, ki stoji pred njo
Urnik urnika: vaš pomočnik za navidezno produktivnost .: 6 korakov (s slikami)
Urnik urnika: vaš pomočnik za navidezno produktivnost. Jaz sem poklicni zavlačevalec! To zaklepanje me je spravilo v časovno zanko, kjer vsak dan preprosto leti brez produktivnega dela. Da bi premagal svoje odlašanje, sem naredil to preprosto in hitro uro, ki načrtuje moje delo. Zdaj se lahko preprosto držim
Slušalke za navidezno resničnost-Google karton: 4 koraki
Slušalke za navidezno resničnost-Google Cardboard: Pozdravljeni, tukaj je preprosta vadnica, kako narediti Google Cardboard, domačo slušalko za navidezno resničnost. Ogled grozljivk v teh slušalkah bo nadvse prijazen. Nepozabno doživetje bo tudi videoposnetek z vožnjo z vlakom
Skrijte bliskovni pogon navidezno: 5 korakov (s slikami)
Skrijte svoj bliskovni pogon na vidnem mestu: Ker različne vlade sprejemajo zakone, ki zahtevajo dostop do vaših šifriranih podatkov 1), 2), 3), je čas za nekaj "varnosti zaradi nejasnosti". Gre za izdelavo bliskovnega pogona USB, ki je podoben kablu. Lahko ga zavežete s hrbtne strani
DIY pametna očala za razširjeno resničnost z uporabo Arduina: 7 korakov
DIY pametna očala za razširjeno resničnost z uporabo Arduina: Ker tehnologija hitro raste in se vključuje v vse vidike življenja ljudi, so oblikovalci in razvijalci poskušali ljudem zagotoviti prijetnejšo izkušnjo s tehnologijo. Eden od tehnoloških trendov, ki si olajšajo življenje, je nošenje