فهرست مطالب:
- مرحله 1: الزامات
- مرحله 2: سخت افزار
- مرحله 3: نرم افزار
- مرحله 4: کد اصلی
- مرحله 5: تست کدها
- مرحله 6: کنترل های بازی
- مرحله 7: تنظیم
تصویری: کت و شلوار واقعیت مجازی با استفاده از آردوینو: 7 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
من این پروژه را برای اجرای بازی های رایانه ای معمولی در حالت VR کامل ایجاد کرده ام. این پروژه حرکات شما را با فشار دادن یا نگه داشتن کلیدهای صفحه کلید شبیه سازی می کند
مثال- هنگامی که به جلو حرکت می کنید ، با فشردن کلید 'w' تقلید می شود.
من بازی Call of Duty 4: Modern Warfare را شبیه سازی کرده ام اما بازی هایی را انتخاب نکنید که هنگام عکاسی دچار عقب نشینی شوند زیرا موقعیت پیش فرض ماوس را تغییر می دهد
مرحله 1: الزامات
الزامات عبارتند از-
لیستی پر از چیزهایی وجود دارد که برای تهیه این کت و شلوار نیاز دارید
سنسورهای لمسی -5
سنسور نیرو -1
پردازنده گرافیکی 6050 - 4
(یا)
GPU 6050 - 2 و شتاب سنج - 2
عینک Vr
تلفن دارای قابلیت Vr
کامپیوتر
نقطه اتصال وای فای
تفنگ اسباب بازی
یک بازی رایانه ای (من از Call of Duty- Modern Warfare 1 استفاده کرده ام)
سیمهای تخته نان (زن-مرد)
آردوینو لئوناردو -2
شیلد اتومون - 2
منبع تغذیه (لیپو)
سیم های رنگین کمان
مرحله 2: سخت افزار
*پین_بارگذاری مجدد ، ساقه_تیرانداز ، سنجاق دید در شب ، پین نارنجک ، پین_تغییر اسلحه حسگرهای لمسی هستند. هدف_پین سنسور نیرو است و ماوس توسط 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
برای جنبش_پین 2-
محور A2- x محور
GND-GND
5v - PWR/VCC
برای وضعیت سنجاق_
محور 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 -
پین 7 - 5 ولت
GND-GND
5v - PWR/VCC
برای هدف_پین -
پین 8 - 5 ولت
5v - PWR/VCC
1.3) لحیم کاری سیم ها
سیمهای تخته نان را با سیمهای رنگین کمان لحیم کنید
1.4) عایق کاری
سیمها را با نوار عایق در محلی که لحیم کرده اید بچسبانید تا از اتصال کوتاه جلوگیری شود
مرحله 3: نرم افزار
من از برنامه ای به نام 'Remotr' از فروشگاه Play برای پخش فیلم از لپ تاپ به تلفن استفاده کرده ام
2.1) REMOTR-
برنامه REMOTR را روی رایانه خود نصب کرده و یک حساب کاربری ایجاد کنید
اینم لینکش-
remotrapp.com/#download
برنامه REMOTR را در تلفن هوشمند خود نصب کنید
2.2) VIDEO STREAMING
ابتدا کامپیوتر و یک شبکه WiFi مشابه را وصل کرده و حساب REMOTR خود را در هر دو دستگاه وارد کنید
اکنون بازی را که می خواهید در نرم افزار پخش شود به صورت دستی اضافه کنید
اکنون برنامه رایانه را به عنوان سرپرست نشان می دهد تا روی آن کلیک کنید تا جریان پخش شود
برای پخش در حالت VR حالت vr را در تلفن هوشمند خود فعال کنید
اگر نمی توانید متوجه شوید این لینک را برای اطلاعات دقیق بررسی کنید
remotrapp.com/fa/howto
مرحله 4: کد اصلی
کد این پروژه سخت یا پیچیده نیست بلکه طولانی است
در اینجا کد موجود است فقط آن را کپی کرده و در فایل آردوینو خود جایگذاری کنید
آردوینو
موش لئوناردو-
من Gabry295 را ارجاع داده ام. این کد ماوس بر اساس دستور موس موس ساخته شده است
#عبارتند از
#عبارتند از
#عبارتند از
#عبارتند از
int aim_pin؛
int shoot_pin؛
MPU6050 mpu ؛
int16_t ax، ay، az، gx، gy، gz؛
int vx، vy؛
void setup () {
Serial.begin (9600)؛
Mouse.begin ()؛
Wire.begin ()؛
mpu.initialize ()؛
if (! 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) ؛
while (shoot_pin == HIGH)؛
{
کلیک ماوس()؛
}
while (target_pin == HIGH)؛
{
کلیک ماوس()؛
}
}
صفحه کلید لئوناردو
#عبارتند از
نارنجک int ؛
int arm_pin؛
int reload_pin؛
int Movement1_pin؛
int Movement2_pin؛
int posture_pin؛
char nightvision_pin؛
void setup ()
{
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)؛
if (نارنجک == بالا)
{
Keyboard.press ('g') ؛
}
در حالی که (arm_pin == HIGH)
{
Keyboard.press ('q')؛
}
while (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') ؛
}
while (Movement2_pin> 420)
{
Keyboard.press ('p') ؛
Keyboard.press ('w') ؛
}
while (posture_pin> 340 && posture_pin <420)
{
Keyboard.press ('c') ؛
}
while (posture_pin> 420)
{
Keyboard.press ('l')؛
}
در حالی که (پین_پشتی <340)
{
Keyboard.press ('z') ؛
}
while (nightvision_pin == HIGH)
{
Keyboard.press ('n')؛
}
}
}
مرحله 5: تست کدها
در اینجا چند کد با توجه به عملکرد از کد اصلی تقسیم شده است
تیراندازی کردن-
#عبارتند از
int x؛
void setup () {
pinMode (8 ، ورودی) ؛
Mouse.begin ()؛
}
حلقه خالی () {
x = digitalRead (8) ؛
if (x == HIGH)
{
موس. کلیک ('g') ؛
}
}
هدف-
#عبارتند از
#عبارتند از
#عبارتند از
#عبارتند از
MPU6050 mpu ؛
int16_t ax، ay، az، gx، gy، gz؛
int vx، vy؛
void setup () {
Serial.begin (9600)؛
Mouse.begin ()؛
Wire.begin ()؛
mpu.initialize ()؛
if (! 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"
RELOADING-
#عبارتند از
int x؛
void setup () {
pinMode (8 ، ورودی) ؛
Keyboard.begin ()؛
}
حلقه خالی () {
x = digitalRead (8) ؛
if (x == HIGH)
{
Keyboard.press ('r') ؛
}
دیگری
{
Keyboard.release ('r')؛
}
}
VISIO شب #شامل
int x؛
void setup () {
pinMode (8 ، ورودی) ؛
Keyboard.begin ()؛
}
حلقه خالی () {
x = digitalRead (8) ؛
if (x == HIGH)
{
Keyboard.press ('g') ؛
}
دیگری
{
Keyboard.release ('g')؛
}
}
CROUCH and PRONE-
#عبارتند از
int y؛
void setup () {
pinMode (A0 ، INPUT) ؛
Serial.begin (9600)؛
}
حلقه خالی () {
y = analogRead (A0) ؛
اگر (y <260)
{
Keyboard.release ('c')؛
Keyboard.release ('p')؛
}
else if (y> 260 && y <310)
{
Keyboard.press ('c') ؛
}
else if (y> 310)
{
Keyboard.press ('p') ؛
}
}
مرحله 6: کنترل های بازی
کنترل بازی را به شرح زیر تغییر دهید
خم شدن - x
مستعد - l
تغییر سلاح - q
دوی سرعت - ص
ایستادن/پرش - z
دید در شب - n
حرکت رو به جلو - w
نارنجک - گرم
مرحله 7: تنظیم
سرانجام به آخرین مرحله رسیدیم و اکنون آردوینو را قرار دهید
تخته ها را در یک جعبه قرار دهید و آن را داخل کیف قرار دهید
حالا میکرو USB آردوینو را به پورت های USB لپ تاپ وصل کنید و سنسورها را همانطور که در بالا گفته شد وصل کنید
*علائم پیکان در تصاویر بالا نشان دهنده مسیری است که سنسور باید با آن روبرو باشد
در صورت داشتن هر گونه شک و تردید ، نظر خود را بنویسید و تجربه خود را فراموش نکنید
همین است متشکرم و
خدا حافظ.
توصیه شده:
واقعیت مجازی در Raspberry Pi With BeYourHero !: 19 مرحله (همراه با تصاویر)
واقعیت مجازی در Raspberry Pi With BeYourHero !: به & quot؛ قهرمان خود باشید & quot؛ خوش آمدید پروژه! من امیدوارم که شما آماده ورود به نسل بعدی غوطه وری در واقعیت مجازی باشید! این پروژه به شما امکان می دهد کنترل کامل هر قهرمان مجازی را که دوست دارید با مجموعه ای ساده از دستگاه های ارزان قیمت با استفاده از se
ماشین RC کنترل شده با واقعیت مجازی: 9 مرحله
RC Car کنترل شده با واقعیت مجازی: آیا تا به حال خواسته اید که کوچک شده و خلبان یک کاردستی مانند Innerspace یا Fantastic Voyage شوید؟ خوب ، من فکر می کنم این به همان اندازه ای که می خواهید در کوتاه مدت به آن نزدیک شوید نزدیک است! در اینجا میدان است: یک ماشین کنترل از راه دور Real-Life که از یک کامان واقعیت مجازی هدایت می شود
برگشت به عقب! بازی واقعیت مجازی با استفاده از آردوینو و شتاب سنج: 9 مرحله
برگشت به عقب! بازی واقعیت مجازی با استفاده از آردوینو و شتاب سنج: در این آموزش ما یک بازی واقعیت مجازی با استفاده از آردوینو و شتاب سنج ایجاد می کنیم
عینک واقعیت مجازی و مختلط: 15 مرحله (همراه با تصاویر)
عینک های واقعیت مجازی و مختلط: مقدمه: در طول دوره کارشناسی ارشد Technology for Concept Design از ما خواسته شد تا یک فناوری نوظهور متناسب با پروژه اصلی ما را کشف کرده و این فناوری را با ساخت نمونه اولیه آزمایش کنیم. فناوری هایی که ما انتخاب کردیم هر دو واقعیت مجازی هستند
واقعیت مجازی تلفن همراه با استفاده از پردازش برای Android (TfCD): 7 مرحله (همراه با تصاویر)
واقعیت مجازی موبایل با استفاده از پردازش برای Android (TfCD): واقعیت مجازی (VR) یکی از فناوری های جدیدی است که می تواند جالب توجه محصولات آینده باشد. این فرصت های زیادی دارد و شما حتی به عینک گران قیمت VR (Oculus Rift) احتیاج ندارید. ممکن است انجام این کار بسیار دشوار به نظر برسد ، اما اصول اولیه