Taula de continguts:

Cinta de córrer de bricolatge VR: Concurs FPGA-Digilent Basys3: 3 passos
Cinta de córrer de bricolatge VR: Concurs FPGA-Digilent Basys3: 3 passos

Vídeo: Cinta de córrer de bricolatge VR: Concurs FPGA-Digilent Basys3: 3 passos

Vídeo: Cinta de córrer de bricolatge VR: Concurs FPGA-Digilent Basys3: 3 passos
Vídeo: A Fun Run in Festa de Gracia 2022 - Barcelona, Spain - Virtual Run - Treadmill - #012 2024, Desembre
Anonim
Cinta de córrer de bricolatge VR - Concurs FPGA-Digilent Basys3
Cinta de córrer de bricolatge VR - Concurs FPGA-Digilent Basys3

Voleu crear una cinta de córrer VR per executar les vostres aplicacions i jocs d'escriptori? Després heu arribat al lloc correcte.

En els jocs convencionals, utilitzeu el ratolí i el teclat per interactuar amb l’entorn. Per tant, hem d’enviar el mateix tipus de senyals que el ratolí i el teclat perquè no hi hagi problemes de compatibilitat entre la nostra cinta de córrer i el joc. En lloc de desmuntar aquests dispositius, crearem el nostre propi dispositiu que els pugui simular el més a prop possible.

Per a les entrades del ratolí utilitzarem un disc amb rodanxes conductores i no conductores alternes, sobre el qual lliscaran dos cables, amb un petit desplaçament. El tauler llegirà els senyals que provenen dels cables, donant-nos una de les quatre combinacions: 00, 11, 10, 01, que podem traduir directament en moviment esquerra-dreta.

Per al moviment amunt-avall, en lloc d’un disc, utilitzarem una placa amb el mateix patró de 0 i 1.

Com a entrades per al mòdul que simula el teclat, tindrem interruptors col·locats a la junta d’una vareta que subjectarà l’arnès. Quan trepitgeu qualsevol direcció, la vareta es doblegarà lleugerament i obrirà l’interruptor.

(Tingueu en compte que el projecte encara està en curs i es pot millorar, així que estic esperant qualsevol consell que el pugui millorar)

Pas 1: base

Base
Base
Base
Base
Base
Base

La base ha de tenir un centre de gravetat baix, per la qual cosa s’ha d’utilitzar un material pesat. En el meu cas, he utilitzat guix i un disc d’antena per fer un motlle còncau, però es poden utilitzar altres mitjans (per exemple, bola de ioga). Després d’assecar-se el motlle, es col·locarà en dos discos del mateix diàmetre fets amb MDF o un material similar. S'introduirà un espaiador entre els dos discs MDF. Entre aquests discos, es col·locarà un perfil de triangle que té rodaments a les vores. Un altre conjunt de rodaments es col·locarà perpendicular als vèrtexs del triangle i tangent al disc, a la part superior. Per a una millor precisió, es poden utilitzar més coixinets. Es col·locarà una vareta en un dels vèrtexs, tal com es mostra a la tercera imatge. Aquesta canya sosté l’arnès en què es col·locarà el jugador.

Una altra barra exterior fixa s’utilitza per recolzar els cables i també com a punt de referència per al moviment de rotació.

Pas 2: 2 Gestió d'entrada

2 Gestió d'entrada
2 Gestió d'entrada
2 Gestió d'entrada
2 Gestió d'entrada
2 Gestió d'entrada
2 Gestió d'entrada

Des del punt de vista de la caixa negra, el dispositiu tindrà les entrades següents: 4 connexions per als comptadors del ratolí x, y, 2 connexions per als botons del ratolí i 4 connexions per a les tecles de fletxa. La sortida està representada per 4 pins: 2 per a la connexió PS2 del ratolí i altres 2 per a la connexió PS2 del teclat. Per obtenir una descripció més detallada del protocol PS2, podeu consultar el lloc següent:

Com a entrades per a la placa, vaig triar els pins digitals JB (1 fins a 0). Tenint en compte la seqüència … 11001100 …, llegida a les dues entrades, podem distingir entre tres estats dels comptadors:

1. Compte;

2. Compte enrere;

3. Deseu el valor actual;

El mòdul Count_Type ho fa exactament. Si hi ha un canvi a l'entrada, el mòdul envia un missatge adequat al comptador de 8 bits (implementat al fitxer 8_bit_count.vhd), que suma o resta del valor actual, tret que es rebi un senyal de restabliment.

La mateixa idea s’utilitza per al moviment cap amunt i cap avall del cap, però en lloc d’un disc, s’ha d’utilitzar un perfil lineal lliscant amb el mateix patró altern 0 & 1.

Pas 3: Implementació de VHDL

Implementació de VHDL
Implementació de VHDL

A la presentació s’adjunten els mòduls següents:

1. Count_Type: aquest mòdul gestiona la descodificació dels dos cables d’entrada del disc o del perfil, descrits al segon pas;

2. 8bit_count: aquest mòdul interpreta el missatge descodificat de Count_Type i augmenta o disminueix els comptadors;

3. Paquet de 3 bytes: aquest mòdul gestiona l'estat dels botons esquerre i dret i dóna format a les dades perquè es puguin introduir al paquet de dades de 3 bytes utilitzat al protocol PS2;

4.clk12khz: aquest mòdul proporciona un rellotge de 12khz específic del protocol PS2 en què treballen determinats components i processos;

5. MessageManager: aquest mòdul envia el paquet de dades de 3 bytes, l’interpreta i dóna la resposta adequada, com a resposta a un missatge del PC.

6. PS2Interface: aquest mòdul interfície el protocol de comunicació entre el dispositiu i l'amfitrió (PC) (aquest mòdul necessita una depuració i una revaluació completa per funcionar correctament).

Recomanat: