Sadržaj:

DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje: 3 koraka
DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje: 3 koraka

Video: DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje: 3 koraka

Video: DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje: 3 koraka
Video: How do VR treadmills work? #vr 2024, Prosinac
Anonim
DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje
DIY VR traka za trčanje- Basys3 FPGA-Digilent natjecanje

Želite li izgraditi VR traku za trčanje na kojoj možete pokrenuti aplikacije i igre za stolna računala? Onda ste došli na pravo mjesto!

U konvencionalnim igrama za interakciju s okolinom koristite miš i tipkovnicu. Stoga moramo poslati istu vrstu signala kao miš i tipkovnica kako ne bi došlo do problema s kompatibilnošću između naše trake za trčanje i igre. Umjesto da ove uređaje rastavimo, stvorit ćemo vlastiti uređaj koji ih može simulirati što je moguće bliže.

Za unose mišem koristit ćemo disk s izmjeničnim vodljivim i neprovodljivim presjecima, na kojem će kliziti dvije žice s malim pomakom. Ploča će čitati signale koji dolaze s žica, dajući nam jednu od četiri kombinacije: 00, 11, 10, 01, koje možemo izravno prevesti u kretnje lijevo-desno.

Za kretanje gore-dolje, umjesto diska, koristit ćemo ploču s istim uzorkom 0 i 1.

Kao ulazi za modul koji simulira tipkovnicu, imat ćemo prekidače postavljene na spoju štapa koji će držati uprtač. Kad zakoračite u bilo kojem smjeru, šipka će se lagano saviti, čime se otvara prekidač.

(Imajte na umu da je projekt još uvijek u tijeku i da se može poboljšati, pa čekam svaki savjet koji bi ga mogao poboljšati)

Korak 1: Baza

Baza
Baza
Baza
Baza
Baza
Baza

Baza bi trebala imati nisko težište, pa je potrebno koristiti teški materijal. U mom slučaju koristila sam gips i antenski disk za izradu udubljenog kalupa, ali mogu se koristiti i druga sredstva (npr. Lopta za jogu). Nakon što se kalup osuši, bit će postavljen na dva diska istog promjera izrađena od MDF -a ili sličnog materijala. Između dva MDF diska bit će uveden razmaknica. Između ovih diskova postavit će se trokutasti profil koji ima ležajeve na rubovima. Drugi skup ležajeva bit će postavljen okomito na vrhove trokuta i tangentiran na disk, na vrhu. Za bolju preciznost može se koristiti više ležajeva. Štap će biti postavljen na jedan od vrhova, kao što je prikazano na trećoj slici. Ovaj štap drži pojaseve u koje će igrač biti smješten.

Druga fiksna vanjska šipka koristi se za podupiranje žica, a također i kao referentna točka za rotacijsko kretanje.

Korak 2: 2 Upravljanje ulazom

2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima

S gledišta crne kutije, uređaj će imati sljedeće ulaze: 4 veze za x, y brojače miša, 2 veze za tipke miša i 4 veze za tipke sa strelicama. Izlaz je predstavljen sa 4 pina: 2 za PS2 vezu miša i još 2 za PS2 vezu tipkovnice. Za detaljniji opis PS2 protokola možete provjeriti sljedeće mjesto:

Kao ulaze za ploču, odabrao sam JB (1 downto 0) digitalne pinove. Uzimajući u obzir slijed… 11001100…, očitan na dva ulaza, možemo razlikovati tri stanja brojača:

1. Prebrojite;

2. Odbrojavanje;

3. Spremite trenutnu vrijednost;

Modul Count_Type radi upravo to. Ako dođe do promjene u ulazu, tada modul šalje odgovarajuću poruku 8 -bitnom brojaču (implementirano u datoteci 8_bit_count.vhd), koja dodaje ili oduzima od trenutne vrijednosti, osim ako je primljen signal za resetiranje.

Ista se ideja koristi za kretanje glave gore-dolje, ali umjesto diska, mora se koristiti klizni linearni profil s istim izmjeničnim uzorkom 0 & 1.

Korak 3: Implementacija VHDL -a

Implementacija VHDL -a
Implementacija VHDL -a

Prezentaciji su priloženi sljedeći moduli:

1. Vrsta_broja: ovaj modul upravlja dekodiranjem dviju ulaznih žica s diska ili profila, opisanih u drugom koraku;

2. 8bit_count: ovaj modul tumači dekodiranu poruku iz Count_Type i povećava ili smanjuje brojače;

3. 3bajtni paket: ovaj modul upravlja statusom lijeve i desne tipke i oblikuje podatke tako da se može uvesti u 3 -bajtni paket podataka koji se koristi u PS2 protokolu;

4.clk12khz: ovaj modul daje sat od 12khz specifičan za PS2 protokol na kojem određene komponente i procesi rade;

5. MessageManager: ovaj modul šalje 3 -bajtni paket podataka, tumači ga i daje odgovarajući odgovor kao odgovor na poruku s računala.

6. PS2Interface: ovaj modul sučeljava komunikacijski protokol između uređaja i računala (računalo) (ovom modulu je potrebno neko ispravljanje pogrešaka i temeljita ponovna procjena kako bi ispravno radio).

Preporučeni: