فهرست مطالب:

DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 Step
DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 Step

تصویری: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 Step

تصویری: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: 3 Step
تصویری: Cheap DIY VR slidemill setup 2024, دسامبر
Anonim
DIY VR Treadmill- Basys3 FPGA-Digilent Contest
DIY VR Treadmill- Basys3 FPGA-Digilent Contest

آیا می خواهید تردمیل VR بسازید که بتوانید برنامه ها و بازی های دسکتاپ خود را روی آن اجرا کنید؟ سپس شما به مکان مناسب آمده اید!

در بازیهای معمولی از ماوس و صفحه کلید برای تعامل با محیط استفاده می کنید. بنابراین ، ما باید سیگنال های مشابهی را با موس و صفحه کلید ارسال کنیم تا هیچ مشکلی بین تردمیل و بازی ما ایجاد نشود. به جای جدا کردن این دستگاه ها ، ما دستگاه خود را ایجاد می کنیم که می تواند آنها را تا حد ممکن شبیه سازی کند.

برای ورودی های ماوس از یک دیسک با برش های متناوب رسانا و غیر رسانا استفاده می کنیم ، که روی آن دو سیم ، با یک جابجایی کوچک ، می لغزند. هیئت مدیره سیگنال های دریافتی از سیم ها را می خواند و یکی از چهار ترکیب 00 ، 11 ، 10 ، 01 را به ما می دهد ، که می توانیم آنها را مستقیماً در حرکت چپ به راست ترجمه کنیم.

برای حرکت بالا به پایین ، به جای دیسک ، از صفحه ای با الگوی یک و 0 استفاده می کنیم.

به عنوان ورودی های ماژول که صفحه کلید را شبیه سازی می کند ، ما سوئیچ هایی روی مفصل میله ای داریم که مهار را نگه می دارد. وقتی در هر جهتی قدم می گذارید ، میله کمی خم می شود ، بنابراین سوئیچ باز می شود.

(به خاطر داشته باشید که پروژه هنوز در حال پیشرفت است و می توان آن را بهبود بخشید ، بنابراین منتظر راهنمایی هستم که بتواند آن را بهتر کند)

مرحله 1: پایه

پایه
پایه
پایه
پایه
پایه
پایه

پایه باید مرکز ثقل کمی داشته باشد ، بنابراین از مواد سنگین استفاده می شود. در مورد من ، من از گچ و یک دیسک آنتن برای ساختن یک قالب مقعر استفاده کردم ، اما می توان از وسایل دیگر (مانند توپ یوگا) استفاده کرد. پس از خشک شدن قالب ، روی دو دیسک با قطر یکسان ساخته شده از MDF یا مواد مشابه قرار داده می شود. یک فاصله بین دو دیسک MDF معرفی می شود. در بین این دیسک ها ، یک پروفیل مثلث قرار داده می شود که دارای یاتاقان در لبه ها است. مجموعه دیگری از یاتاقانها عمود بر رأسهای مثلث و مماس بر دیسک ، در بالا قرار می گیرند. برای دقت بهتر می توان از بلبرینگ های بیشتری استفاده کرد. همانطور که در تصویر سوم نشان داده شده است ، میله ای روی یکی از رأس ها قرار می گیرد. این میله مهار را نگه می دارد که بازیکن در آن قرار می گیرد.

یک میله بیرونی ثابت دیگر برای حمایت از سیم ها و همچنین به عنوان یک نقطه مرجع برای حرکت چرخشی استفاده می شود.

مرحله 2: 2 مدیریت ورودی

2 مدیریت ورودی
2 مدیریت ورودی
2 مدیریت ورودی
2 مدیریت ورودی
2 مدیریت ورودی
2 مدیریت ورودی

از نظر جعبه سیاه ، دستگاه ورودی های زیر را دارد: 4 اتصال برای شمارنده های ماوس x ، y ، 2 اتصال برای دکمه های ماوس و 4 اتصال برای کلیدهای جهت دار. خروجی با 4 پین نمایش داده می شود: 2 عدد برای اتصال PS2 موس و 2 عدد دیگر برای اتصال صفحه کلید PS2. برای توضیح بیشتر پروتکل PS2 ، می توانید سایت زیر را بررسی کنید:

به عنوان ورودی های صفحه ، من پین های دیجیتال JB (1 پایین به 0) را انتخاب کردم. با در نظر گرفتن توالی…

1. شمارش

2. شمارش پایین ؛

3. مقدار فعلی را ذخیره کنید.

ماژول Count_Type دقیقاً همین کار را انجام می دهد. اگر تغییری در ورودی ایجاد شود ، ماژول یک پیام مناسب به شمارنده 8 بیت (پیاده سازی شده در فایل 8_bit_count.vhd) ارسال می کند ، که مقدار فعلی را اضافه یا از آن کم می کند ، مگر اینکه سیگنال تنظیم مجدد دریافت شود.

از همین ایده برای حرکت بالا به پایین سر استفاده می شود ، اما به جای دیسک ، از یک پروفایل خطی کشویی با همان الگوی متناوب 0 و 1 استفاده می شود.

مرحله 3: پیاده سازی VHDL

پیاده سازی VHDL
پیاده سازی VHDL

ضمیمه های ارائه شده ماژول های زیر است:

1. Count_Type: این ماژول رمزگشایی دو سیم ورودی از دیسک یا پروفایل را توضیح می دهد ، که در مرحله دوم توضیح داده شده است.

2. 8bit_count: این ماژول پیام رمزگشایی شده از Count_Type را تفسیر کرده و شمارنده ها را افزایش یا کاهش می دهد.

3. 3bytepacket: این ماژول وضعیت دکمه های چپ و راست را مدیریت می کند و داده ها را فرمت می کند تا بتواند در بسته داده 3 بایت مورد استفاده در پروتکل PS2 معرفی شود.

4.clk12khz: این ماژول یک ساعت 12 کیلو هرتزی را اختصاص می دهد که مخصوص پروتکل PS2 است که اجزا و فرآیندهای خاصی روی آن کار می کنند.

5. MessageManager: این ماژول بسته داده 3 بایت را ارسال می کند ، آن را تفسیر می کند و پاسخ مناسب را به عنوان پاسخ به پیام رایانه ارائه می دهد.

6. PS2Interface: این ماژول پروتکل ارتباطی بین دستگاه و میزبان (PC) را به هم متصل می کند (این ماژول برای کارکرد صحیح نیاز به اشکال زدایی و ارزیابی مجدد کامل دارد).

توصیه شده: