Բովանդակություն:
- Քայլ 1: Պահանջներ
- Քայլ 2: HARDWARE
- Քայլ 3: FՐԱԳԻՐ
- Քայլ 4: ՀԻՄՆԱԿԱՆ ԿՈԴ
- Քայլ 5. ԹԵՍՏ ԿՈԴԵՐ
- Քայլ 6: ԽԱԻ ԿՈՆՏՐՈԼՆԵՐ
- Քայլ 7: ԿԱՐԳԱՎՈՐՈՄ
Video: Վիրտուալ իրականության հայց Arduino- ի միջոցով. 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ես ստեղծել եմ այս նախագիծը ՝ սովորական համակարգչային խաղեր լիարժեք VR- ով խաղալու համար: Այս նախագիծը ընդօրինակում է ձեր շարժումները `սեղմելով կամ պահելով ձեր ստեղնաշարի ստեղները
Օրինակ. Երբ առաջ եք շարժվում, «w» ստեղնը սեղմելու գործողությունը ընդօրինակվում է:
Ես ընդօրինակել եմ Call of Duty 4: Modern Warfare խաղը, բայց մի ընտրեք խաղեր, որոնք կրակելու ժամանակ հետ են ընկնում, քանի որ այն կփոխի մկնիկի կանխադրված դիրքը:
Քայլ 1: Պահանջներ
Պահանջներն են `
Կա մի ցանկ, որը լի է այն իրերով, որոնք անհրաժեշտ են այս կոստյումը պատրաստելու համար
Հպման տվիչներ -5
Ուժի տվիչ -1
GPU 6050 - 4
(կամ)
GPU 6050 - 2 և արագացուցիչ - 2
Vr ակնոցներ
Vr միացված հեռախոս
ԱՀ
WiFi թեժ կետ
Խաղալիք ատրճանակ
Համակարգչային խաղ (ես օգտագործել եմ Call of Duty- Modern Warfare 1)
Հացի տախտակ (արական և իգական)
ԱՐԴՈINԻՆՈ ԼԵՈՆԱՐԴՈ -2
Auton sheild - 2
Էլեկտրաէներգիայի աղբյուր (լիպո)
Ainիածանի լարեր
Քայլ 2: HARDWARE
*վերաբեռնումը, կրակոցը, գիշերային տեսողության_պինը, նռնակ_շինիկը, զենքի փոփոխման_պինը հպման տվիչներ են: aim_pin- ը ուժի տվիչ է, իսկ մկնիկը ՝ նմանեցված MPU6050- ով, մյուս տվիչները արագացուցիչ են (կեցվածք, շարժում 1 և 2)
1.1) OLDԻERՈՄ
SOLDER MPU 6050, Արագացուցիչ, Touch Sensor & ուժի տվիչ լարերով
1.2) ՀԱՆԴԻՊՈՄ
MPU 6050- ի համար
Pin 2- SDA
Pin 3- SCL
GND - GND
5v - PWR/VCC
Motion_pin1- ի համար
Pin A1- x առանցք
GND-GND
5v - PWR/VCC
Motion_pin2- ի համար
Pin A2- x առանցք
GND-GND
5v - PWR/VCC
Կեցվածքի_պին-
Pin A0- x առանցք
GND-GND
5v - PWR/VCC
arm_pin- ի համար -
sig-5v
GND-GND
5v - PWR/VCC
Reload_pin- ի համար -
pin12 - 5v
GND-GND
5v - PWR/VCC
Nightvision_pin- ի համար -
կապիչ 10 - 5 վ
GND-GND
5v - PWR/VCC
Shoot_pin- ի համար -
Pin7 - 5v
GND-GND
5v - PWR/VCC
Aim_pin- ի համար -
Պին 8 - 5 վ
5v - PWR/VCC
1.3) WԻOLDՈՄ ԵՆ ՄԱՅԼԵՐ
Breadեփեցրեք հացի տախտակի լարերը ծիածանի լարերով
1.4) Մեկուսացում
Կարճ միացումներից խուսափելու համար լարերը կպցրեք մեկուսացման ժապավենով այն վայրում, որտեղ դուք կպցրել եք
Քայլ 3: FՐԱԳԻՐ
Ես օգտագործել եմ «Remotr» անվանումով հավելվածը Play Store- ից ՝ տեսահոլովակը նոութբուքից հեռախոսը հեռարձակելու համար
2.1) ՀԵՌՈOTՍՏԱ-
Տեղադրեք REMOTR ծրագիրը ձեր համակարգչում և ստեղծեք հաշիվ
Ահա հղումը-
remotrapp.com/# բեռնել
Տեղադրեք REMOTR ծրագիրը ձեր սմարթֆոնում
2.2) ՏԵՍԱՆՅՈԹ ԳՈՐՈՄ
Նախ միացրեք և՛ համակարգիչը, և՛ նույն WiFi ցանցը և մուտքագրեք ձեր REMOTR հաշիվը երկու սարքերում
այժմ ձեռքով ավելացրեք այն խաղը, որը ցանկանում եք հոսել ծրագրակազմում
այժմ ծրագիրը համակարգիչը ցույց կտա որպես ադմինիստրատոր, կտտացրեք այն ՝ հոսքը սկսելու համար
VR- ով հոսելու համար միացրեք vr ռեժիմը ձեր սմարթֆոնում
Եթե չեք կարողանում հասկանալ, մանրամասն տեղեկությունների համար ստուգեք այս հղումը
remotrapp.com/hy/howto
Քայլ 4: ՀԻՄՆԱԿԱՆ ԿՈԴ
Այս նախագծի ծածկագիրը կոշտ կամ բարդ չէ, այլ երկար
Ահա կոդը, պարզապես պատճենեք այն և տեղադրեք ձեր arduino ֆայլում
ԱՐԴՈINԻՆՈ
ԼԵՈՆԱՐԴՈ մուկ-
Ես անդրադարձել եմ Գաբրիին 295: Այս մկնիկի ծածկագիրը հիմնված է նրա գլխի վրա
#ներառում
#ներառում
#ներառում
#ներառում
int goal_pin;
int shoot_pin;
MPU6050 մպ;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
եթե (! mpu.testConnection ()) {
մինչդեռ (1);
}
pinMode (7, Մուտք);
pinMode (8, Մուտք);
}
դատարկ շրջան () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx-300)/200; // Ես դրել եմ -300 և +490, քանի որ իմ mpu6050- ը ցույց է տալիս այս արժեքները չեկը չշարժելիս
vy = -(gz+490)/200; // ստուգեք Gabry295- ի գլխի մկնիկի ծածկագիրը այս արժեքների մասին լրացուցիչ մանրամասների համար
Մկնիկ. Շարժվել (vx, vy);
ուշացում (20);
իսկ (shoot_pin == HIGH);
{
Mouse.click ();
}
իսկ (target_pin == HIGH);
{
Mouse.click ();
}
}
Լեոնարդո Ստեղնաշար
#ներառում
int նռնակ;
int զենքի_պին;
int reload_pin;
int շարժում 1_փին;
int motion2_pin;
int posture_pin;
char nightvision_pin;
դատարկ կարգավորում ()
{
pinMode (7, Մուտք);
pinMode (8, Մուտք);
pinMode (9, Մուտք);
pinMode (10, Մուտք);
pinMode (11, Մուտք);
pinMode (12, Մուտք);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
դատարկ շրջան ()
{
Grenade_pin = digitalRead (8);
arm_pin = digitalRead (9);
Movement1_pin = analogRead (A1);
Movement2_pin = analogRead (A2);
posture_pin = analogRead (A0);
reload_pin = digitalRead (12);
nightvision_pin = digitalRead (10);
եթե (նռնակ == ԲԱՐՁՐ)
{
Keyboard.press ('g');
}
իսկ (arm_pin == HIGH)
{
Keyboard.press ('q');
}
իսկ (վերաբեռնել_պին == ԲԱՐՁՐ)
{
Keyboard.press ('r');
}
իսկ (շարժման 1_պին> 340 && շարժում 1_պին <420)
{
Keyboard.press ('w');
}
իսկ (շարժման 1_պին> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
իսկ (շարժման 2_պին> 340 && շարժում 2_պին <420)
{
Keyboard.press ('w');
}
իսկ (շարժման 2_պին> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
իսկ (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
իսկ (posture_pin> 420)
{
Keyboard.press ('l');
}
իսկ (կեցվածքի_պին <340)
{
Keyboard.press ('z');
}
իսկ (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
Քայլ 5. ԹԵՍՏ ԿՈԴԵՐ
Ահա մի քանի կոդեր, որոնք բաժանված են հիմնական կոդից ՝ ըստ գործառույթի
ՆԿԱՐԱՈ-Մ-
#ներառում
int x;
void setup () {
pinMode (8, Մուտք);
Mouse.begin ();
}
դատարկ շրջան () {
x = digitalRead (8);
եթե (x == ԲԱՐՁՐ)
{
Mouse.click ('g');
}
}
ՆՊԱՏԱԿ ՈՒՆԵՆԱԼՈՎ-
#ներառում
#ներառում
#ներառում
#ներառում
MPU6050 մպ;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
եթե (! mpu.testConnection ()) {
մինչդեռ (1);
}
}
դատարկ շրջան () {
shoot_pin = digitalRead (7);
aim_pin = digitalRead (8);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
vx = (gx+300)/200; // «+300», քանի որ գիրոսկոպի x առանցքը տալիս է արժեքներ մոտ -350, մինչդեռ այն չի շարժվում: Փոխեք այս արժեքը, եթե TEST կոդի միջոցով այլ բան ստանաք, ստուգեք, եթե կան զրոյից հեռու արժեքներ:
vy = -(gz_ -100)/200; // նույնը ՝ «-100» -ի մասին
ՎԵՐԱԲեռնում-
#ներառում
int x;
void setup () {
pinMode (8, Մուտք);
Keyboard.begin ();
}
դատարկ շրջան () {
x = digitalRead (8);
եթե (x == ԲԱՐՁՐ)
{
Keyboard.press ('r');
}
ուրիշ
{
Keyboard.release ('r');
}
}
ԳԻՇԵՐ ՎԻIԻՈ #ներառել
int x;
void setup () {
pinMode (8, Մուտք);
Keyboard.begin ();
}
դատարկ շրջան () {
x = digitalRead (8);
եթե (x == ԲԱՐՁՐ)
{
Keyboard.press ('g');
}
ուրիշ
{
Keyboard.release ('g');
}
}
ԿՐՈCHՉ ԵՎ ՊՐՈՆ-
#ներառում
int y;
void setup () {
pinMode (A0, INPUT);
Serial.begin (9600);
}
դատարկ շրջան () {
y = analogRead (A0);
եթե (y <260)
{
Keyboard.release ('c');
Keyboard.release ('p');
}
այլ դեպքում (y> 260 && y <310)
{
Keyboard.press ('c');
}
այլ դեպքում (y> 310)
{
Keyboard.press ('p');
}
}
Քայլ 6: ԽԱԻ ԿՈՆՏՐՈԼՆԵՐ
փոխել խաղի վերահսկողությունը հետևյալ կերպ
ծռվել - x
հակված - լ
զենքի փոփոխություն - ք
սպրինտ - էջ
կանգնել/ցատկել - z
գիշերային տեսողություն - n
առաջ շարժում - w
նռնակ - գ
Քայլ 7: ԿԱՐԳԱՎՈՐՈՄ
Վերջապես մենք հասանք վերջին քայլին, այժմ տեղադրեք arduino- ն
տախտակները տուփի մեջ և սահեցրեք այն տոպրակի մեջ
Այժմ միացրեք arduino- ի միկրո USB- ը նոութբուքի USB պորտին: Այժմ միացրեք տվիչները, ինչպես նշված է վերևում
*վերը նշված նկարների սլաքների նշանները ներկայացնում են այն ուղղությունը, որով սենսորը պետք է նայի
Եթե որևէ կասկած ունեք, մի հապաղեք թողնել մեկնաբանություն և մի մոռացեք կիսվել ձեր փորձով
Վերջ, շնորհակալություն և
BYE
Խորհուրդ ենք տալիս:
Վիրտուալ իրականության վերահսկվող RC մեքենա. 9 քայլ
Վիրտուալ իրականության վերահսկվող RC մեքենա. Երբևէ ցանկացե՞լ եք կրճատվել և վարել այնպիսի արհեստ, ինչպիսին է Innerspace- ը կամ Fantastic Voyage- ը: Դե, ես կարծում եմ, որ սա այնքան մոտ է, որքան կարճ ժամանակում: Ահա խաղադաշտը. Իրական կյանքի հեռակառավարման մեքենա, որը վարում է Վիրտուալ իրականության կոմունայից
Վերադարձի՛ր: Վիրտուալ իրականության խաղ Arduino & Acclerometer- ի միջոցով. 9 քայլ
Վերադարձի՛ր: Վիրտուալ իրականության խաղ Arduino & Acclerometer- ի միջոցով. Այս ձեռնարկում մենք կստեղծենք վիրտուալ իրականության խաղ ՝ օգտագործելով Arduino և Acclerometer
Վիրտուալ իրականության համար Unity- ում կորի UI ստեղծում. 4 քայլ
Unity for Virtual Reality- ում Curved UI- ի ստեղծում. Եթե դուք փնտրում եք անվճար և հեշտ լուծում ՝ ձեր վիրտուալ իրականության հավելվածի կամ VR խաղի համար կորացած ինտերֆեյս ստեղծելու համար, դուք ճիշտ տեղում եք: Այս բլոգում դուք կսովորեք միասնության մեջ ստեղծել կորի ui տարր ՝ օգտագործելով Unity UI Extensions- ը:
Վիրտուալ իրականության ականջակալ-Google ստվարաթուղթ `4 քայլ
Վիրտուալ իրականության ականջակալ-Google ստվարաթուղթ. Բարև տղերք, ահա մի պարզ ձեռնարկ, թե ինչպես պատրաստել Google Cardboard, տնական վիրտուալ իրականության ականջակալ: Այս ականջակալում սարսափ ֆիլմ դիտելը ցավալիորեն հարմարավետ կլինի: Նաև անվաչմուշկով զբոսնելը անմոռանալի փորձ կլինի: arnգուշացում
Վիրտուալ և խառը իրականության ակնոցներ. 15 քայլ (նկարներով)
Վիրտուալ և խառը իրականության ակնոցներ. Ներածություն. Մագիստրոսական դասընթացի տեխնոլոգիա հայեցակարգի ձևավորման համար մեզ խնդրեցին ուսումնասիրել զարգացող տեխնոլոգիան, որը համապատասխանում է մեր հիմնական նախագծին և փորձարկել այս տեխնոլոգիան `նախատիպ պատրաստելով: Մեր ընտրած տեխնոլոգիաները երկուսն էլ վիրտուալ իրական են