INHOUDSOPGAWE:
- Stap 1: Vereistes
- Stap 2: HARDWARE
- Stap 3: Sagteware
- Stap 4: HOOFKODE
- Stap 5: TOETSKODES
- Stap 6: SPELBEHEER
- Stap 7: OPSTEL
Video: Pak vir virtuele realiteit met behulp van Arduino: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Ek het hierdie projek geskep om normale rekenaarspeletjies in volle VR te speel. Hierdie projek emuleer u bewegings om die sleutels van u sleutelbord in te hou
Voorbeeld: as u vorentoe beweeg, word die aksie om op die toets 'w' te druk nageboots.
Ek het die spel Call of Duty 4: Modern Warfare nagevolg, maar kies nie speletjies wat terugval tydens skiet nie, want dit sal die standaardposisie van die muis verander
Stap 1: Vereistes
Vereistes is-
Daar is 'n lys vol dinge wat u nodig het om hierdie pak te maak
Raak sensors-5
Force sensor-1
GPU 6050 - 4
(of)
GPU 6050 - 2 en versnellingsmeter - 2
Vr bril
Vr -geaktiveerde telefoon
Rekenaar
WiFi -hotspot
'N Speelgoedgeweer
'N PC-speletjie (ek het Call of Duty- Modern Warfare 1 gebruik)
Broodborddrade (manlik-vroulik)
ARDUINO LEONARDO-2
Auton Sheild - 2
Kragbron (lipo)
Reënboog drade
Stap 2: HARDWARE
*herlaai -speld, skietpennetjie, nagvisie -speld, granaatspeld, wapenveranderingspeld is raaksensors. aim_pin is kragsensor en die muis word deur MPU6050 nagevolg, ander sensors is versnellingsmeter (postuur, beweging1 en 2)
1.1) VERKOOP
SOLDER MPU 6050, versnellingsmeter, aanraaksensor en kragsensor met drade
1.2) BEDRADING
Vir MPU 6050-
Speld 2- SDA
Speld 3- SCL
GND - GND
5v - PWR/VCC
Vir beweging_speld1-
Speld A1- x-as
GND-GND
5v - PWR/VCC
Vir beweging_pin2-
Speld A2- x-as
GND-GND
5v - PWR/VCC
Vir postuur_pen-
Speld A0- x-as
GND-GND
5v - PWR/VCC
vir wapenpen -
sig-5v
GND-GND
5v - PWR/VCC
Vir herlaai_pin -
pen 12 - 5v
GND-GND
5v - PWR/VCC
Vir Nightvision_pin -
pen 10 - 5v
GND-GND
5v - PWR/VCC
Vir shoot_pin -
Speld 7 - 5v
GND-GND
5v - PWR/VCC
Vir aim_pin -
Speld 8 - 5v
5v - PWR/VCC
1.3) VERKOOPDRAADE
Soldeer die broodborddrade met die reënboogdrade
1.4) ISOLASIE
Plak die drade vas met die isolasieband op die plek waar u gesoldeer het om kortsluitings te vermy
Stap 3: Sagteware
Ek het 'n app genaamd 'Remotr' van Play Store gebruik om die video van die skootrekenaar na die telefoon te gooi
2.1) REMOTR-
Installeer die REMOTR -toepassing op u rekenaar en skep 'n rekening
Hier is die skakel-
remotrapp.com/#download
Installeer REMOTR -app op u slimfoon
2.2) VIDEO STREAMING
Koppel eers die rekenaar en dieselfde WiFi -netwerk aan en voer u REMOTR -rekening in op beide toestelle
voeg nou die spel wat u wil stroom handmatig by in die sagteware
nou wys die app die rekenaar terwyl die admin daarop klik om te begin stroom
Aktiveer die VR -modus op u slimfoon om in VR te stroom
As u dit nie kan verstaan nie, kyk na hierdie skakel vir gedetailleerde inligting
remotrapp.com/en/howto
Stap 4: HOOFKODE
Die kode vir hierdie projek is nie moeilik of kompleks nie, maar lank
Hier is die kode, kopieer dit en plak dit in u arduino -lêer
ARDUINO
LEONARDO Muis-
Ek het Gabry295 verwys. Hierdie muis kode is gebaseer op sy kop Muis instrueerbaar
#insluit
#insluit
#insluit
#insluit
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t byl, ay, az, gx, gy, gz;
int vx, vy;
ongeldige opstelling () {
Serial.begin (9600);
Muis.begin ();
Wire.begin ();
mpu.initialize ();
as (! mpu.testConnection ()) {
terwyl (1);
}
pinMode (7, INVOER);
pinMode (8, INVOER);
}
leemte -lus () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Ek het -300 en +490 geplaas, aangesien my mpu6050 hierdie waardes wys as ek nie die tjek beweeg nie
vy = -(gz+490)/200; // kyk na die kode van die kopmuis deur Gabry295 vir meer inligting oor hierdie waardes
Muis.move (vx, vy);
vertraging (20);
terwyl (shoot_pin == HOOG);
{
Muis.kliek ();
}
terwyl (aim_pin == HOOG);
{
Muis.kliek ();
}
}
Leonardo -sleutelbord
#insluit
int Granaat;
int wapenpennetjie;
int herlaai_pin;
int beweging1_pin;
int beweging2_pin;
int postuur_pen;
char nightvision_pin;
leemte opstelling ()
{
pinMode (7, INVOER);
pinMode (8, INVOER);
pinMode (9, INVOER);
pinMode (10, INVOER);
pinMode (11, INVOER);
pinMode (12, INVOER);
pinMode (A0, INVOER);
pinMode (A1, INVOER);
Keyboard.begin ();
}
leemte lus ()
{
Grenade_pin = digitalRead (8);
wapenpennetjie = digitalRead (9);
movement1_pin = analogRead (A1);
movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
herlaai_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
as (granaat == HOOG)
{
Keyboard.press ('g');
}
terwyl (wapenpennetjie == HOOG)
{
Keyboard.press ('q');
}
terwyl (herlaai_speld == HOOG)
{
Keyboard.press ('r');
}
terwyl (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
terwyl (beweging1_speld> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
terwyl (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
terwyl (beweging2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
terwyl (postuurpeld> 340 && postuurpennetjie <420)
{
Keyboard.press ('c');
}
terwyl (postuurpeld> 420)
{
Keyboard.press ('l');
}
terwyl (postuurpennetjie <340)
{
Keyboard.press ('z');
}
terwyl (nightvision_pin == HOOG)
{
Keyboard.press ('n ');
}
}
}
Stap 5: TOETSKODES
Hier is die paar kodes wat volgens die funksie van die hoofkode verdeel is
SKIET-
#insluit
int x;
ongeldige opstelling () {
pinMode (8, INVOER);
Muis.begin ();
}
leemte -lus () {
x = digitalRead (8);
as (x == HOOG)
{
Muis.kliek ('g');
}
}
MIK-
#insluit
#insluit
#insluit
#insluit
MPU6050 mpu;
int16_t byl, ay, az, gx, gy, gz;
int vx, vy;
ongeldige opstelling () {
Serial.begin (9600);
Muis.begin ();
Wire.begin ();
mpu.initialize ();
as (! mpu.testConnection ()) {
terwyl (1);
}
}
leemte -lus () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300" omdat die x -as van die gyroscoop waardes van ongeveer -350 gee terwyl dit nie beweeg nie. Verander hierdie waarde as u iets anders kry met behulp van die TEST -kode, as dit waardes ver van nul af is.
vy = -(gz_ -100)/200; // dieselfde hier omtrent "-100"
HERLADING-
#insluit
int x;
ongeldige opstelling () {
pinMode (8, INVOER);
Keyboard.begin ();
}
leemte -lus () {
x = digitalRead (8);
as (x == HOOG)
{
Keyboard.press ('r');
}
anders
{
Sleutelbord.vrystelling ('r');
}
}
NAGVISIO #sluit in
int x;
ongeldige opstelling () {
pinMode (8, INVOER);
Keyboard.begin ();
}
leemte -lus () {
x = digitalRead (8);
as (x == HOOG)
{
Sleutelbord.pers ('g');
}
anders
{
Sleutelbord.vrystelling ('g');
}
}
CROUCH EN GETUIG-
#insluit
int y;
ongeldige opstelling () {
pinMode (A0, INVOER);
Serial.begin (9600);
}
leemte -lus () {
y = analogRead (A0);
as (y <260)
{
Sleutelbord.vrystelling ('c');
Sleutelbord.vrystelling ('p');
}
anders as (y> 260 && y <310)
{
Keyboard.press ('c');
}
anders as (y> 310)
{
Keyboard.press ('p');
}
}
Stap 6: SPELBEHEER
verander die spelkontroles soos volg
hurk - x
geneig - l
wapenverandering - q
sprint - bl
staan/spring - z
nagvisie - n
beweging vorentoe - w
granaat - g
Stap 7: OPSTEL
Uiteindelik het ons by die laaste stap gekom, nou sit die arduino
borde in 'n boks en steek dit in die sak
Koppel nou die mikro -USB van die arduino aan die USB -poorte van 'n skootrekenaar, en koppel die sensors nou soos hierbo aangedui
*pyltjies op die foto's hierbo verteenwoordig die rigting waarheen die sensor moet kyk
As u twyfel, moet asseblief nie 'n opmerking lewer nie en moenie vergeet om u ervaring te deel nie
Dit is dit dankie en
Totsiens.
Aanbeveel:
Virtuele realiteit op Raspberry Pi met BeYourHero !: 19 stappe (met foto's)
Virtuele realiteit op Raspberry Pi met BeYourHero!: Welkom by " Wees jou held " projek! Ek hoop dat u gereed is om die volgende generasie onderdompeling in Virtual Reality aan te gaan! Hierdie projek gee u volledige gebaarbeheer oor enige virtuele held wat u wil, met 'n eenvoudige stel goedkoop toestelle met behulp van
Skep geboë gebruikersinterface in eenheid vir virtuele realiteit: 4 stappe
Die skep van geboë gebruikersinterface in eenheid vir virtuele realiteit: as u op soek is na 'n gratis en maklike oplossing om 'n geboë gebruikerskoppelvlak vir u Virtual Reality -toepassing of VR -speletjie te skep, is u op die regte plek. In hierdie blog leer u hoe u 'n geboë ui -element in eenheid kan skep met behulp van die Unity UI -uitbreidings
Headset vir virtuele realiteit-Google-karton: 4 stappe
Virtual Reality Headset-Google Cardboard: Hi ouens, hier is 'n eenvoudige handleiding vir die maak van Google Cardboard, 'n tuisgemaakte Virtual Reality Headset. Dit sal pynlik gemaklik wees om na 'n gruwelfilm in hierdie headset te kyk. Ook 'n achtbaan -ritvideo sal 'n onvergeetlike ervaring wees. Waarskuwing
Maak u eie bril vir virtuele realiteit: 4 stappe
Maak u eie bril vir virtuele werklikheid: materiale:- kartondoos, skêr / skêr / X-Acto-mes- 2 45 mm bikonvekse lense- 4 stroke klittenband- gluestick
Mobiele virtuele realiteit met behulp van verwerking vir Android (TfCD): 7 stappe (met foto's)
Mobiele virtuele realiteit met behulp van verwerking vir Android (TfCD): Virtual Reality (VR) is een van die nuwe tegnologieë wat interessant kan wees, is toekomstige produkte. Dit bied baie geleenthede en u het nie eens 'n duur VR -bril nodig nie (Oculus Rift). Dit lyk miskien baie moeilik om self te doen, maar die basiese beginsels is