Kazalo:

DIY VR tekalna steza- Basys3 FPGA-Digilent tekmovanje: 3 koraki
DIY VR tekalna steza- Basys3 FPGA-Digilent tekmovanje: 3 koraki

Video: DIY VR tekalna steza- Basys3 FPGA-Digilent tekmovanje: 3 koraki

Video: DIY VR tekalna steza- Basys3 FPGA-Digilent tekmovanje: 3 koraki
Video: Omni-Directional Running on the Infinadeck at M3D VR's demo site in Orlando. 2024, November
Anonim
Naredi sam tekalna steza VR- Basys3 FPGA-Digilent Contest
Naredi sam tekalna steza VR- Basys3 FPGA-Digilent Contest

Ali želite zgraditi tekalno stezo VR, na kateri lahko izvajate namizne aplikacije in igre? Potem ste prišli na pravo mesto!

V običajnih igrah uporabljate miško in tipkovnico za interakcijo z okoljem. Zato moramo pošiljati iste vrste signalov kot miška in tipkovnica, da ne bo prišlo do težav z združljivostjo med tekalno stezo in igro. Namesto da bi te naprave ločili, bomo ustvarili lastno napravo, ki jih bo lahko simulirala čim bližje.

Za vnose z miško bomo uporabili disk z izmenično prevodnimi in neprevodnimi rezinami, na katerem bosta zdrsnili dve žici z majhnim zamikom. Tabla bo prebrala signale, ki prihajajo iz žic, in nam dala eno od štirih kombinacij: 00, 11, 10, 01, ki jih lahko neposredno prevedemo v gibanju levo-desno.

Za gibanje navzgor in navzdol bomo namesto diska uporabili ploščo z enakim vzorcem 0 in 1.

Kot vhod za modul, ki simulira tipkovnico, bomo na spoju palice namestili stikala, ki bodo držala pas. Ko stopite v katero koli smer, se bo palica nekoliko upognila in s tem odprla stikalo.

(Ne pozabite, da je projekt še v teku in ga je mogoče izboljšati, zato čakam na nasvete, ki bi ga lahko izboljšali)

1. korak: Osnova

Baza
Baza
Baza
Baza
Baza
Baza

Podstavek mora imeti nizko težišče, zato je treba uporabiti težek material. V mojem primeru sem uporabil mavec in antenski disk za izdelavo vbočenega kalupa, lahko pa uporabim tudi druga sredstva (npr. Žoga za jogo). Ko se kalup posuši, ga položimo na dva diska istega premera iz MDF ali podobnega materiala. Med dvema MDF diskoma bo vstavljen distančnik. Med temi diski bo postavljen trikotni profil, ki ima na robovih ležaje. Drugi sklop ležajev bo postavljen pravokotno na ogrodja trikotnika in dotaknjen na disk na vrhu. Za boljšo natančnost je mogoče uporabiti več ležajev. Kot je prikazano na tretji sliki, bo na eno od točk postavljena palica. Ta palica drži pas, v katerega bo postavljen igralec.

Druga pritrjena zunanja palica se uporablja za podporo žic in tudi kot referenčna točka za rotacijsko gibanje.

2. korak: 2 Upravljanje vnosa

2 Upravljanje vhodov
2 Upravljanje vhodov
2 Upravljanje vhodov
2 Upravljanje vhodov
2 Upravljanje vhodov
2 Upravljanje vhodov

Z vidika črne škatle bo naprava imela naslednje vhode: 4 povezave za števce miške x, y, 2 povezavi za gumbe miške in 4 povezave za puščične tipke. Izhod je predstavljen s 4 zatiči: 2 za povezavo PS2 miške in še 2 za povezavo PS2 s tipkovnico. Za podrobnejši opis protokola PS2 lahko preverite naslednje spletno mesto:

Kot vhod za ploščo sem izbral digitalne zatiče JB (1 downto 0). Glede na zaporedje… 11001100…, prebrano na dveh vhodih, lahko ločimo tri stanja števcev:

1. Preštejte;

2. Odštej;

3. Shranite trenutno vrednost;

Modul Count_Type počne ravno to. Če pride do spremembe v vhodu, potem modul pošlje ustrezno sporočilo 8 -bitnemu števcu (implementirano v datoteki 8_bit_count.vhd), ki doda ali odšteje od trenutne vrednosti, razen če je sprejet signal za ponastavitev.

Ista ideja se uporablja za gibanje glave navzgor in navzdol, vendar se namesto diska uporabi drsni linearni profil z enakim izmeničnim vzorcem 0 & 1.

3. korak: Izvajanje VHDL

Izvajanje VHDL
Izvajanje VHDL

Predstavitvi so priloženi naslednji moduli:

1. Vrsta_številke: ta modul obravnava dekodiranje dveh vhodnih žic z diska ali profila, opisanega v drugem koraku;

2. 8bit_count: ta modul razlaga dekodirano sporočilo iz Count_Type in povečuje ali zmanjšuje števce;

3. 3 -bajni paket: ta modul upravlja stanje levega in desnega gumba ter oblikuje podatke, tako da jih je mogoče vnesti v 3 -bajtni podatkovni paket, ki se uporablja v protokolu PS2;

4.clk12khz: ta modul daje uro 12khz, značilno za protokol PS2, na katerem delujejo nekatere komponente in procesi;

5. MessageManager: ta modul pošlje 3 -bajtni podatkovni paket, ga interpretira in poda ustrezen odgovor kot odgovor na sporočilo iz osebnega računalnika.

6. Vmesnik PS2: ta modul povezuje komunikacijski protokol med napravo in gostiteljem (računalnikom) (za pravilno delovanje potrebuje nekaj odpravljanja napak in temeljito prevrednotenje).

Priporočena: