Innholdsfortegnelse:
- Trinn 1: Krav
- Trinn 2: MASKIN
- Trinn 3: PROGRAMVARE
- Trinn 4: HOVEDKODE
- Trinn 5: TESTKODER
- Trinn 6: SPILLKONTROLLER
- Trinn 7: OPPSETT
Video: Virtual Reality -drakt ved bruk av Arduino: 7 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Jeg har laget dette prosjektet for å spille vanlige dataspill i full VR. Dette prosjektet emulerer bevegelsene dine til å trykke eller holde tastene på tastaturet
Eksempel- når du går fremover, blir handlingen med å trykke "w" etterlignet.
Jeg har etterlignet spillet Call of Duty 4: Modern Warfare, men ikke velg spill som har rekyl under skyting fordi det vil endre standardposisjonen til musen
Trinn 1: Krav
Krav er-
Det er en liste full av ting du trenger for å lage denne drakten
Berøringssensorer-5
Force sensor-1
GPU 6050 - 4
(eller)
GPU 6050 - 2 og akselerometer - 2
Vr briller
VR -aktivert telefon
PC
WiFi -hotspot
En lekepistol
Et pc-spill (jeg har brukt Call of Duty- Modern Warfare 1)
Brødbrettledninger (Mann-Kvinne)
ARDUINO LEONARDO-2
Auton Sheild - 2
Strømkilde (lipo)
Regnbue ledninger
Trinn 2: MASKIN
*reload_pin, shoot_pin, night vision_pin, granate_pin, weapon change_pin er berøringssensorer. aim_pin er kraftsensor og mus er etterlignet av MPU6050 andre sensorer er akselerometer (holdning, bevegelse1 og 2)
1.1) SELDING
SOLDER MPU 6050, akselerometer, berøringssensor og kraftsensor med ledningene
1.2) KOBLING
For MPU 6050-
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
For movement_pin1-
Pin A1- x-akse
GND-GND
5v - PWR/VCC
For movement_pin2-
Pin A2- x-akse
GND-GND
5v - PWR/VCC
For holdning_nål-
Pin A0- x-akse
GND-GND
5v - PWR/VCC
for weapon_pin -
sig-5v
GND-GND
5v - PWR/VCC
For Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
For Nightvision_pin -
pinne 10 - 5v
GND-GND
5v - PWR/VCC
For shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
For aim_pin -
Pin 8 - 5v
5v - PWR/VCC
1.3) SELDERKOBLER
Lodd brødbretttrådene med regnbuetrådene
1.4) ISOLERING
Tape ledningene med isolasjonstape på stedet der du har loddet for å unngå kortslutning
Trinn 3: PROGRAMVARE
Jeg har brukt en app som heter 'Remotr' fra Play -butikken for å caste videoen fra den bærbare datamaskinen til telefonen
2.1) REMOTR-
Installer REMOTR -programmet på datamaskinen din og opprett en konto
Her er lenken-
remotrapp.com/#download
Installer REMOTR -appen i smarttelefonen din
2.2) VIDEO STREAMING
Koble først både datamaskinen og det samme WiFi -nettverket og skriv inn REMOTR -kontoen din på begge enhetene
legg nå til spillet manuelt som du vil streame manuelt i programvaren
nå vil appen vise datamaskinen som admin klikk på den for å starte streaming
For å streame i VR, aktiver vr -modus i smarttelefonen
Hvis du ikke forstår Sjekk denne lenken for detaljert informasjon
remotrapp.com/en/howto
Trinn 4: HOVEDKODE
Koden for dette prosjektet er ikke tøff eller kompleks, men lang
Her er koden, bare kopier den og lim den inn i arduino -filen
ARDUINO
LEONARDO Mus-
Jeg har referert til Gabry295. Denne musekoden er basert på hodet hans Mus som kan instrueres
#inkludere
#inkludere
#inkludere
#inkludere
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
ugyldig oppsett () {
Serial.begin (9600);
Mus.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
mens (1);
}
pinMode (7, INNGANG);
pinMode (8, INNGANG);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Jeg har satt -300 og +490 som min mpu6050 viser disse verdiene når jeg ikke beveger meg
vy = -(gz+490)/200; // sjekk koden for hodemus av Gabry295 for mer informasjon om disse verdiene
Mus.move (vx, vy);
forsinkelse (20);
mens (shoot_pin == HIGH);
{
Mus. Klikk ();
}
mens (aim_pin == HIGH);
{
Mus. Klikk ();
}
}
Leonardo tastatur
#inkludere
int Granat;
int weapon_pin;
int reload_pin;
int movement1_pin;
int movement2_pin;
int posture_pin;
char nightvision_pin;
ugyldig oppsett ()
{
pinMode (7, INNGANG);
pinMode (8, INNGANG);
pinMode (9, INNGANG);
pinMode (10, INNGANG);
pinMode (11, INNGANG);
pinMode (12, INNGANG);
pinMode (A0, INNGANG);
pinMode (A1, INNGANG);
Keyboard.begin ();
}
hulrom ()
{
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);
hvis (granat == HØY)
{
Tastatur. Trykk ('g');
}
mens (vapenpinne == HØY)
{
Tastatur. Trykk ('q');
}
mens (reload_pin == HIGH)
{
Keyboard.press ('r');
}
mens (movement1_pin> 340 && movement1_pin <420)
{
Tastatur. Trykk ('w');
}
mens (bevegelse1_nål> 420)
{
Tastatur. Trykk ('w');
Keyboard.press ('p');
}
mens (movement2_pin> 340 && movement2_pin <420)
{
Tastatur. Trykk ('w');
}
mens (movement2_pin> 420)
{
Keyboard.press ('p');
Tastatur. Trykk ('w');
}
mens (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
mens (holdning_nål> 420)
{
Tastatur. Trykk ('l');
}
mens (holdning_nål <340)
{
Keyboard.press ('z');
}
mens (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Trinn 5: TESTKODER
Her er de få kodene delt fra hovedkoden i henhold til funksjonen
SKYTE-
#inkludere
int x;
ugyldig oppsett () {
pinMode (8, INNGANG);
Mus.begin ();
}
void loop () {
x = digitalRead (8);
hvis (x == HØY)
{
Mus. Klikk ('g');
}
}
SIKTER-
#inkludere
#inkludere
#inkludere
#inkludere
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
ugyldig oppsett () {
Serial.begin (9600);
Mus.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
mens (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300" fordi x -aksen til gyroskopet gir verdier om -350 mens den ikke beveger seg. Endre denne verdien hvis du får noe annerledes ved hjelp av TEST -koden, hvis du har verdier langt fra null.
vy = -(gz_ -100)/200; // samme her om "-100"
LASTING-
#inkludere
int x;
ugyldig oppsett () {
pinMode (8, INNGANG);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
hvis (x == HØY)
{
Keyboard.press ('r');
}
ellers
{
Keyboard.release ('r');
}
}
NIGHT VISIO #include
int x;
ugyldig oppsett () {
pinMode (8, INNGANG);
Keyboard.begin ();
}
void loop () {
x = digitalRead (8);
hvis (x == HØY)
{
Keyboard.press ('g');
}
ellers
{
Tastatur. Utgivelse ('g');
}
}
CROUCH OG utsatt-
#inkludere
int y;
ugyldig oppsett () {
pinMode (A0, INNGANG);
Serial.begin (9600);
}
void loop () {
y = analogRead (A0);
hvis (y <260)
{
Keyboard.release ('c');
Tastatur. Utgivelse ('p');
}
annet hvis (y> 260 && y <310)
{
Keyboard.press ('c');
}
annet hvis (y> 310)
{
Keyboard.press ('p');
}
}
Trinn 6: SPILLKONTROLLER
endre spillkontrollene som følger
huk - x
utsatt - l
bytte av våpen - q
sprint - s
stå/hoppe - z
nattsyn - n
bevegelse fremover - w
granat - g
Trinn 7: OPPSETT
Endelig har vi kommet til det siste trinnet nå sette arduino
brett i en eske og legg den i posen
Koble nå mikro -USB -en til arduinoen til USB -portene på den bærbare datamaskinen. Koble nå til sensorene som beskrevet ovenfor
*pilene på bildene ovenfor representerer retningen sensoren må vende
Hvis du er i tvil, ikke nøl med å legge igjen en kommentar og ikke glem å dele din erfaring
Det er det takk og
HA DET.
Anbefalt:
Virtual Reality på Raspberry Pi With BeYourHero !: 19 trinn (med bilder)
Virtual Reality on Raspberry Pi With BeYourHero !: Velkommen til " Be Your Hero " prosjekt! Jeg håper du er klar til å gå inn i neste generasjon Virtual Reality nedsenking! Dette prosjektet gir deg full gestkontroll av enhver virtuell helt du liker med et enkelt sett med billige enheter som bruker se
Hopp tilbake! Virtual Reality -spill ved hjelp av Arduino & Acclerometer: 9 trinn
Hopp tilbake! Virtual Reality Game Using Arduino & Acclerometer: I denne opplæringen skal vi lage et Virtual Reality -spill ved hjelp av Arduino og Acclerometer
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter - Rc Helikopter - RC -fly som bruker Arduino: 5 trinn (med bilder)
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter | Rc Helikopter | Rc -fly ved bruk av Arduino: For å betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båt, vi trenger alltid en mottaker og sender, anta at for RC QUADCOPTER trenger vi en 6 -kanals sender og mottaker, og den typen TX og RX er for kostbar, så vi lager en på vår
Kapasitansmåler med TM1637 ved bruk av Arduino .: 5 trinn (med bilder)
Kapasitansmåler med TM1637 ved bruk av Arduino .: Hvordan lage en kapasitansmåler ved hjelp av Arduino som vises på TM1637. Fra 1 uF til ca 2000 uF
Virtual og Mixed Reality -briller: 15 trinn (med bilder)
Virtual and Mixed Reality Glasses: Introduksjon: Under masterkurset Technology for Concept Design ble vi bedt om å utforske en ny teknologi som passer vårt hovedprosjekt og å teste denne teknologien ved å lage en prototype. Teknologiene vi valgte er begge virtuelle virkeligheter