Orodha ya maudhui:

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

Video: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: Hatua 3

Video: DIY VR Treadmill- Basys3 FPGA-Digilent Contest: Hatua 3
Video: Cheap DIY VR slidemill setup 2024, Novemba
Anonim
DIY VR Treadmill- Basys3 FPGA-Digilent Contest
DIY VR Treadmill- Basys3 FPGA-Digilent Contest

Je! Unataka kujenga Treadmill ya VR ambayo unaweza kutumia programu na michezo yako ya desktop? Basi umekuja mahali pa haki!

Katika michezo ya kawaida unatumia panya na kibodi kuingiliana na mazingira. Kwa hivyo, tunahitaji kutuma aina moja ya ishara kama panya na kibodi ili kusiwe na maswala ya utangamano kati ya Treadmill yetu na mchezo. Badala ya kuchukua vifaa hivi, tutatengeneza kifaa chetu ambacho kinaweza kuziiga karibu iwezekanavyo.

Kwa pembejeo za panya tutatumia diski na vipande vya kubadilisha na visivyo na njia mbadala, ambazo waya mbili, zilizo na kipimo kidogo, zitateleza. Bodi itasoma ishara zinazotoka kwenye waya, ikitupa moja ya mchanganyiko nne: 00, 11, 10, 01, ambayo tunaweza kutafsiri moja kwa moja kwa harakati ya kushoto kulia.

Kwa harakati ya kwenda chini, badala ya diski, tutatumia sahani na muundo sawa wa 0 na 1.

Kama pembejeo za moduli ambayo inaiga kibodi, tutakuwa na swichi zilizowekwa kwenye pamoja ya fimbo ambayo itashika waya. Unapokwenda kwa mwelekeo wowote, fimbo itainama kidogo, na hivyo kufungua swichi.

(Kumbuka kuwa mradi bado unaendelea na unaweza kuboreshwa, kwa hivyo nasubiri ushauri wowote ambao unaweza kuiboresha)

Hatua ya 1: Msingi

Msingi
Msingi
Msingi
Msingi
Msingi
Msingi

Msingi unapaswa kuwa na kituo cha chini cha mvuto, kwa hivyo mahitaji ya nyenzo nzito yanatumiwa. Kwa upande wangu, nilitumia plasta na diski ya antena kutengeneza ukungu wa concave, lakini njia zingine zinaweza kutumika (mfano yoga mpira). Baada ya ukungu kukauka, itawekwa kwenye diski mbili za kipenyo sawa kilichotengenezwa na MDF au nyenzo sawa. Spacer itaanzishwa kati ya diski mbili za MDF. Katikati ya diski hizi, wasifu wa pembetatu utawekwa, ambao una fani pembeni. Seti nyingine ya fani itawekwa sawasawa na viini vya pembetatu na tangi kwenye diski, juu. Kwa usahihi bora, fani zaidi zinaweza kutumika. Fimbo itawekwa kwenye moja ya viambishi, kama inavyoonyeshwa kwenye picha ya tatu. Fimbo hii inashikilia kuunganisha ambayo mchezaji atawekwa.

Fimbo nyingine ya nje ya kudumu hutumiwa kusaidia waya na pia kama sehemu ya kumbukumbu ya harakati za kuzunguka.

Hatua ya 2: Usimamizi wa Pembejeo 2

2 Usimamizi wa Pembejeo
2 Usimamizi wa Pembejeo
2 Usimamizi wa Pembejeo
2 Usimamizi wa Pembejeo
2 Usimamizi wa Pembejeo
2 Usimamizi wa Pembejeo

Kutoka kwa mtazamo wa sanduku jeusi, kifaa kitakuwa na pembejeo zifuatazo: unganisho 4 kwa vihesabu vya x, y panya, viunganisho 2 vya vifungo vya panya na unganisho 4 kwa vitufe vya mshale. Pato linawakilishwa na pini 4: 2 kwa unganisho la panya PS2 na nyingine 2 kwa uunganisho wa kibodi PS2. Kwa maelezo ya kina zaidi ya itifaki ya PS2, unaweza kuangalia tovuti ifuatayo:

Kama pembejeo za bodi, nilichagua pini za dijiti za JB (1 downto 0). Kuzingatia mlolongo… 11001100…, soma kwenye pembejeo mbili, tunaweza kutofautisha kati ya majimbo matatu ya kaunta:

1. Kuhesabu;

2. Hesabu chini;

3. Okoa thamani ya sasa;

Moduli ya Count_Type hufanya hivyo kabisa. Ikiwa kuna mabadiliko katika pembejeo, basi moduli hutuma ujumbe unaofaa kwa kaunta 8 (iliyotekelezwa kwenye faili ya 8_bit_count.vhd), ambayo inaongeza au kutenganisha kutoka kwa thamani ya sasa, isipokuwa ishara ya kuweka upya itapokelewa.

Wazo hilo hilo linatumika kwa harakati ya juu-chini ya kichwa, lakini badala ya diski, maelezo mafupi ya kuteleza na muundo huo huo wa 0 & 1 utatumika.

Hatua ya 3: Utekelezaji wa VHDL

Utekelezaji wa VHDL
Utekelezaji wa VHDL

Zinazoshikamana na uwasilishaji ni moduli zifuatazo:

1. Count_Type: moduli hii inashughulikia usimbuaji wa waya mbili za kuingiza kutoka kwenye diski au wasifu, ulioelezewa katika hatua ya pili;

2. 8bit_count: moduli hii hutafsiri ujumbe uliotengwa kutoka kwa Hesabu_Type na nyongeza au upunguzaji wa kaunta;

3. 3bytepacket: moduli hii inasimamia hali ya vifungo vya kushoto na kulia na inaunda data ili iweze kuletwa kwenye pakiti ya data 3 ya baiti inayotumiwa katika itifaki ya PS2;

4.clk12khz: moduli hii inatoa saa ya 12khz maalum kwa itifaki ya PS2 ambayo vitu na michakato mingine inafanya kazi;

5. MessageManager: moduli hii hutuma pakiti ya data 3 ya ka, inaitafsiri na inatoa majibu yanayofaa, kama jibu la ujumbe kutoka kwa PC.

6. Kiolesura cha PS2: moduli hii inaingiliana na itifaki ya mawasiliano kati ya kifaa na mwenyeji (PC) (moduli hii inahitaji utatuaji na tathmini mpya ili kufanya kazi vizuri).

Ilipendekeza: