Obsah:

DIY VR běžecký pás- Basys3 FPGA-Digilent soutěž: 3 kroky
DIY VR běžecký pás- Basys3 FPGA-Digilent soutěž: 3 kroky

Video: DIY VR běžecký pás- Basys3 FPGA-Digilent soutěž: 3 kroky

Video: DIY VR běžecký pás- Basys3 FPGA-Digilent soutěž: 3 kroky
Video: How do VR treadmills work? #vr 2024, Červenec
Anonim
DIY VR běžecký pás- Basys3 FPGA-Digilent Contest
DIY VR běžecký pás- Basys3 FPGA-Digilent Contest

Chcete postavit běžecký pás VR, na kterém můžete spouštět desktopové aplikace a hry? Pak jste na správném místě!

V konvenčních hrách používáte myš a klávesnici k interakci s prostředím. Proto musíme vysílat stejný druh signálů jako myš a klávesnice, aby mezi naším běžeckým pásem a hrou nebyly žádné problémy s kompatibilitou. Spíše než rozebírat tato zařízení, vytvoříme vlastní zařízení, které je dokáže simulovat co nejblíže.

Pro vstupy myši použijeme disk se střídavými vodivými a nevodivými plátky, na kterém se budou klouzat dva dráty s malým odsazením. Deska bude číst signály přicházející z vodičů, což nám dává jednu ze čtyř kombinací: 00, 11, 10, 01, které můžeme přímo překládat pohybem zleva doprava.

Pro pohyb nahoru a dolů použijeme místo disku desku se stejným vzorem 0 a 1.

Jako vstupy pro modul simulující klávesnici budeme mít spínače umístěné na kloubu tyče, která bude držet postroj. Když vykročíte jakýmkoli směrem, tyč se mírně ohne, čímž se otevře spínač.

(Mějte na paměti, že projekt stále probíhá a lze jej zlepšit, takže čekám na jakoukoli radu, která by ho mohla zlepšit)

Krok 1: Základna

Základna
Základna
Základna
Základna
Základna
Základna

Základna by měla mít nízké těžiště, proto je třeba použít těžký materiál. V mém případě jsem použil sádru a anténní disk na výrobu konkávní formy, ale lze použít i jiné prostředky (např. Jógový míč). Jakmile forma vyschne, bude umístěna na dva disky stejného průměru vyrobené z MDF nebo podobného materiálu. Mezi dva disky MDF bude vložen mezikus. Mezi tyto disky bude umístěn trojúhelníkový profil, který má na okrajích ložiska. Další sada ložisek bude umístěna kolmo na vrcholy trojúhelníku a tečná k disku, nahoře. Pro lepší přesnost lze použít více ložisek. Na jeden z vrcholů bude umístěn prut, jak ukazuje třetí obrázek. Tento prut drží postroj, ve kterém bude hráč umístěn.

Další pevná vnější tyč slouží k podepření drátů a také jako referenční bod pro rotační pohyb.

Krok 2: 2 Správa vstupu

2 Řízení vstupu
2 Řízení vstupu
2 Řízení vstupu
2 Řízení vstupu
2 Řízení vstupu
2 Řízení vstupu

Z pohledu černé skříňky bude mít zařízení následující vstupy: 4 připojení pro čítače myši x, y, 2 připojení pro tlačítka myši a 4 připojení pro klávesy se šipkami. Výstup představují 4 piny: 2 pro připojení myši PS2 a další 2 pro připojení PS2 pro klávesnici. Podrobnější popis protokolu PS2 najdete na následujícím webu:

Jako vstupy pro desku jsem zvolil digitální piny JB (1 až 0). Vzhledem k sekvenci… 11001100…, čtené na dvou vstupech, můžeme rozlišit tři stavy čítačů:

1. Počítejte;

2. odpočítávání;

3. Uložte aktuální hodnotu;

Přesně to dělá modul Count_Type. Pokud dojde ke změně na vstupu, pak modul odešle příslušnou zprávu na 8bitový čítač (implementovaný v souboru 8_bit_count.vhd), který přidá nebo odečte aktuální hodnotu, pokud není přijat resetovací signál.

Stejná myšlenka se používá pro pohyb hlavy nahoru-dolů, ale místo disku se použije posuvný lineární profil se stejným střídajícím se vzorem 0 & 1.

Krok 3: Implementace VHDL

Implementace VHDL
Implementace VHDL

K prezentaci jsou připojeny následující moduly:

1. Count_Type: tento modul zpracovává dekódování dvou vstupních vodičů z disku nebo profilu, popsaných ve druhém kroku;

2. 8bit_count: tento modul interpretuje dekódovanou zprávu z Count_Type a zvyšuje nebo snižuje čítače;

3. 3bytepacket: tento modul spravuje stav levého a pravého tlačítka a formátuje data, takže je lze zavést do 3bajtového datového paketu používaného v protokolu PS2;

4. clk12khz: tento modul poskytuje hodiny 12 khz specifické pro protokol PS2, na kterých pracují určité součásti a procesy;

5. MessageManager: tento modul odešle tříbajtový datový paket, interpretuje jej a poskytne příslušnou odpověď jako odpověď na zprávu z počítače.

6. Rozhraní PS2: tento modul propojuje komunikační protokol mezi zařízením a hostitelem (PC) (tento modul potřebuje správné ladění a důkladné přehodnocení).

Doporučuje: