Obsah:

DIY VR bežecký pás- Basys3 FPGA-Digilent súťaž: 3 kroky
DIY VR bežecký pás- Basys3 FPGA-Digilent súťaž: 3 kroky

Video: DIY VR bežecký pás- Basys3 FPGA-Digilent súťaž: 3 kroky

Video: DIY VR bežecký pás- Basys3 FPGA-Digilent súťaž: 3 kroky
Video: DIY treadmill #shorts 2024, Júl
Anonim
DIY VR bežecký pás- súťaž Basys3 FPGA-Digilent
DIY VR bežecký pás- súťaž Basys3 FPGA-Digilent

Chcete postaviť bežecký pás VR, na ktorom môžete spúšťať desktopové aplikácie a hry? Potom ste na správnom mieste!

V bežných hrách používate myš a klávesnicu na interakciu s prostredím. Preto musíme vysielať rovnaký druh signálov ako myš a klávesnica, aby medzi naším bežeckým pásom a hrou neboli žiadne problémy s kompatibilitou. Namiesto rozoberania týchto zariadení vytvoríme vlastné zariadenie, ktoré ich dokáže simulovať čo najbližšie.

Na vstupy pre myš použijeme disk so striedavými vodivými a nevodivými rezmi, na ktorom sa budú kĺzať dva vodiče s malým posunom. Doska bude čítať signály prichádzajúce z drôtov, čo nám poskytne jednu zo štyroch kombinácií: 00, 11, 10, 01, ktoré môžeme priamo prekladať v pohybe zľava doprava.

Na pohyb hore-dole namiesto disku použijeme tanier s rovnakým vzorom 0 a 1.

Ako vstupy pre modul simulujúci klávesnicu budeme mať spínače umiestnené na kĺbe tyče, ktorá bude držať postroj. Keď vykročíte akýmkoľvek smerom, tyč sa mierne ohne, čím sa otvorí spínač.

(Majte na pamäti, že projekt stále prebieha a je možné ho zlepšiť, takže čakám na každú radu, ktorá ho môže zlepšiť.)

Krok 1: Základňa

Základňa
Základňa
Základňa
Základňa
Základňa
Základňa

Základňa by mala mať nízke ťažisko, preto je potrebné použiť ťažký materiál. V mojom prípade som použil sadru a anténny kotúč na výrobu konkávnej formy, ale dajú sa použiť aj iné prostriedky (napr. Loptička na jogu). Po zaschnutí bude forma umiestnená na dva disky rovnakého priemeru vyrobené z MDF alebo podobného materiálu. Medzi dva disky MDF bude vložený medzikus. Medzi tieto disky bude umiestnený trojuholníkový profil, ktorý má na okrajoch ložiská. Ďalšia sada ložísk bude umiestnená kolmo na vrcholy trojuholníka a dotyčnica k disku, na vrchu. Pre lepšiu presnosť je možné použiť viac ložísk. Na jeden z vrcholov bude umiestnená tyč, ako je znázornené na treťom obrázku. Tento prút drží postroj, v ktorom bude hráč umiestnený.

Ďalšia pevná vonkajšia tyč slúži na podopretie drôtov a tiež ako referenčný bod pre rotačný pohyb.

Krok 2: 2 Správa vstupov

2 Správa vstupov
2 Správa vstupov
2 Správa vstupov
2 Správa vstupov
2 Správa vstupov
2 Správa vstupov

Z pohľadu čiernej skrinky bude mať zariadenie nasledujúce vstupy: 4 pripojenia pre počítadlá myši x, y, 2 pripojenia pre tlačidlá myši a 4 pripojenia pre klávesy so šípkami. Výstup predstavujú 4 piny: 2 pre pripojenie myši PS2 a ďalšie 2 pre pripojenie PS2 pre klávesnicu. Podrobnejší popis protokolu PS2 nájdete na nasledujúcej stránke:

Ako vstupy pre dosku som zvolil digitálne piny JB (1 až 0). Vzhľadom na postupnosť… 11001100…, čítanú na dvoch vstupoch, môžeme rozlíšiť tri stavy počítadiel:

1. Počítajte;

2. odpočítajte;

3. Uložte aktuálnu hodnotu;

Presne to robí modul Count_Type. Ak dôjde k zmene na vstupe, modul pošle príslušnú správu na 8 -bitový čítač (implementovaný v súbore 8_bit_count.vhd), ktorý sčíta alebo odoberá aktuálnu hodnotu, pokiaľ nie je prijatý signál resetovania.

Rovnaká myšlienka sa používa pre pohyb hlavy hore-dole, ale namiesto disku sa použije posuvný lineárny profil s rovnakým striedajúcim sa vzorom 0 & 1.

Krok 3: Implementácia VHDL

Implementácia VHDL
Implementácia VHDL

K prezentácii sú priložené tieto moduly:

1. Count_Type: tento modul spracováva dekódovanie dvoch vstupných vodičov z disku alebo profilu, popísaných v druhom kroku;

2. 8bit_count: tento modul interpretuje dekódovanú správu z Count_Type a zvyšuje alebo znižuje počítadlá;

3. 3bytepacket: tento modul spravuje stav ľavého a pravého tlačidla a formátuje údaje, aby ich bolo možné vložiť do 3 -bajtového dátového paketu používaného v protokole PS2;

4. clk12khz: tento modul poskytuje hodiny 12 khz špecifické pre protokol PS2, na ktorých pracujú určité súčasti a procesy;

5. MessageManager: tento modul odošle 3 -bajtový dátový paket, interpretuje ho a poskytne príslušnú odpoveď ako odpoveď na správu z počítača.

6. Rozhranie PS2: tento modul prepojuje komunikačný protokol medzi zariadením a hostiteľom (PC) (tento modul vyžaduje správne ladenie a dôkladné prehodnotenie).

Odporúča: