תוכן עניינים:
- שלב 1: דרישות
- שלב 2: חומרה
- שלב 3: תוכנה
- שלב 4: קוד עיקרי
- שלב 5: בדיקת קודים
- שלב 6: בקרי משחק
- שלב 7: הגדרה
וִידֵאוֹ: חליפת מציאות מדומה באמצעות Arduino: 7 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
יצרתי את הפרויקט הזה למשחקי מחשב רגילים במציאות VR מלאה. פרויקט זה מחקה את התנועות שלך ללחיצה או לחיצה על מקשי המקלדת
דוגמא- כאשר אתה מתקדם קדימה הפעולה של לחיצה על המקש 'w' נחקה.
חיקתי את המשחק Call of Duty 4: Modern Warfare אבל אל תבחר משחקים שיש להם רתיעה בזמן הירי כי זה ישנה את מיקום ברירת המחדל של העכבר
שלב 1: דרישות
הדרישות הן-
יש רשימה מלאה של דברים שאתה צריך כדי להפוך את החליפה הזו
חיישני מגע -5
חיישן כוח -1
GPU 6050 - 4
(אוֹ)
GPU 6050 - 2 ומד תאוצה - 2
משקפיים Vr
טלפון מאופשר Vr
מחשב
נקודת אינטרנט אלחוטי
אקדח צעצוע
משחק מחשב (השתמשתי ב- Call of Duty- Modern Warfare 1)
חוטי לוח לחם (זכר-נקבה)
ARDUINO LEONARDO-2
אוטון שילד - 2
מקור חשמל (ליפו)
חוטי קשת
שלב 2: חומרה
*reload_pin, shoot_pin, pin night vision_pin, granate_pin, pin -change_pin הם חיישני מגע. aim_pin הוא חיישן כוח והעכבר מחקה על ידי MPU6050 חיישנים אחרים הם מד תאוצה (יציבה, תנועה 1 ו -2)
1.1) מכירת
SOLDER MPU 6050, מד תאוצה, חיישן מגע וחיישן כוח עם החוטים
1.2) חיווט
עבור MPU 6050-
סיכה 2- SDA
סיכה 3- SCL
GND - GND
5v - PWR/VCC
לתנועה_סיכה1-
ציר A1- ציר x
GND-GND
5v - PWR/VCC
עבור movement_pin2-
ציר A2- x
GND-GND
5v - PWR/VCC
עבור posture_pin-
ציר A0- x
GND-GND
5v - PWR/VCC
עבור נשק_סיכה -
sig-5v
GND-GND
5v - PWR/VCC
עבור Reload_pin -
pin12 - 5v
GND-GND
5v - PWR/VCC
עבור Nightvision_pin -
סיכה 10 - 5v
GND-GND
5v - PWR/VCC
עבור shoot_pin -
Pin7 - 5v
GND-GND
5v - PWR/VCC
עבור aim_pin -
סיכה 8 - 5v
5v - PWR/VCC
1.3) חוטי מכירה
הלחם את חוטי לוח הלחם בעזרת חוטי הקשת
1.4) בידוד
הדביקו את החוטים בעזרת סרט הבידוד במקום בו הלחמתם כדי להימנע מקצרים
שלב 3: תוכנה
השתמשתי באפליקציה בשם 'Remotr' מחנות Play כדי להעביר את הסרטון מהמחשב הנייד לטלפון
2.1) מרחוק-
התקן את יישום REMOTR במחשב שלך וצור חשבון
הנה הקישור-
remotrapp.com/#download
התקן את אפליקציית REMOTR בסמארטפון שלך
2.2) זרימת וידיאו
תחילה חבר את המחשב ואת אותה רשת WiFi והזן את חשבון REMOTR בשני המכשירים
כעת הוסף ידנית את המשחק שברצונך להזרים בתוכנה
כעת האפליקציה תציג את המחשב כמנהל לחץ עליו כדי להתחיל להזרים
כדי להזרים ב- VR אפשר מצב VR בסמארטפון שלך
אם אינך יכול להבין בדוק קישור זה למידע מפורט
remotrapp.com/en/howto
שלב 4: קוד עיקרי
הקוד לפרויקט זה אינו קשה או מורכב אלא ארוך
הנה הקוד פשוט העתק אותו והדבק אותו בקובץ הארדואינו שלך
ארדואינו
עכבר LEONARDO-
הפניתי את Gabry295. קוד עכבר זה מבוסס על ראשו העכבר ניתן להדרכה
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
int aim_pin;
int shoot_pin;
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
הגדרת בטל () {
Serial.begin (9600);
Mouse.begin ();
Wire.begin ();
mpu.initialize ();
אם (! mpu.testConnection ()) {
בעוד (1);
}
pinMode (7, INPUT);
pinMode (8, INPUT);
}
לולאת חלל () {
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 לקבלת פרטים נוספים על ערכים אלה
Mouse.move (vx, vy);
עיכוב (20);
while (shoot_pin == HIGH);
{
לחיצת עכבר();
}
בעוד (aim_pin == HIGH);
{
לחיצת עכבר();
}
}
מקלדת לאונרדו
#לִכלוֹל
int רימון;
int weapon_pin;
int reload_pin;
int movement1_pin;
int movement2_pin;
int posture_pin;
char nightvision_pin;
הגדרת חלל ()
{
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (9, INPUT);
pinMode (10, INPUT);
pinMode (11, INPUT);
pinMode (12, INPUT);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
Keyboard.begin ();
}
לולאת חלל ()
{
Granade_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);
אם (רימון == HIGH)
{
Keyboard.press ('g');
}
בעוד (נשק_סיכה == גבוה)
{
Keyboard.press ('q');
}
בעוד (reload_pin == HIGH)
{
Keyboard.press ('r');
}
while (movement1_pin> 340 && movement1_pin <420)
{
Keyboard.press ('w');
}
while (movement1_pin> 420)
{
Keyboard.press ('w');
Keyboard.press ('p');
}
while (movement2_pin> 340 && movement2_pin <420)
{
Keyboard.press ('w');
}
בעוד (movement2_pin> 420)
{
Keyboard.press ('p');
Keyboard.press ('w');
}
בעוד (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c');
}
בעוד (posture_pin> 420)
{
Keyboard.press ('l');
}
בעוד (posture_pin <340)
{
Keyboard.press ('z');
}
בעוד (nightvision_pin == HIGH)
{
Keyboard.press ('n');
}
}
}
שלב 5: בדיקת קודים
להלן מספר הקודים המחולקים מהקוד הראשי בהתאם לתפקוד
צילומים-
#לִכלוֹל
int x;
הגדרת בטל () {
pinMode (8, INPUT);
Mouse.begin ();
}
לולאת חלל () {
x = digitalRead (8);
אם (x == HIGH)
{
עכבר.קליק ('g');
}
}
מכוון-
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
#לִכלוֹל
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
הגדרת בטל () {
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;
הגדרת בטל () {
pinMode (8, INPUT);
Keyboard.begin ();
}
לולאת חלל () {
x = digitalRead (8);
אם (x == HIGH)
{
Keyboard.press ('r');
}
אַחֵר
{
Keyboard.release ('r');
}
}
לילה ויזה #כלול
int x;
הגדרת בטל () {
pinMode (8, INPUT);
Keyboard.begin ();
}
לולאת חלל () {
x = digitalRead (8);
אם (x == HIGH)
{
Keyboard.press ('g');
}
אַחֵר
{
Keyboard.release ('g');
}
}
CROUCH ו נוטה-
#לִכלוֹל
int y;
הגדרת בטל () {
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
נוטה - l
החלפת נשק - ש
ספרינט - עמ '
לעמוד/לקפוץ - ז
ראיית לילה - נ
תנועה קדימה - w
רימון - ז
שלב 7: הגדרה
לבסוף הגענו לשלב האחרון עכשיו לשים את הארדואינו
לוחות בקופסה והחליקו לתוך התיק
עכשיו חבר את המיקרו USB של הארדואינו ליציאות ה- USB של המחשב הנייד חבר כעת את החיישנים לפי ההנחיות למעלה
*סימני החץ בתמונות לעיל מייצגים את הכיוון שאליו חייבים החיישן לפנות
אם יש לך ספקות אל תהסס להשאיר תגובה ואל תשכח לשתף את החוויה שלך
זהו תודה ו
ביי.
מוּמלָץ:
מציאות מדומה ב- Raspberry Pi עם BeYourHero !: 19 שלבים (עם תמונות)
מציאות מדומה ב- Raspberry Pi עם BeYourHero!: ברוכים הבאים ל " תהיה הגיבור שלך " אני מקווה שאתה מוכן להיכנס לדור הבא של טבילה של מציאות מדומה! הפרויקט הזה ייתן לך שליטה מלאה במחוות על כל גיבור וירטואלי שאתה אוהב עם קבוצה פשוטה של מכשירים זולים באמצעות
מכונית RC מבוקרת מציאות מדומה: 9 שלבים
מכונית RC שנשלטת על ידי מציאות מדומה: האם אי פעם רצית להצטמצם ולהטיס כלי שיט כמו Innerspace או Fantastic Voyage? ובכן, אני חושב שזה קרוב ככל שתקבל בהתראה קצרה! להלן המגרש: מכונית שלט רחוק אמיתי שהוטסה ממפקד מציאות מדומה
קפץ בחזרה! משחק מציאות מדומה באמצעות Arduino & Acclerometer: 9 שלבים
קפץ בחזרה! משחק מציאות מדומה באמצעות Arduino & Acclerometer: במדריך זה ניצור משחק מציאות מדומה באמצעות Arduino ו- Acclerometer
משקפי מציאות מדומה ומעורבת: 15 שלבים (עם תמונות)
משקפי מציאות מדומה ומעורבת: מבוא: במהלך קורס המאסטר טכנולוגיה לעיצוב קונספט התבקשנו לחקור טכנולוגיה מתפתחת המתאימה לפרויקט העיקרי שלנו ולבדוק טכנולוגיה זו על ידי יצירת אב טיפוס. הטכנולוגיות שבחרנו הן מציאות וירטואלית
מציאות מדומה ניידת באמצעות עיבוד לאנדרואיד (TfCD): 7 שלבים (עם תמונות)
מציאות מדומה ניידת באמצעות עיבוד לאנדרואיד (TfCD): מציאות מדומה (VR) היא אחת הטכנולוגיות החדשות שעשויות להיות מעניינות הן מוצרים עתידיים. יש לו הרבה הזדמנויות ואתה אפילו לא צריך משקפי VR יקרים (Oculus Rift). זה אולי נראה מאוד קשה לעשות את זה בעצמך, אבל היסודות הם