Sisukord:
- Samm: nõuded
- 2. samm: RIISTVARA
- 3. samm: TARKVARA
- 4. samm: PÕHIKOOD
- 5. samm: TESTIKOODID
- 6. samm: MÄNGU JUHTIMINE
- Samm 7: SEADISTAMINE
Video: Virtuaalse reaalsuse ülikond Arduino abil: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Olen selle projekti loonud tavaliste arvutimängude mängimiseks täies VR -is. See projekt jäljendab teie liigutusi klaviatuuri klahvide vajutamisel või hoidmisel
Näide- kui liigute edasi, jäljendatakse klahvi "w" vajutamist.
Olen jäljendanud mängu Call of Duty 4: Modern Warfare, kuid ärge valige mänge, millel on pildistamise ajal tagasilöök, sest see muudab hiire vaikeasendit
Samm: nõuded
Nõuded on-
Seal on nimekiri täis asju, mida vajate selle ülikonna valmistamiseks
Puuteandurid-5
Jõuandur-1
GPU 6050 - 4
(või)
GPU 6050 - 2 ja kiirendusmõõtur - 2
Vr prillid
Vr toega telefon
PC
WiFi leviala
Mängupüstol
Arvutimäng (olen kasutanud Call of Duty- Modern Warfare 1)
Leivaplaadi juhtmed (mees-naine)
ARDUINO LEONARDO-2
Autonoomne kilp - 2
Toiteallikas (lipo)
Vikerkaare juhtmed
2. samm: RIISTVARA
*reload_pin, shoot_pin, night vision_pin, grenade_pin, relva change_pin on puutetundlikud andurid. aim_pin on jõuandur ja hiirt emuleerib MPU6050, teised andurid on kiirendusmõõtur (asend, liikumine1 ja 2)
1.1) JUOTMINE
SOLDER MPU 6050, kiirendusmõõtur, puutetundlik andur ja juhtmetega jõuandur
1.2) TREENING
MPU 6050- jaoks
Pin 2- SDA
Tihvt 3- SCL
GND - GND
5v - PWR/VCC
Liikumise_pin1- jaoks
Tihvt A1- x telg
GND-GND
5v - PWR/VCC
Liikumise_pin2- jaoks
Tihvt A2- x telg
GND-GND
5v - PWR/VCC
Posture_pin- jaoks
Tihvt A0- x telg
GND-GND
5v - PWR/VCC
jaoks gun_pin -
sig-5v
GND-GND
5v - PWR/VCC
Reload_pin jaoks -
pin 12 - 5v
GND-GND
5v - PWR/VCC
Nightvision_pin jaoks -
tihvt 10 - 5 V.
GND-GND
5v - PWR/VCC
Shoot_pin jaoks -
Pin 7 - 5v
GND-GND
5v - PWR/VCC
Aim_pin jaoks -
Pin 8 - 5v
5v - PWR/VCC
1.3) JUOTMISJUHENDID
Jootage leivaplaadi juhtmed vikerkaare juhtmetega
1.4) Isolatsioon
Kleepige juhtmed isoleerlindiga kohale, kus olete jootnud, et vältida lühiseid
3. samm: TARKVARA
Olen kasutanud Play poe rakendust nimega „Remotr” video edastamiseks sülearvutist telefoni
2.1) REMOTR-
Installige oma arvutisse rakendus REMOTR ja looge konto
Siin on link-
remotrapp.com/#download
Installige nutitelefoni rakendus REMOTR
2.2) VIDEO STREAMING
Esmalt ühendage arvuti ja sama WiFi -võrk ning sisestage oma REMOTR -konto mõlemasse seadmesse
lisage nüüd tarkvara, mida soovite voogesitada, käsitsi
nüüd näitab rakendus arvutit administraatorina, et seda voogesituse alustamiseks klõpsata
VR -is voogesitamiseks lubage nutitelefonis VR -režiim
Kui te ei saa aru, vaadake üksikasjalikku teavet sellelt lingilt
remotrapp.com/en/howto
4. samm: PÕHIKOOD
Selle projekti kood ei ole raske ega keeruline, kuid pikk
Siin on kood, lihtsalt kopeerige see ja kleepige see oma arduino -faili
ARDUINO
LEONARDO hiir-
Olen viitanud Gabry295 -le. See hiirekood põhineb tema peaga Hiir juhendatav
#kaasake
#kaasake
#kaasake
#kaasake
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t kirves, ay, az, gx, gy, gz;
int vx, vy;
tühine seadistus () {
Seriaalne algus (9600);
Hiir.algus ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
samas (1);
}
pinMode (7, INPUT);
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; // Olen pannud -300 ja +490, kuna minu mpu6050 näitab neid väärtusi, kui tšekki ei liigutata
vy = -(gz+490)/200; // nende väärtuste kohta lisateabe saamiseks kontrollige peahiire koodi Gabry295 poolt
Hiir.move (vx, vy);
viivitus (20);
while (shoot_pin == HIGH);
{
Hiir.klõps ();
}
while (aim_pin == HIGH);
{
Hiir.klõps ();
}
}
Leonardo klaviatuur
#kaasake
int Granaat;
int relva_nõel;
int reload_pin;
int liikumine1_pin;
int liikumine2_pin;
int posture_pin;
char nightvision_pin;
tühine seadistus ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Klaviatuur.begin ();
}
tühine tsükkel ()
{
Grenade_pin = digitalRead (8);
relvapulk = digitalRead (9);
motion1_pin = analogRead (A1);
motion2_pin = analogRead (A2);
poos_pin = analoogLoe (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
kui (granaat == KÕRGE)
{
Keyboard.press ('g');
}
samas (relvapulk == KÕRGE)
{
Keyboard.press ('q');
}
samas (reload_pin == HIGH)
{
Keyboard.press ('r');
}
samas (motion1_pin> 340 && motion1_pin <420)
{
Keyboard.press ('w');
}
samas (liikumine1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
samas (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
samas (liikumine2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
samas (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
samas (posture_pin> 420)
{
Keyboard.press ('l');
}
samas (poos_pin <340)
{
Keyboard.press ('z');
}
samas (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
5. samm: TESTIKOODID
Siin on mõned koodid jagatud põhikoodist vastavalt funktsioonile
Tulistamine-
#kaasake
int x;
tühine seadistus () {
pinMode (8, INPUT);
Hiir.algus ();
}
void loop () {
x = digitalRead (8);
kui (x == KÕRGE)
{
Hiir.klõps ('g');
}
}
EESMÄRK-
#kaasake
#kaasake
#kaasake
#kaasake
MPU6050 mpu;
int16_t kirves, ay, az, gx, gy, gz;
int vx, vy;
tühine seadistus () {
Seriaalne algus (9600);
Hiir.algus ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
samas (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", sest güroskoobi x -telg annab väärtusi umbes -350, kui see ei liigu. Muutke seda väärtust, kui saate TEST -koodi abil midagi muud, kontrollides, kas väärtused on nullist kaugel.
vy = -(gz_ -100)/200; // sama siin "-100" kohta
LAADIMINE-
#kaasake
int x;
tühine seadistus () {
pinMode (8, INPUT);
Klaviatuur.begin ();
}
void loop () {
x = digitalRead (8);
kui (x == KÕRGE)
{
Keyboard.press ('r');
}
muidu
{
Keyboard.release ('r');
}
}
ÖÖVISIOON #kaasas
int x;
tühine seadistus () {
pinMode (8, INPUT);
Klaviatuur.begin ();
}
void loop () {
x = digitalRead (8);
kui (x == KÕRGE)
{
Keyboard.press ('g');
}
muidu
{
Keyboard.release ('g');
}
}
KROUTS JA KALTUS-
#kaasake
int y;
tühine seadistus () {
pinMode (A0, INPUT);
Seriaalne algus (9600);
}
void loop () {
y = analooglugemine (A0);
kui (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
muidu kui (y> 260 && y <310)
{
Keyboard.press ('c');
}
muidu kui (y> 310)
{
Keyboard.press ('p');
}
}
6. samm: MÄNGU JUHTIMINE
muutke mängu juhtelemente järgmiselt
kükitama - x
altid - l
relva vahetus - q
sprint - lk
seista/hüpata - z
öine nägemine - n
ettepoole liikumine - w
granaat - g
Samm 7: SEADISTAMINE
Lõpuks oleme jõudnud viimase sammu juurde, pannes nüüd arduino
lauad kasti ja libistage see kotti
Nüüd ühendage arduino mikro -USB sülearvuti USB -portidega ja ühendage andurid, nagu eespool kirjeldatud
*Ülaltoodud piltidel olevad noolemärgid tähistavad suunda, mida andur peab vaatama
Kui teil on kahtlusi, jätke julgelt kommentaar ja ärge unustage oma kogemusi jagada
See on aitäh ja
BYE.
Soovitan:
DIY klaviatuuri kontroller MAME ja virtuaalse pinballi jaoks: 4 sammu (piltidega)
DIY klaviatuuri kontroller MAME ja virtuaalse pinballi jaoks: see juhiste komplekt võimaldab teil valmistada oma klaviatuurikontrolleri, kasutades vanu klaviatuure mõne traadi, joote ja puutüki hinna eest. Neid kontrollereid on kasutatud minu MAME ja Virtual Pinball projektides .Vt Virtual Pinball Inst
Tagasi põrkama ! Virtuaalse reaalsuse mäng Arduino ja Acclerometer abil: 9 sammu
Tagasi põrkama ! Virtuaalse reaalsuse mäng Arduino ja Acclerometer abil: Selles õpetuses loome virtuaalse reaalsuse mängu, kasutades Arduino ja Acclerometerit
Kumera kasutajaliidese loomine Unity virtuaalse reaalsuse jaoks: 4 sammu
Kumera kasutajaliidese loomine virtuaalse reaalsuse jaoks Unity'is: kui otsite tasuta ja lihtsat lahendust oma virtuaalse reaalsuse rakenduse või VR -mängu jaoks kõvera kasutajaliidese loomiseks, olete õiges kohas. Selles ajaveebis saate teada, kuidas luua Unity UI laienduste abil ühtsuses kõverdatud kasutajaliidese elementi
Virtuaalse reaalsuse peakomplekt-Google'i papp: 4 sammu
Virtuaalse reaalsuse peakomplekt-Google'i papp: Tere, poisid, siin on lihtne õpetus, kuidas teha isetehtud virtuaalse reaalsuse peakomplekti Google Cardboard. Selles peakomplektis on õudusfilmi vaadata valusalt elurõõmus. Ka rulluiskudega sõitmise video on unustamatu kogemus. Hoiatus
EL Wire Stick Man ülikond: 7 sammu
EL Wire Stick Man Suit: Sellel Halloweenil tegin lastele oma esimese EL traadist pulgakostüümi, üldiselt oli see projekt lõbus ehitada ja tulemused on väga rahuldavad. EL traat võib mõnikord jootmiseks valus olla, seega kaaluge oma disaini jaoks vähem liigeste tegemist. Alustame