Cuprins:
Video: DIY VR Treadmill- Basys3 FPGA-Concurs Digilent: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Doriți să construiți o bandă de alergare VR pe care să vă puteți rula aplicațiile desktop și jocurile? Atunci ai ajuns la locul potrivit!
În jocurile convenționale, utilizați mouse-ul și tastatura pentru a interacționa cu mediul. Prin urmare, trebuie să trimitem același tip de semnale ca un mouse și o tastatură, astfel încât să nu existe probleme de compatibilitate între banda noastră de rulare și joc. În loc să îndepărtăm aceste dispozitive, vom crea propriul nostru dispozitiv care le poate simula cât mai aproape posibil.
Pentru intrările mouse-ului vom folosi un disc cu felii conductive și neconductoare alternante, pe care vor aluneca două fire, cu un mic offset. Placa va citi semnalele care vin de la fire, oferindu-ne una dintre cele patru combinații: 00, 11, 10, 01, pe care le putem traduce direct în mișcare stânga-dreapta.
Pentru mișcarea sus-jos, în loc de un disc, vom folosi o placă cu același model de 0 și 1.
Ca intrări pentru modulul care simulează tastatura, vom avea comutatoare plasate pe articulația unei tije care va ține cablajul. Când pășiți în orice direcție, tija se va îndoi ușor, deschizând astfel comutatorul.
(Rețineți că proiectul este încă în desfășurare și poate fi îmbunătățit, așa că aștept orice sfat care îl poate îmbunătăți)
Pasul 1: bază
Baza ar trebui să aibă un centru de greutate scăzut, astfel trebuie utilizat un material greu. În cazul meu, am folosit tencuială și un disc de antenă pentru a face o matriță concavă, dar pot fi folosite și alte mijloace (de ex. Mingea de yoga). După uscarea matriței, acesta va fi așezat pe două discuri de același diametru realizate din MDF sau dintr-un material similar. Se va introduce un distanțier între cele două discuri MDF. Între aceste discuri, va fi plasat un profil triunghiular, care are rulmenți pe margini. Un alt set de rulmenți va fi plasat perpendicular pe vârfurile triunghiului și tangente la disc, pe partea de sus. Pentru o mai bună precizie, pot fi folosiți mai mulți rulmenți. O tijă va fi plasată pe unul dintre vârfuri, așa cum se arată în a treia imagine. Această tijă ține hamul în care va fi plasat jucătorul.
O altă tijă exterioară fixă este utilizată pentru a susține firele și, de asemenea, ca punct de referință pentru mișcarea de rotație.
Pasul 2: 2 Managementul intrărilor
Din punct de vedere al casetei negre, dispozitivul va avea următoarele intrări: 4 conexiuni pentru contoarele mouse-ului x, y, 2 conexiuni pentru butoanele mouse-ului și 4 conexiuni pentru tastele săgeți. Ieșirea este reprezentată de 4 pini: 2 pentru conexiunea PS2 a mouse-ului și încă 2 pentru conexiunea PS2 de la tastatură. Pentru o descriere mai detaliată a protocolului PS2, puteți verifica următorul site:
Ca intrări pentru placă, am ales pinii digitali JB (1 până la 0). Având în vedere secvența … 11001100 …, citită pe cele două intrări, putem distinge între trei stări ale contoarelor:
1. Contează;
2. Numărătoarea inversă;
3. Salvați valoarea curentă;
Modulul Count_Type face exact asta. Dacă există o modificare a intrării, atunci modulul trimite un mesaj adecvat contorului de 8 biți (implementat în fișierul 8_bit_count.vhd), care adaugă sau scade din valoarea curentă, cu excepția cazului în care este primit un semnal de resetare.
Aceeași idee este utilizată pentru mișcarea sus-jos a capului, dar în locul unui disc, trebuie utilizat un profil liniar glisant cu același model alternativ 0 & 1.
Pasul 3: Implementarea VHDL
La prezentare sunt atașate următoarele module:
1. Count_Type: acest modul gestionează decodarea celor două fire de intrare de pe disc sau profil, descrise în al doilea pas;
2. 8bit_count: acest modul interpretează mesajul decodat din Count_Type și crește sau micșorează contoare;
3. 3bytepacket: acest modul gestionează starea butoanelor stânga și dreapta și formează datele astfel încât să poată fi introduse în pachetul de date de 3 octeți utilizat în protocolul PS2;
4.clk12khz: acest modul oferă un ceas de 12khz specific protocolului PS2 pe care funcționează anumite componente și procese;
5. MessageManager: acest modul trimite pachetul de date de 3 octeți, îl interpretează și oferă răspunsul corespunzător, ca răspuns la un mesaj de pe computer.
6. PS2Interface: acest modul interfață protocolul de comunicație între dispozitiv și gazdă (PC) (acest modul necesită o depanare și o reevaluare aprofundată pentru a funcționa corect).
Recomandat:
FPGA Cyclone IV DueProLogic Controls Camera Raspberry Pi: 5 pași
FPGA Cyclone IV DueProLogic Controls Camera Raspberry Pi: În ciuda faptului că FPGA DueProLogic este conceput oficial pentru Arduino, vom face FPGA și Raspberry Pi 4B comunicabile. Trei sarcini sunt implementate în acest tutorial: (A) Apăsați simultan cele două butoane pe FPGA pentru a răsturna unghiul de
FPGA Cyclone IV DueProLogic - Buton și LED: 5 pași
FPGA Cyclone IV DueProLogic - Buton și LED: În acest tutorial, vom folosi FPGA pentru a controla circuitul LED extern. Urmează să implementăm următoarele sarcini (A) Folosiți butoanele de pe FPGA Cyclone IV DuePrologic pentru a controla LED-ul. (B) LED-ul flash pe & oprit periodicVideo Demo Lab
FPGA Cyclone IV DueProLogic Controls Servomotor: 4 pași
FPGA Cyclone IV DueProLogic Controls Servo Motor: În acest tutorial, vom scrie codul Verilog pentru a controla servomotorul. Servo-ul SG-90 este fabricat de Waveshare. Când cumpărați servomotorul, este posibil să primiți o fișă tehnică care să enumere tensiunea de funcționare, cuplul maxim și puterea propusă
Mojo FPGA Development Board Shield: 3 pași
Mojo FPGA Development Board Shield: Conectați-vă placa de dezvoltare Mojo la intrările externe cu acest scut. Ce este placa de dezvoltare Mojo? Placa de dezvoltare Mojo este o placă de dezvoltare bazată pe Xilinx spartan 3 FPGA. Tabloul este realizat de Alchitry. FPGA sunt foarte utile
Realizați orice senzor dintr-un FPGA: 4 pași
Realizați orice senzor dintr-un FPGA: majoritatea producătorilor au încercat să construiască cel puțin o dată în viață un termometru, poate cel pe care îl au acasă nu este suficient de inteligent sau poate cred că pot construi următorul NEST. Cu toate acestea, la un moment dat au avut un microcontroler cu starea lor