Turinys:
- 1 žingsnis: Reikalavimai
- 2 žingsnis: Aparatūra
- 3 žingsnis: PROGRAMINĖ ĮRANGA
- 4 žingsnis: PAGRINDINIS KODAS
- 5 veiksmas: BANDYMO KODAI
- 6 žingsnis: ŽAIDIMŲ KONTROLĖ
- 7 žingsnis: NUSTATYMAS
Video: Virtualios realybės kostiumas naudojant „Arduino“: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Sukūriau šį projektą, kad galėčiau žaisti įprastus kompiuterinius žaidimus visu VR. Šis projektas imituoja jūsų judesius spaudžiant arba laikant klaviatūros klavišus
Pavyzdys- kai judate į priekį, paspaudžiamas klavišo „w“veiksmas.
Aš mėgdžiojau žaidimą „Call of Duty 4: Modern Warfare“, bet nesirinkite žaidimų, kurie šaudymo metu atsitraukia, nes tai pakeis numatytąją pelės padėtį
1 žingsnis: Reikalavimai
Reikalavimai yra-
Yra sąrašas dalykų, kurių jums reikia norint sukurti šį kostiumą
Lietimo jutikliai-5
Jėgos jutiklis-1
GPU 6050 - 4
(arba)
GPU 6050 - 2 ir akselerometras - 2
Vr akiniai
Telefonas su Vr
PC
„WiFi“viešosios interneto prieigos taškas
Žaislinis pistoletas
Kompiuterinis žaidimas (naudojau „Call of Duty“- „Modern Warfare 1“)
Duonos lentos laidai (vyriškos ir moteriškos lyties)
ARDUINO LEONARDO-2
Autonominis skydas - 2
Maitinimo šaltinis (lipo)
Vaivorykštės laidai
2 žingsnis: Aparatūra
*reload_pin, shoot_pin, night vision_pin, grenade_pin, ginklo keitimo smeigtukai yra jutikliniai jutikliai. „aim_pin“yra jėgos jutiklis, o pelė imituojama MPU6050, kiti jutikliai yra akselerometras (laikysena, judesys1 ir 2)
1.1) LITAVIMAS
SOLDER MPU 6050, akselerometras, jutiklinis jutiklis ir jėgos jutiklis su laidais
1.2) LAIDAI
MPU 6050-
2- kaištis SDA
3 kaištis- SCL
GND - GND
5v - PWR/VCC
Judėjimui_pin1-
Smeigtukas A1- x ašis
GND-GND
5v - PWR/VCC
Judėjimui_pin2-
Smeigtukas A2- x ašis
GND-GND
5v - PWR/VCC
„Posture_pin-“
Smeigtukas A0- x ašis
GND-GND
5v - PWR/VCC
už ginklą_kaištis -
sig-5v
GND-GND
5v - PWR/VCC
„Reload_pin“-
kaištis 12 - 5 V.
GND-GND
5v - PWR/VCC
„Nightvision_pin“-
kaištis 10 - 5v
GND-GND
5v - PWR/VCC
Shoot_pin -
Pin 7 - 5v
GND-GND
5v - PWR/VCC
Dėl aim_pin -
Kaištis 8 - 5v
5v - PWR/VCC
1.3) LITIMO LAIDAI
Lituokite duonos lentos laidus vaivorykštės laidais
1.4) Izoliacija
Užklijuokite laidus izoliacine juostele toje vietoje, kur litavote, kad išvengtumėte trumpojo jungimo
3 žingsnis: PROGRAMINĖ ĮRANGA
Aš naudoju programą, pavadintą „Remotr“iš „Play“parduotuvės, norėdamas perduoti vaizdo įrašą iš nešiojamojo kompiuterio į telefoną
2.1) REMOTR-
Įdiekite REMOTR programą savo kompiuteryje ir susikurkite paskyrą
Štai nuoroda-
remotrapp.com/#download
Įdiekite REMOTR programą savo išmaniajame telefone
2.2) VIDEO SRAUTAS
Pirmiausia prijunkite kompiuterį ir tą patį „WiFi“tinklą ir įveskite savo REMOTR paskyrą abiejuose įrenginiuose
Dabar rankiniu būdu pridėkite žaidimą, kurį norite transliuoti programinėje įrangoje
Dabar programa parodys kompiuterį kaip administratorius, norėdami pradėti transliaciją
Jei norite transliuoti naudodami VR, įjunkite „VR“režimą savo išmaniajame telefone
Jei nesuprantate, išsamios informacijos ieškokite šioje nuorodoje
remotrapp.com/en/howto
4 žingsnis: PAGRINDINIS KODAS
Šio projekto kodas nėra sunkus ar sudėtingas, bet ilgas
Čia yra kodas, tiesiog nukopijuokite jį ir įklijuokite į savo arduino failą
ARDUINO
Pelė LEONARDO-
Aš nurodiau Gabry295. Šis pelės kodas yra pagrįstas jo galva Pelės instrukcija
#įtraukti
#įtraukti
#įtraukti
#įtraukti
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t kirvis, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Pelė.pradėti ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
tuo tarpu (1);
}
pinMode (7, Įvestis);
pinMode (8, INPUT);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Aš įdėjau -300 ir +490, nes mano mpu6050 rodo šias vertes, kai nejuda
vy = -(gz+490)/200; // Norėdami sužinoti daugiau apie šias vertes, patikrinkite „Gabry295“galvos pelės kodą
Pelė.perkelti (vx, vy);
vėlavimas (20);
tuo tarpu (shoot_pin == HIGH);
{
Pelė. Spustelėkite ();
}
while (aim_pin == HIGH);
{
Pelė. Spustelėkite ();
}
}
Leonardo klaviatūra
#įtraukti
int Granata;
int ginklas_kaištis;
int reload_pin;
int motion1_pin;
int motion2_pin;
int posture_pin;
char nightvision_pin;
negaliojanti sąranka ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Klaviatūra.begin ();
}
tuštumos kilpa ()
{
Grenade_pin = digitalRead (8);
ginklo_tapas = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
laikysenos_kapas = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
jei (granata == AUKŠTA)
{
Keyboard.press ('g');
}
o (ginklo smeigtukas == AUKŠTAS)
{
Keyboard.press ('q');
}
o (reload_pin == HIGH)
{
Keyboard.press ('r');
}
tuo tarpu (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
o (judėjimas1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
tuo tarpu (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
o (judėjimas2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
tuo tarpu (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
o (pozos_pin> 420)
{
Keyboard.press ('l');
}
o (pozos_pin <340)
{
Keyboard.press ('z');
}
o (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
5 veiksmas: BANDYMO KODAI
Čia yra keli kodai, suskirstyti iš pagrindinio kodo pagal funkciją
ŠAUDYMAS-
#įtraukti
int x;
void setup () {
pinMode (8, INPUT);
Pelė.pradėti ();
}
void loop () {
x = digitalRead (8);
jei (x == AUKŠTAS)
{
Mouse.click ('g');
}
}
TIKSLAS-
#įtraukti
#įtraukti
#įtraukti
#įtraukti
MPU6050 mpu;
int16_t kirvis, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Pelė.pradėti ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
tuo tarpu (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", nes giroskopo x ašis, kai ji nejuda, suteikia reikšmes apie -350. Pakeiskite šią vertę, jei naudodami TEST kodą gausite ką nors kitokio, patikrinkite, ar reikšmės toli gražu nėra nulio.
vy = -(gz_ -100)/200; // tas pats čia apie "-100"
PERKROVIMAS-
#įtraukti
int x;
void setup () {
pinMode (8, INPUT);
Klaviatūra.begin ();
}
void loop () {
x = digitalRead (8);
jei (x == AUKŠTAS)
{
Keyboard.press ('r');
}
Kitas
{
Keyboard.release ('r');
}
}
NAKTINIS VISIO #įtraukimas
int x;
void setup () {
pinMode (8, INPUT);
Klaviatūra.begin ();
}
void loop () {
x = digitalRead (8);
jei (x == AUKŠTAS)
{
Keyboard.press ('g');
}
Kitas
{
Keyboard.release ('g');
}
}
SUŽVALGYTI IR PALIKTI-
#įtraukti
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = analogRead (A0);
jei (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
kitaip jei (y> 260 && y <310)
{
Keyboard.press ('c');
}
kitaip, jei (y> 310)
{
Keyboard.press ('p');
}
}
6 žingsnis: ŽAIDIMŲ KONTROLĖ
pakeiskite žaidimo valdiklius taip
atsigulti - x
linkę - l
ginklo keitimas - q
sprintas - p
stovėti/šokinėti - z
naktinis matymas - n
judėjimas į priekį - w
granata - g
7 žingsnis: NUSTATYMAS
Pagaliau mes pasiekėme paskutinį žingsnį, dabar įdėkite arduino
lentas į dėžę ir įkiškite į maišą
Dabar prijunkite arduino mikro USB prie nešiojamojo kompiuterio USB prievadų, dabar prijunkite jutiklius, kaip nurodyta aukščiau
*Rodyklių žymės aukščiau esančiose nuotraukose rodo, į kurią pusę turi būti nukreiptas jutiklis
Jei turite kokių nors abejonių, nedvejodami palikite komentarą ir nepamirškite pasidalinti savo patirtimi
Tai tiek ačiū ir
ATE.
Rekomenduojamas:
Virtualios realybės valdomas RC automobilis: 9 žingsniai
Virtualios realybės valdomas RC automobilis: Ar kada nors norėjote susitraukti ir išbandyti tokį laivą kaip „Innerspace“ar „Fantastic Voyage“? Na, aš manau, kad tai yra taip arti, kaip jūs ketinate gauti per trumpą laiką! Štai aikštelė: „Real-Life“nuotolinio valdymo automobilis, pilotuojamas iš „Virtual Reality Comman“
Atšokti ! Virtualios realybės žaidimas naudojant „Arduino & Acclerometer“: 9 žingsniai
Atšokti ! Virtualios realybės žaidimas naudojant „Arduino & Acclerometer“: Šioje pamokoje mes kursime virtualios realybės žaidimą naudodami „Arduino“ir „Acclerometer“
Virtualios realybės ausinės-„Google“kartonas: 4 žingsniai
Virtualios realybės laisvų rankų įranga-„Google“kartonas: Sveiki, vaikinai, čia yra paprasta pamoka, kaip pasigaminti „Google Cardboard“-namines virtualios realybės ausines. Bus labai malonu žiūrėti siaubo filmą šiose laisvų rankų įrangoje. Taip pat nepamirštama patirtis bus ir kalnelių „Ride“vaizdo įrašas. Įspėjimas
Sukurkite savo virtualios realybės akinius: 4 žingsniai
Sukurkite savo virtualios realybės akinius: Medžiagos:- Kartoninė batų dėžutė- Žirklės / „X-Acto“peilis- 2 45 mm abipus išgaubti lęšiai- 4 juostelės „Velcro“- klijai
Virtualios ir mišrios realybės akiniai: 15 žingsnių (su nuotraukomis)
Virtualios ir mišrios realybės akiniai: Įvadas: Pagrindinio kurso „Technology for Concept Design“metu mūsų buvo paprašyta ištirti naują technologiją, kuri tinka mūsų pagrindiniam projektui, ir išbandyti šią technologiją sukuriant prototipą. Mūsų pasirinktos technologijos yra virtualios realybės