فهرست مطالب:

کت و شلوار واقعیت مجازی با استفاده از آردوینو: 7 مرحله (همراه با تصاویر)
کت و شلوار واقعیت مجازی با استفاده از آردوینو: 7 مرحله (همراه با تصاویر)

تصویری: کت و شلوار واقعیت مجازی با استفاده از آردوینو: 7 مرحله (همراه با تصاویر)

تصویری: کت و شلوار واقعیت مجازی با استفاده از آردوینو: 7 مرحله (همراه با تصاویر)
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, جولای
Anonim
کت و شلوار واقعیت مجازی با استفاده از آردوینو
کت و شلوار واقعیت مجازی با استفاده از آردوینو

من این پروژه را برای اجرای بازی های رایانه ای معمولی در حالت 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 لپ تاپ وصل کنید و سنسورها را همانطور که در بالا گفته شد وصل کنید

*علائم پیکان در تصاویر بالا نشان دهنده مسیری است که سنسور باید با آن روبرو باشد

در صورت داشتن هر گونه شک و تردید ، نظر خود را بنویسید و تجربه خود را فراموش نکنید

همین است متشکرم و

خدا حافظ.

توصیه شده: