Innehållsförteckning:
- Steg 1: Krav
- Steg 2: HARDWARE
- Steg 3: PROGRAMVARA
- Steg 4: HUVUDKOD
- Steg 5: TESTKODER
- Steg 6: SPELKONTROLLER
- Steg 7: INSTÄLLNING
Video: Virtual Reality -kostym med Arduino: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Jag har skapat det här projektet för att spela vanliga dataspel i full VR. Detta projekt emulerar dina rörelser till att trycka eller hålla tangenterna på tangentbordet
Exempel- när du går framåt emuleras åtgärden med att trycka på knappen 'w'.
Jag har emulerat spelet Call of Duty 4: Modern Warfare men väljer inte spel som har rekyl under fotografering eftersom det kommer att ändra musens standardposition
Steg 1: Krav
Kraven är-
Det finns en lista med saker du behöver för att göra den här kostymen
Touch-sensorer-5
Kraftsensor-1
GPU 6050 - 4
(eller)
GPU 6050 - 2 och accelerometer - 2
VR glasögon
VR -aktiverad telefon
PC
WiFi -hotspot
En leksakspistol
Ett PC-spel (jag har använt Call of Duty- Modern Warfare 1)
Brödbrädetrådar (Man-Kvinna)
ARDUINO LEONARDO-2
Auton Sheild - 2
Strömkälla (lipo)
Regnbågstrådar
Steg 2: HARDWARE
*reload_pin, shoot_pin, night vision_pin, granate_pin, weapon change_pin är beröringssensorer. aim_pin är kraftsensor och musen emuleras av MPU6050 andra sensorer är accelerometer (hållning, rörelse1 & 2)
1.1) SÄLJNING
SOLDER MPU 6050, Accelerometer, Touch Sensor & kraftsensor med trådarna
1.2) KOPPLING
För MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
För movement_pin1-
Pin A1- x axel
GND-GND
5v - PWR/VCC
För movement_pin2-
Pin A2- x axel
GND-GND
5v - PWR/VCC
För posture_pin-
Pin A0- x axel
GND-GND
5v - PWR/VCC
för vapen_nål -
sig-5v
GND-GND
5v - PWR/VCC
För Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
För Nightvision_pin -
stift 10 - 5v
GND-GND
5v - PWR/VCC
För shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
För aim_pin -
Stift 8 - 5v
5v - PWR/VCC
1.3) SÄLJNINGSKABEL
Löd brödbrädans trådar med regnbågstrådarna
1.4) ISOLERING
Tejpa trådarna med isoleringstejpen på den plats där du har lödt för att undvika kortslutning
Steg 3: PROGRAMVARA
Jag har använt en app som heter 'Remotr' från Play store för att casta videon från den bärbara datorn till telefonen
2.1) REMOTR-
Installera REMOTR -programmet på din dator och skapa ett konto
Här är länken-
remotrapp.com/#download
Installera REMOTR -appen i din smartphone
2.2) VIDEO STREAMING
Anslut först både datorn och samma WiFi -nätverk och ange ditt REMOTR -konto i båda enheterna
lägg nu till spelet manuellt som du vill strömma i programmet manuellt
nu kommer appen att visa datorn som admin klicka på den för att börja strömma
För att strömma i VR aktivera vr -läge i din smartphone
Om du inte förstår Kontrollera den här länken för detaljerad information
remotrapp.com/en/howto
Steg 4: HUVUDKOD
Koden för detta projekt är inte hård eller komplex utan en lång
Här är koden, bara kopiera den och klistra in den i din arduino -fil
ARDUINO
LEONARDO Mus-
Jag har refererat Gabry295. Denna muskod är baserad på hans huvud Mus instruerbar
#omfatta
#omfatta
#omfatta
#omfatta
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
medan (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; // Jag har satt -300 och +490 eftersom min mpu6050 visar dessa värden när jag inte flyttar check
vy = -(gz+490)/200; // kolla koden för huvudmus från Gabry295 för mer information om dessa värden
Mouse.move (vx, vy);
fördröjning (20);
medan (shoot_pin == HIGH);
{
Mus.klick ();
}
medan (aim_pin == HIGH);
{
Mus.klick ();
}
}
Leonardo -tangentbord
#omfatta
int Granat;
int vapen_nål;
int reload_pin;
int movement1_pin;
int movement2_pin;
int posture_pin;
char nightvision_pin;
void setup ()
{
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 ();
}
void loop ()
{
Grenade_pin = digitalRead (8);
weapon_pin = digitalRead (9);
movement1_pin = analogRead (A1);
movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
om (granat == HÖG)
{
Tangentbord. Tryck ('g');
}
medan (vapen_nål == HÖG)
{
Keyboard.press ('q');
}
medan (reload_pin == HIGH)
{
Keyboard.press ('r');
}
medan (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
medan (rörelse1_nål> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
medan (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
medan (rörelse2_nål> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
medan (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
medan (posture_pin> 420)
{
Keyboard.press ('l');
}
medan (posture_pin <340)
{
Keyboard.press ('z');
}
medan (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Steg 5: TESTKODER
Här är de få koder som är uppdelade från huvudkoden enligt funktionen
SKYTTE-
#omfatta
int x;
void setup () {
pinMode (8, INPUT);
Mouse.begin ();
}
void loop () {
x = digitalRead (8);
om (x == HIGH)
{
Mus.klick ('g');
}
}
SIKTER-
#omfatta
#omfatta
#omfatta
#omfatta
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
medan (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300" eftersom gyroskopets x -axel ger värden om -350 medan den inte rör sig. Ändra detta värde om du får något annat med hjälp av TEST -koden, chacking om det finns värden långt från noll.
vy = -(gz_ -100)/200; // samma här om "-100"
OMLADNING-
#omfatta
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
om (x == HIGH)
{
Keyboard.press ('r');
}
annan
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
void setup () {
pinMode (8, INPUT);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
om (x == HIGH)
{
Keyboard.press ('g');
}
annan
{
Keyboard.release ('g');
}
}
KRYCH OCH NÖJD-
#omfatta
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
void loop () {
y = analogRead (A0);
om (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
annars om (y> 260 && y <310)
{
Keyboard.press ('c');
}
annars om (y> 310)
{
Keyboard.press ('p');
}
}
Steg 6: SPELKONTROLLER
ändra spelkontrollerna enligt följande
huka - x
benägen - l
vapenbyte - q
sprint - sid
stå/hoppa - z
nattsyn - n
rörelse framåt - w
granat - g
Steg 7: INSTÄLLNING
Äntligen har vi kommit till det sista steget nu sätta arduino
brädor i en låda och skjut in den i påsen
Anslut nu arduinoens mikro -USB till USB -portarna på den bärbara datorn. Anslut nu sensorerna enligt ovan
*pilmärken i bilderna ovan representerar den riktning sensorn måste vända
Om du har några tvivel tveka inte att lämna en kommentar och glöm inte att dela din erfarenhet
Det är det tack och
HEJDÅ.
Rekommenderad:
Virtual Reality på Raspberry Pi med BeYourHero !: 19 steg (med bilder)
Virtual Reality på Raspberry Pi med BeYourHero !: Välkommen till " Be Your Hero " Jag hoppas att du är redo att gå in i nästa generation av Virtual Reality -nedsänkning! Detta projekt ger dig full gestkontroll över alla virtuella hjältar du gillar med en enkel uppsättning billiga enheter som använder sig av
Virtual Reality Controlled RC Car: 9 steg
Virtual Reality Controlled RC Car: Har du någonsin velat krympa ner och testa ett hantverk som Innerspace eller Fantastic Voyage? Jag tror att det här är så nära som du kommer att få med kort varsel! Här är planen: En bil från Real-Life-fjärrkontrollen som styrdes från en Virtual Reality-kommando
Studsa tillbaka ! Virtual Reality -spel med Arduino & Acclerometer: 9 steg
Studsa tillbaka ! Virtual Reality -spel med Arduino & Acclerometer: I denna handledning kommer vi att skapa ett Virtual Reality -spel med Arduino och Acclerometer
Skapa krökt UI i Unity för Virtual Reality: 4 steg
Skapa krökt UI i Unity för Virtual Reality: Om du letar efter en gratis och enkel lösning för att skapa ett krökt användargränssnitt för ditt Virtual Reality -program eller VR -spel är du på rätt plats. I den här bloggen lär du dig att skapa ett krökt ui -element i enhet med Unity UI -tillägg.
Virtual Reality Headset-Google Cardboard: 4 steg
Virtual Reality Headset-Google Cardboard: Hej killar här är en enkel handledning om hur du gör Google Cardboard, ett hemlagat Virtual Reality Headset. Det kommer att vara smärtsamt trevligt att se en skräckfilm i detta headset. Även berg- och dalbana Ride -video kommer också att bli en oförglömlig upplevelse. Varning