Sadržaj:

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

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

Video: DIY VR traka za trčanje- Basys3 FPGA-Digilent takmičenje: 3 koraka
Video: DIY treadmill #shorts 2024, Novembar
Anonim
DIY VR traka za trčanje- Basys3 FPGA-Digilent takmičenje
DIY VR traka za trčanje- Basys3 FPGA-Digilent takmičenje

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

U konvencionalnim igrama koristite miš i tastaturu za interakciju s okolinom. 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 razdvajamo ove uređaje, stvorit ćemo vlastiti uređaj koji ih može simulirati što je moguće bliže.

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

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

Kao ulazi za modul koji simulira tastaturu, imat ćemo prekidače postavljene na spoju štapa koji će držati uprtač. Kada 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 ga može 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, koristio 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 set 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 ulazom
2 Upravljanje ulazom
2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima
2 Upravljanje ulazima

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

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

1. Prebrojite;

2. Odbrojavanje;

3. Sačuvajte trenutnu vrednost;

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 se ne primi signal za resetiranje.

Ista se ideja koristi za kretanje glave prema gore-gore, ali umjesto diska, mora se koristiti klizni linearni profil s istim naizmjenič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. 3bytepacket: ovaj modul upravlja statusom lijevog i desnog dugmeta i formatira 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 sa računara.

6. PS2Interface: ovaj modul povezuje komunikacijski protokol između uređaja i računara (PC -u) (ovom modulu je potrebno određeno otklanjanje grešaka i temeljita ponovna procjena kako bi ispravno radio).

Preporučuje se: