Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Olen luonut tämän projektin pelaamaan normaaleja tietokonepelejä täydellä VR: llä. Tämä projekti jäljittelee liikkeitäsi näppäimistön näppäinten painamiseen tai pitämiseen
Esimerkki- kun siirryt eteenpäin, näppäimen "w" painallus emuloidaan.
Olen jäljitellut peliä Call of Duty 4: Modern Warfare, mutta älä valitse pelejä, joilla on takaisku kuvaamisen aikana, koska se muuttaa hiiren oletusasentoa
Vaihe 1: Vaatimukset
Vaatimukset ovat-
On luettelo täynnä asioita, joita tarvitset tämän puvun tekemiseen
Kosketusanturit-5
Voima-anturi-1
GPU 6050-4
(tai)
GPU 6050-2 ja kiihtyvyysanturi - 2
Vr lasit
Vr -yhteensopiva puhelin
PC
WLAN-yhteyspiste
Leluase
PC-peli (olen käyttänyt Call of Duty- Modern Warfare 1)
Leipälevyn johdot (uros-naaras)
ARDUINO LEONARDO-2
Autonika - 2
Virtalähde (lipo)
Sateenkaari johdot
Vaihe 2: LAITTEISTO
*reload_pin, shoot_pin, night vision_pin, grenade_pin, ase change_pin ovat kosketusantureita. aim_pin on voima -anturi ja hiiri on emuloitu MPU6050: n avulla, muut anturit ovat kiihtyvyysanturi (asento, liike1 ja 2)
1.1) JUOTTO
JUOTIN MPU 6050, kiihtyvyysmittari, kosketusanturi ja voima -anturi johtimien kanssa
1.2) KYTKENTÄ
MPU 6050-
Nasta 2- SDA
Nasta 3- SCL
GND - GND
5v - PWR/VCC
Liikkeelle_pin1-
Tappi A1- x akseli
GND-GND
5v - PWR/VCC
Liikkeelle_nappi2-
Tappi A2- x akseli
GND-GND
5v - PWR/VCC
Posture_pin-
Tappi A0- x akseli
GND-GND
5v - PWR/VCC
ase_pins - varten
sig-5v
GND-GND
5v - PWR/VCC
Reload_pin -
nasta 12 - 5v
GND-GND
5v - PWR/VCC
For Nightvision_pin -
nasta 10-5v
GND-GND
5v - PWR/VCC
Shoot_pinille -
Nasta 7 - 5v
GND-GND
5v - PWR/VCC
For aim_pin -
Nasta 8-5v
5v - PWR/VCC
1.3) JUOTOKSET
Juotos leipälevyn johdot sateenkaarilangoilla
1.4) ERISTYS
Teippaa johdot eristysnauhalla siihen kohtaan, jossa olet juottanut oikosulkujen välttämiseksi
Vaihe 3: OHJELMISTOT
Olen käyttänyt Play Kaupan Remotr -sovellusta videon lähettämiseen kannettavasta tietokoneesta puhelimeen
2.1) REMOTR-
Asenna REMOTR -sovellus tietokoneellesi ja luo tili
Tässä on linkki-
remotrapp.com/#download
Asenna REMOTR -sovellus älypuhelimeesi
2.2) VIDEON Suoratoisto
Liitä ensin tietokone ja sama WiFi -verkko ja kirjoita REMOTR -tilisi molempiin laitteisiin
lisää nyt peli, jonka haluat suoratoistaa ohjelmistoon manuaalisesti
nyt sovellus näyttää tietokoneen järjestelmänvalvojana napsauttamalla sitä aloittaaksesi suoratoiston
Jos haluat suoratoistaa VR: ssä, ota käyttöön älypuhelimen VR -tila
Jos et ymmärrä, tarkista tästä linkistä
remotrapp.com/en/howto
Vaihe 4: PÄÄKOODI
Tämän projektin koodi ei ole kova tai monimutkainen, mutta pitkä
Tässä on koodi vain kopioi se ja liitä se arduino -tiedostoosi
ARDUINO
LEONARDO Hiiri-
Olen viitannut Gabry295: een. Tämä hiirikoodi perustuu hänen päähänsä Hiiri ohjeistettavissa
#sisältää
#sisältää
#sisältää
#sisältää
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t kirves, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Sarja.alku (9600);
Hiiri.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
kun taas (1);
}
pinMode (7, TULO);
pinMode (8, TULO);
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Olen asettanut -300 ja +490, koska mpu6050 näyttää nämä arvot, kun se ei liiku
vy = -(gz+490)/200; // tarkista Gabry295: n päähiiren koodi saadaksesi lisätietoja näistä arvoista
Hiiri.liike (vx, vy);
viive (20);
while (shoot_pin == HIGH);
{
Hiiri. Napsauta ();
}
while (aim_pin == HIGH);
{
Hiiri. Napsauta ();
}
}
Leonardo -näppäimistö
#sisältää
int Kranaatti;
int ase_neula;
int reload_pin;
int motion1_pin;
int liike2_pin;
int posture_pin;
char nightvision_pin;
mitätön asennus ()
{
pinMode (7, TULO);
pinMode (8, TULO);
pinMode (9, TULO);
pinMode (10, TULO);
pinMode (11, TULO);
pinMode (12, TULO);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Näppäimistö.begin ();
}
tyhjä silmukka ()
{
Grenade_pin = digitalRead (8);
aseen_neula = digitalRead (9);
motion1_pin = analoginenLue (A1);
motion2_pin = analoginenLue (A2);
asento_nasta = analoginenLue (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
jos (kranaatti == KORKEA)
{
Keyboard.press ('g');
}
while (aseen_nasta == KORKEA)
{
Keyboard.press ('q');
}
while (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (liike1_pin> 340 &&liike1_pin <420)
{
Keyboard.press ('w');
}
samalla (liike1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
kun taas (motion2_pin> 340 && motion2_pin <420)
{
Keyboard.press ('w');
}
samalla (liike2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
samalla (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
samalla (asento_nasta> 420)
{
Keyboard.press ('l');
}
samalla (asento_neula <340)
{
Keyboard.press ('z');
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Vaihe 5: TESTIKOODIT
Tässä on muutamia koodeja, jotka on jaettu pääkoodista toiminnon mukaan
AMMUNTA-
#sisältää
int x;
void setup () {
pinMode (8, TULO);
Hiiri.begin ();
}
void loop () {
x = digitaalinen luku (8);
jos (x == KORKEA)
{
Hiiri.click ('g');
}
}
TAVOITTEET-
#sisältää
#sisältää
#sisältää
#sisältää
MPU6050 mpu;
int16_t kirves, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Sarja.alku (9600);
Hiiri.begin ();
Wire.begin ();
mpu.initialize ();
if (! mpu.testConnection ()) {
kun taas (1);
}
}
void loop () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // "+300", koska gyroskoopin x -akseli antaa arvoja noin -350, kun se ei liiku. Muuta tätä arvoa, jos saat jotain muuta käyttämällä TEST -koodia ja tarkista, onko arvoja kaukana nollasta.
vy = -(gz_ -100)/200; // sama täällä "-100"
LATAA-
#sisältää
int x;
void setup () {
pinMode (8, TULO);
Näppäimistö.begin ();
}
void loop () {
x = digitaalinen luku (8);
jos (x == KORKEA)
{
Keyboard.press ('r');
}
muu
{
Keyboard.release ('r');
}
}
YÖNÄKYMÄ #sisältö
int x;
void setup () {
pinMode (8, TULO);
Näppäimistö.begin ();
}
void loop () {
x = digitaalinen luku (8);
jos (x == KORKEA)
{
Keyboard.press ('g');
}
muu
{
Keyboard.release ('g');
}
}
KIINNITYS JA MAHA
#sisältää
int y;
void setup () {
pinMode (A0, INPUT);
Sarja.alku (9600);
}
void loop () {
y = analoginen luku (A0);
jos (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
muuten jos (y> 260 && y <310)
{
Keyboard.press ('c');
}
muuten jos (y> 310)
{
Keyboard.press ('p');
}
}
Vaihe 6: PELISÄÄTIMET
muuttaa peliohjaimia seuraavasti
kyyristyä - x
altis - l
aseen vaihto - q
sprintti - s
seistä/hypätä - z
pimeänäkö - n
eteenpäin suuntautuva liike - w
kranaatti - g
Vaihe 7: ASETUKSET
Lopulta olemme tulleet viimeiseen vaiheeseen, joka nyt laittaa arduino
laudat laatikkoon ja työnnä se pussiin
Liitä nyt arduinon mikro -USB kannettavan tietokoneen USB -portteihin ja liitä nyt anturit yllä kuvatulla tavalla
*Yllä olevissa kuvissa olevat nuolimerkit osoittavat anturin suunnan
Jos sinulla on epäilyksiä, älä epäröi jättää kommenttia äläkä unohda jakaa kokemustasi
Siinä se kiitos ja
HEI HEI.