Satura rādītājs:

DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss: 3 soļi
DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss: 3 soļi

Video: DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss: 3 soļi

Video: DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss: 3 soļi
Video: FPGA Vio IMPLEMENTATION (Vivado 19.1) Part(1) 2024, Novembris
Anonim
DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss
DIY VR skrejceļš- Basys3 FPGA-Digilent konkurss

Vai vēlaties izveidot VR skrejceliņu, kurā varētu darbināt darbvirsmas lietojumprogrammas un spēles? Tad jūs esat nonācis īstajā vietā!

Parastajās spēlēs jūs izmantojat peli un tastatūru, lai mijiedarbotos ar vidi. Tāpēc mums ir jānosūta tāda paša veida signāli kā pelei un tastatūrai, lai starp mūsu skrejceliņu un spēli nebūtu saderības problēmu. Tā vietā, lai izjauktu šīs ierīces, mēs izveidosim savu ierīci, kas tās var simulēt pēc iespējas tuvāk.

Peles ievadiem mēs izmantosim disku ar mainīgām vadošām un nevadošām šķēlītēm, pa kurām slīdēs divi vadi ar nelielu nobīdi. Tāfele nolasīs signālus, kas nāk no vadiem, dodot mums vienu no četrām kombinācijām: 00, 11, 10, 01, ko mēs varam tieši tulkot kreisās un labās kustības.

Kustībai augšup uz leju diska vietā mēs izmantosim plāksni ar vienādu 0 un 1 zīmējumu.

Kā ievadi modulim, kas simulē tastatūru, mums būs slēdži, kas novietoti uz stieņa savienojuma, kas turēs zirglietas. Kad jūs soli jebkurā virzienā, stienis nedaudz saliekties, tādējādi atverot slēdzi.

(Paturiet prātā, ka projekts vēl turpinās un to var uzlabot, tāpēc gaidu visus padomus, kā to uzlabot)

1. darbība: bāze

Bāze
Bāze
Bāze
Bāze
Bāze
Bāze

Pamatnei jābūt ar zemu smaguma centru, tāpēc jāizmanto smags materiāls. Manā gadījumā es izmantoju apmetumu un antenas disku, lai izveidotu ieliektu veidni, bet var izmantot citus līdzekļus (piemēram, jogas bumbu). Pēc veidnes izžūšanas tā tiks novietota uz diviem tāda paša diametra diskiem, kas izgatavoti no MDF vai līdzīga materiāla. Starp diviem MDF diskiem tiks ieviesta starplika. Starp šiem diskiem tiks ievietots trīsstūra profils, kura malās ir gultņi. Vēl viens gultņu komplekts tiks novietots perpendikulāri trīsstūra virsotnēm un pieskaras diskam augšpusē. Labākai precizitātei var izmantot vairāk gultņu. Stienis tiks novietots vienā no virsotnēm, kā parādīts trešajā attēlā. Šis stienis satur zirglietas, kurās tiks ievietots spēlētājs.

Citu fiksētu ārējo stieni izmanto, lai atbalstītu vadus, kā arī kā atskaites punktu rotācijas kustībai.

2. darbība: 2 ievades pārvaldība

2 Ievades pārvaldība
2 Ievades pārvaldība
2 Ievades pārvaldība
2 Ievades pārvaldība
2 Ievades pārvaldība
2 Ievades pārvaldība

No melnās kastes viedokļa ierīcei būs šādas ievades: 4 savienojumi x, y peles skaitītājiem, 2 savienojumi peles pogām un 4 savienojumi bulttaustiņiem. Rezultātu attēlo 4 tapas: 2 peles PS2 savienojumam un vēl 2 tastatūras PS2 savienojumam. Lai iegūtu sīkāku PS2 protokola aprakstu, skatiet šo vietni:

Kā plates ievadi es izvēlējos JB (1 līdz 0) digitālās tapas. Ņemot vērā secību… 11001100…, lasot abos ievados, mēs varam atšķirt trīs skaitītāju stāvokļus:

1. saskaitīt;

2. saskaitīt;

3. Saglabājiet pašreizējo vērtību;

Modulis Count_Type dara tieši to. Ja ievade tiek mainīta, tad modulis nosūta atbilstošu ziņojumu uz 8 bitu skaitītāju (ieviests failā 8_bit_count.vhd), kas pievieno vai atņem pašreizējo vērtību, ja vien netiek saņemts atiestatīšanas signāls.

To pašu ideju izmanto galvas augšupvērstajai kustībai, bet diska vietā izmanto slīdošu lineāru profilu ar tādu pašu mainīgu 0 un 1 modeli.

3. solis: VHDL ieviešana

VHDL ieviešana
VHDL ieviešana

Prezentācijai ir pievienoti šādi moduļi:

1. Count_Type: šis modulis apstrādā divu ieejas vadu dekodēšanu no diska vai profila, kas aprakstīts otrajā solī;

2. 8bit_count: šis modulis interpretē dekodēto ziņojumu no Count_Type un palielina vai samazina skaitītājus;

3. 3 baitu pakete: šis modulis pārvalda kreisās un labās pogas statusu un formatē datus, lai tos varētu ieviest 3 baitu datu paketē, ko izmanto PS2 protokolā;

4.clk12khz: šis modulis nodrošina 12 khz pulksteni, kas raksturīgs PS2 protokolam, pie kura darbojas daži komponenti un procesi;

5. MessageManager: šis modulis nosūta 3 baitu datu paketi, to interpretē un sniedz atbilstošu atbildi kā atbildi uz ziņojumu no datora.

6. PS2Interface: šis modulis savieno saskarnes protokolu starp ierīci un resursdatoru (datoru) (lai tas darbotos pareizi, šim modulim nepieciešama neliela atkļūdošana un rūpīga pārvērtēšana).

Ieteicams: