Inhoudsopgave:
- Stap 1: Vereisten
- Stap 2: HARDWARE
- Stap 3: SOFTWARE
- Stap 4: HOOFDCODE
- Stap 5: TESTCODES
- Stap 6: SPELBEDIENING
- Stap 7: INSTELLEN
Video: Virtual Reality Suit met Arduino 7 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik heb dit project gemaakt om normale computergames in volledige VR te spelen. Dit project emuleert je bewegingen door de toetsen van je toetsenbord in te drukken of vast te houden
Voorbeeld - wanneer u vooruit gaat, wordt de actie van het indrukken van de toets 'w' geëmuleerd.
Ik heb de game Call of Duty 4: Modern Warfare geëmuleerd, maar kies geen games die terugslag hebben tijdens het fotograferen, omdat dit de standaardpositie van de muis zal veranderen
Stap 1: Vereisten
Vereisten zijn-
Er is een lijst vol dingen die je nodig hebt om dit pak te maken
Aanraaksensoren-5
Krachtsensor-1
GPU 6050 - 4
(of)
GPU 6050 - 2 & versnellingsmeter - 2
VR-bril
Vr ingeschakelde telefoon
pc
Wifi hotspot
Een speelgoedpistool
Een pc-game (ik heb Call of Duty- Modern Warfare 1 gebruikt)
Broodplankdraden (mannelijk-vrouwelijk)
ARDUINO LEONARDO-2
Auton schild - 2
Stroombron (lipo)
Regenboog draden
Stap 2: HARDWARE
*reload_pin, shoot_pin, night vision_pin, grenade_pin, wapen change_pin zijn aanraaksensoren. aim_pin is krachtsensor en muis wordt geëmuleerd door MPU6050 andere sensoren zijn versnellingsmeter (houding, beweging1 & 2)
1.1) SOLDEREN:
SOLDEER MPU 6050, versnellingsmeter, aanraaksensor & krachtsensor met de draden
1.2) BEDRADING:
Voor MPU 6050-
Pin 2-SDA
Pin 3-SCL
GND - GND
5v - PWR/VCC
Voor beweging_pin1-
Pin A1-x-as
GND-GND
5v - PWR/VCC
Voor beweging_pin2-
Pin A2-x-as
GND-GND
5v - PWR/VCC
Voor houding_pin-
Pin A0- x-as
GND-GND
5v - PWR/VCC
voor wapen_pin -
sig-5v
GND-GND
5v - PWR/VCC
Voor Reload_pin -
pin12 – 5v
GND-GND
5v - PWR/VCC
Voor Nightvision_pin -
pin 10 – 5v
GND-GND
5v - PWR/VCC
Voor shoot_pin -
Pin7 – 5v
GND-GND
5v - PWR/VCC
Voor aim_pin -
Pin 8 – 5v
5v - PWR/VCC
1.3) SOLDEERDRADEN:
Soldeer de broodplankdraden met de regenboogdraden
1.4) ISOLATIE
Plak de draden vast met de isolatietape op de plaats waar je hebt gesoldeerd om kortsluiting te voorkomen
Stap 3: SOFTWARE
Ik heb een app met de naam 'Remotr' uit de Play Store gebruikt om de video van de laptop naar de telefoon te casten
2.1) AFSTANDSBEDIENING-
Installeer de REMOTR-toepassing op uw computer en maak een account aan
Hier is de link-
remotrapp.com/#download
Installeer de REMOTR-app op uw smartphone
2.2) VIDEO STREAMING
Verbind eerst zowel de computer als hetzelfde WiFi-netwerk en voer uw REMOTR-account in op beide apparaten
voeg nu handmatig de game toe die je wilt streamen in de software
nu toont de app de computer als beheerder klik erop om te beginnen met streamen
Om in VR te streamen, schakel je de vr-modus in op je smartphone
Als je het niet begrijpt, kijk dan op deze link voor gedetailleerde informatie
remotrapp.com/en/howto
Stap 4: HOOFDCODE
De code voor dit project is niet moeilijk of complex, maar lang
Hier is de code, kopieer hem en plak hem in je arduino-bestand
ARDUINO
LEONARDO Muis-
Ik heb Gabry295 doorverwezen. Deze muiscode is gebaseerd op zijn hoofd Muis instructable
#erbij betrekken
#erbij betrekken
#erbij betrekken
#erbij betrekken
int aim_pin;
int shoot_pin;
MPU6050mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
ongeldige setup() {
Serieel.begin(9600);
Muis.begin();
Draad.begin();
mpu.initialiseren();
if (!mpu.testConnection()) {
terwijl (1);
}
pinMode (7, INGANG);
pinMode (8, INGANG);
}
lege lus() {
shoot_pin = digitalRead (7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx-300)/200; // Ik heb -300 en +490 gezet omdat mijn mpu6050 deze waarden laat zien als ik de cheque niet verplaatst
vy = -(gz+490)/200; // controleer de code van de hoofdmuis van Gabry295 voor meer informatie over deze waarden
Mouse.move(vx, vy);
vertraging(20);
while(shoot_pin == HOOG);
{
Muis klik();
}
while(aim_pin == HOOG);
{
Muis klik();
}
}
Leonardo-toetsenbord
#erbij betrekken
int Granaat;
int wapen_pin;
int reload_pin;
int beweging1_pin;
int beweging2_pin;
int houding_pin;
char nightvision_pin;
ongeldige setup()
{
pinMode (7, INGANG);
pinMode (8, INGANG);
pinMode(9, INPUT);
pinMode (10, INGANG);
pinMode (11, INGANG);
pinMode (12, INGANG);
pinMode (A0, INGANG);
pinMode (A1, INGANG);
Toetsenbord.begin();
}
lege lus()
{
Grenade_pin=digitalRead(8);
wapen_pin = digitalRead (9);
beweging1_pin = analoog lezen (A1);
beweging2_pin = analoog lezen (A2);
houding_pin = analoog lezen (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
if(granaat==HOOG)
{
Toetsenbord.press('g');
}
terwijl (weapon_pin == HOOG)
{
Toetsenbord.press('q');
}
while(reload_pin == HOOG)
{
Toetsenbord.press('r');
}
while (beweging1_pin>340&&beweging1_pin<420)
{
Toetsenbord.press('w');
}
terwijl (beweging1_pin>420)
{
Toetsenbord.press('w');
Toetsenbord.press('p');
}
while (beweging2_pin>340&&beweging2_pin<420)
{
Toetsenbord.press('w');
}
terwijl (beweging2_pin>420)
{
Toetsenbord.press('p');
Toetsenbord.press('w');
}
while (posture_pin>340&&posture_pin<420)
{
Toetsenbord.press('c');
}
terwijl (posture_pin>420)
{
Toetsenbord.press('l');
}
terwijl (posture_pin<340)
{
Toetsenbord.press('z');
}
terwijl (nightvision_pin==HIGH)
{
Toetsenbord.press('n');
}
}
}
Stap 5: TESTCODES
Hier zijn de paar codes gescheiden van de hoofdcode volgens de functie:
SCHIETEN-
#erbij betrekken
int x;
ongeldige setup() {
pinMode (8, INGANG);
Muis.begin();
}
lege lus() {
x=digitalRead(8);
if(x==HOOG)
{
Muis.klik('g');
}
}
MIDDELEN-
#erbij betrekken
#erbij betrekken
#erbij betrekken
#erbij betrekken
MPU6050mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
ongeldige setup() {
Serieel.begin(9600);
Muis.begin();
Draad.begin();
mpu.initialiseren();
if (!mpu.testConnection()) {
terwijl (1);
}
}
lege lus() {
shoot_pin = digitalRead (7);
aim_pin = digitalRead(8);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx+300)/200; // "+300" omdat de x-as van de gyroscoop waarden geeft van ongeveer -350 terwijl hij niet beweegt. Wijzig deze waarde als u iets anders krijgt met behulp van de TEST-code, en controleer of er waarden zijn die ver van nul liggen.
vy = -(gz_-100)/200; // hetzelfde hier over "-100"
HERLADEN-
#erbij betrekken
int x;
ongeldige setup() {
pinMode (8, INGANG);
Toetsenbord.begin();
}
lege lus() {
x=digitalRead(8);
if(x==HOOG)
{
Toetsenbord.press('r');
}
anders
{
Toetsenbord.release('r');
}
}
NACHT VISIO #include
int x;
ongeldige setup() {
pinMode (8, INGANG);
Toetsenbord.begin();
}
lege lus() {
x=digitalRead(8);
if(x==HOOG)
{
Toetsenbord.press('g');
}
anders
{
Toetsenbord.release('g');
}
}
KRUIK EN GEVOELIG-
#erbij betrekken
int y;
ongeldige setup() {
pinMode (A0, INGANG);
Serieel.begin(9600);
}
lege lus() {
y=analoogLees(A0);
als(y<260)
{
Toetsenbord.release('c');
Toetsenbord.release('p');
}
anders if(y>260&&y<310)
{
Toetsenbord.press('c');
}
anders als (y>310)
{
Toetsenbord.press('p');
}
}
Stap 6: SPELBEDIENING
verander de spelbesturing als volgt:
hurken - x
vatbaar - ik
wapenwissel - q
sprint - p
staan/springen - z
nachtzicht - n
voorwaartse beweging - w
granaat - g
Stap 7: INSTELLEN
Eindelijk zijn we bij de laatste stap gekomen, zet nu de arduino
planken in een doos en schuif het in de zak
Sluit nu de micro-USB van de arduino aan op de USB-poorten van de laptop en sluit nu de sensoren aan zoals hierboven beschreven
*pijlmarkeringen in de bovenstaande afbeeldingen geven de richting aan waarin de sensor moet kijken
Als je twijfels hebt, aarzel dan niet om een reactie achter te laten en vergeet niet om je ervaring te delen
Dat is het, bedankt en
DOEI.
Aanbevolen:
Gebogen gebruikersinterface in Unity maken voor virtual reality: 4 stappen
Curved UI in Unity creëren voor Virtual Reality: Als u op zoek bent naar een gratis en gemakkelijke oplossing om een gebogen gebruikersinterface voor uw Virtual Reality-toepassing of VR-game te maken, bent u hier aan het juiste adres. In deze blog leer je om een gebogen ui-element in eenheid te maken met behulp van de Unity UI Extensions
Virtual Reality Headset-Google Cardboard: 4 stappen
Virtual Reality Headset-Google Cardboard: Hallo jongens, hier is een eenvoudige tutorial over hoe je Google Cardboard kunt maken, een zelfgemaakte Virtual Reality Headset. Het zal pijnlijk gezellig zijn om een horrorfilm te kijken in deze headset.Ook de achtbaan Ride-video zal een onvergetelijke ervaring zijn.Waarschuwing
Maak je eigen virtual reality-bril: 4 stappen
Maak je eigen Virtual Reality-bril: Materialen:- Kartonnen schoenendoos- Schaar / X-Acto-mes- 2 biconvexe lenzen van 45 mm- 4 stroken klittenband- Lijmstick
Virtual en Mixed Reality-bril: 15 stappen (met afbeeldingen)
Virtual and Mixed Reality Bril: Inleiding: Tijdens de masteropleiding Technology for Concept Design werden we gevraagd om een opkomende technologie te verkennen die past bij ons hoofdproject en deze technologie te testen door een prototype te maken. De technologieën die we hebben gekozen zijn beide Virtual reali
Mobiele virtual reality met behulp van Processing voor Android (TfCD): 7 stappen (met afbeeldingen)
Mobiele virtual reality met behulp van Processing voor Android (TfCD): Virtual Reality (VR) is een van de nieuwe technologieën die interessant kunnen zijn voor toekomstige producten. Het heeft veel mogelijkheden en je hebt niet eens een dure VR-bril (Oculus Rift) nodig. Het lijkt misschien heel moeilijk om zelf te doen, maar de basis is