Mundarija:

DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam
DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam

Video: DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam

Video: DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam
Video: How to Make Treadmill at Home - Running Machine 2024, Noyabr
Anonim
DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi
DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi

Ish stolidagi ilovalar va o'yinlarni boshqaradigan VR yugurish yo'lakchasini yaratmoqchimisiz? Keyin siz kerakli joyga keldingiz!

Oddiy o'yinlarda atrof -muhit bilan o'zaro aloqa qilish uchun sichqoncha va klaviaturadan foydalaniladi. Shuning uchun, biz sichqoncha va klaviatura bilan bir xil signallarni yuborishimiz kerak, shunda bizning yugurish yo'lakchamiz va o'yin o'rtasida moslik muammolari bo'lmaydi. Bu qurilmalarni ajratib olishning o'rniga, biz ularni iloji boricha yaqinroq simulyatsiya qiladigan o'z qurilmamizni yaratamiz.

Sichqoncha kirishlari uchun biz o'zgaruvchan o'tkazgichli va o'tkazmaydigan bo'laklarga ega diskdan foydalanamiz, uning ustiga ikkita sim kichik ofset bilan siljiydi. Kengash simlardan keladigan signallarni o'qiydi va bizga to'rtta kombinatsiyadan birini beradi: 00, 11, 10, 01, biz uni chapdan o'ngga to'g'ridan-to'g'ri tarjima qilishimiz mumkin.

Yuqoriga qarab harakat qilish uchun disk o'rniga biz bir xil naqshli 0 va 1-sonli plastinkadan foydalanamiz.

Klaviaturani taqlid qiladigan modul uchun kirish sifatida biz tayoqning bo'g'iniga jabduqlar tutadigan kalitlarni qo'yamiz. Har qanday yo'nalishda qadam bosganingizda, tayoq biroz egilib, kalitni ochadi.

(Shuni yodda tutingki, loyiha davom etmoqda va uni takomillashtirish mumkin, shuning uchun men uni yaxshilashga yordam beradigan maslahat kutaman)

1 -qadam: tayanch

Baza
Baza
Baza
Baza
Baza
Baza

Baza past og'irlik markaziga ega bo'lishi kerak, shuning uchun og'ir material kerak bo'ladi. Mening holatimda, men konkav qolipini yasash uchun gips va antenna diskidan foydalandim, lekin boshqa vositalardan foydalanish mumkin (masalan, yoga to'pi). Qolib quriganidan so'ng, u bir xil diametrli MDF yoki shunga o'xshash materialdan yasalgan ikkita diskka joylashtiriladi. Ikkita MDF disklari orasidagi bo'shliq o'rnatiladi. Bu disklar orasiga uchburchak profil joylashtiriladi, uning qirralarida rulmanlar bor. Rulmanlarning yana bir to'plami uchburchakning tepasiga perpendikulyar va diskga tegib joylashtiriladi. Yaxshi aniqlik uchun ko'proq rulmanlardan foydalanish mumkin. Uchinchi rasmda ko'rsatilgandek, tepaliklardan biriga tayoq qo'yiladi. Bu tayoq o'yinchi joylashtiriladigan jabduqni ushlab turadi.

Boshqa mustahkamlangan tashqi tayoq simlarni qo'llab -quvvatlash uchun, shuningdek aylanma harakat uchun tayanch punkti sifatida ishlatiladi.

2 -qadam: 2 kirishni boshqarish

2 Kirishni boshqarish
2 Kirishni boshqarish
2 Kirishni boshqarish
2 Kirishni boshqarish
2 Kirishni boshqarish
2 Kirishni boshqarish

Qora quti nuqtai nazaridan, qurilma quyidagi kirishga ega bo'ladi: x, y sichqoncha hisoblagichlari uchun 4 ta ulanish, sichqoncha tugmachalari uchun 2 ta ulanish va o'q tugmachalari uchun 4 ta ulanish. Chiqish 4 pim bilan ifodalanadi: 2 sichqoncha PS2 ulanishi uchun va boshqa 2 klaviatura PS2 ulanishi uchun. PS2 protokoli haqida batafsil ma'lumot olish uchun siz quyidagi saytni tekshirishingiz mumkin:

Kengash uchun kirish sifatida men JB (1 dan 0 gacha) raqamli pinlarni tanladim. … 11001100… ketma -ketligini hisobga olsak, ikkita kirishni o'qib, hisoblagichlarning uchta holatini ajrata olamiz:

1. Hisoblash;

2. pastga hisoblash;

3. Joriy qiymatni saqlash;

Count_Type moduli aynan shunday qiladi. Agar kirishda o'zgarishlar bo'lsa, modul 8 bitli hisoblagichga tegishli xabarni yuboradi (8_bit_count.vhd faylida amalga oshiriladi), agar qayta tiklash signali olinmasa, joriy qiymatni qo'shadi yoki chiqaradi.

Xuddi shu fikr boshning yuqoriga qarab harakatlanishi uchun ishlatiladi, lekin disk o'rniga bir xil o'zgaruvchan 0 va 1 naqshli toymasin chiziqli profil ishlatiladi.

3 -qadam: VHDLni joriy etish

VHDLni joriy etish
VHDLni joriy etish

Taqdimotga quyidagi modullar biriktirilgan:

1. Count_Type: bu modul ikkinchi bosqichda tasvirlangan diskdan yoki profildan ikkita kirish simini dekodlashni boshqaradi;

2. 8bit_count: bu modul Count_Type -dan dekodlangan xabarni sharhlaydi va hisoblagichlarni oshiradi yoki kamaytiradi;

3. 3 baytli paket: bu modul chap va o'ng tugmalar holatini boshqaradi va ma'lumotlarni formatlaydi, shuning uchun uni PS2 protokolida ishlatiladigan 3 baytli ma'lumotlar paketiga kiritish mumkin;

4.clk12khz: bu modul ma'lum komponentalar va jarayonlar ishlaydigan PS2 protokoliga xos bo'lgan 12 kHz chastotali soatni beradi;

5. MessageManager: bu modul 3 baytli ma'lumotlar paketini yuboradi, uni sharhlaydi va kompyuterdan kelgan xabarga javob sifatida tegishli javobni beradi.

6. PS2Interface: bu modul qurilma va xost (PC) o'rtasidagi aloqa protokoliga ulanadi (bu modul to'g'ri ishlashi uchun disk raskadrovka va yaxshilab qayta baholashni talab qiladi).

Tavsiya: