Indholdsfortegnelse:
Video: DIY VR løbebånd- Basys3 FPGA-Digilent konkurrence: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Vil du bygge en VR løbebånd, som du kan køre dine desktop -applikationer og spil på? Så er du kommet til det rigtige sted!
I konventionelle spil bruger du musen og tastaturet til at interagere med miljøet. Derfor skal vi sende den samme slags signaler som en mus og et tastatur, så der ikke er kompatibilitetsproblemer mellem vores løbebånd og spillet. I stedet for at skille disse enheder fra hinanden, skal vi oprette vores egen enhed, der kan simulere dem så tæt som muligt.
Til musens input vil vi bruge en disk med skiftevis ledende og ikke-ledende skiver, hvorpå to ledninger, med en lille forskydning, vil glide. Tavlen vil læse de signaler, der kommer fra ledningerne, hvilket giver os en af fire kombinationer: 00, 11, 10, 01, som vi direkte kan oversætte til venstre-højre bevægelse.
Til op-ned-bevægelsen vil vi i stedet for en disk bruge en plade med det samme mønster på 0'er og 1'er.
Som input til modulet, der simulerer tastaturet, har vi kontakter placeret på leddet på en stang, der holder selen. Når du træder i en hvilken som helst retning, vil stangen bøje let og dermed åbne kontakten.
(Husk, at projektet stadig er i gang og kan forbedres, så jeg venter på råd, der kan gøre det bedre)
Trin 1: Base
Basen skal have et lavt tyngdepunkt, derfor skal der bruges et tungt materiale. I mit tilfælde brugte jeg gips og en antenneskive til at lave en konkav form, men andre midler kan bruges (f.eks. Yogakugle). Efter at formen er tørret, placeres den på to diske med samme diameter lavet af MDF eller et lignende materiale. Der vil blive indført et afstandsstykke mellem de to MDF -diske. Mellem disse diske placeres en trekantprofil, som har lejer på kanterne. Et andet sæt lejer vil blive placeret vinkelret på hjørnerne i trekanten og tangent til skiven øverst. For bedre præcision kan flere lejer bruges. En stang placeres på et af toppunkterne, som vist på det tredje billede. Denne stang holder selen, hvor spilleren skal placeres.
En anden fast udvendig stang bruges til at understøtte ledningerne og også som et referencepunkt for rotationsbevægelsen.
Trin 2: 2 Input Management
Fra en black-box synspunkt vil enheden have følgende indgange: 4 forbindelser til x, y mus tællere, 2 forbindelser til museknapper og 4 forbindelser til piletasterne. Outputtet repræsenteres af 4 ben: 2 for musens PS2 -forbindelse og yderligere 2 for tastaturets PS2 -forbindelse. For en mere detaljeret beskrivelse af PS2-protokollen kan du tjekke følgende websted:
Som input til tavlen valgte jeg JB (1 ned til 0) digitale ben. I betragtning af sekvensen … 11001100…, læst på de to input, kan vi skelne mellem tre tilstande i tællerne:
1. tæl op;
2. Tæl ned;
3. Gem den aktuelle værdi;
Count_Type -modulet gør præcis det. Hvis der er en ændring i input, sender modulet en passende besked til 8 -bit tælleren (implementeret i filen 8_bit_count.vhd), som tilføjer eller trækker fra den aktuelle værdi, medmindre der modtages et nulstillingssignal.
Den samme idé bruges til opadgående bevægelse af hovedet, men i stedet for en disk skal der bruges en glidende lineær profil med det samme skiftevis 0 & 1-mønster.
Trin 3: VHDL -implementering
Følgende moduler er knyttet til præsentationen:
1. Count_Type: dette modul håndterer afkodningen af de to indgangstråde fra disken eller profilen, beskrevet i det andet trin;
2. 8bit_count: dette modul fortolker den afkodede meddelelse fra Count_Type og øger eller formindsker tællerne;
3. 3bytepacket: dette modul administrerer status for venstre og højre knapper og formaterer dataene, så de kan introduceres i den 3 -byte datapakke, der bruges i PS2 -protokollen;
4.clk12khz: dette modul giver et ur på 12khz specifikt til PS2 -protokollen, som visse komponenter og processer arbejder på;
5. MessageManager: dette modul sender 3 -byte datapakken, fortolker den og giver det relevante svar som svar på en meddelelse fra pc'en.
6. PS2Interface: dette modul grænseflader kommunikationsprotokollen mellem enheden og værten (pc) (dette modul kræver lidt fejlfinding og en grundig revurdering for at fungere korrekt).
Anbefalede:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 trin
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: På trods af at FPGA DueProLogic er officielt designet til Arduino, vil vi gøre FPGA og Raspberry Pi 4B overførbare. Tre opgaver implementeres i denne vejledning: (A) Tryk samtidigt på de to trykknapper på FPGA for at vende vinklen på
Tegningsrobot med Adafruit Shield (Få det til at flytte konkurrence): 10 trin (med billeder)
Drawing Robot With Adafruit Shield (Make It Move Contest): Hej mine navne Jacob og jeg bor i Storbritannien. I dette projekt skal jeg bygge en robot, der tegner for dig. *Jeg er sikker på, at mange af jer vil se det, så hvis du vil vide det, skal du springe lige til det andet til sidste trin, men sørg for at komme tilbage her for at se
Lommeregner TinkerCad -konkurrence: 8 trin
Calculator TinkerCad Contest: Hey, så for nylig har jeg undersøgt, hvordan man implementerer forskellige typer kode i et kredsløb. Jeg fandt ud af, at det at lave en lommeregner ville være en fantastisk måde at implementere " case " og andre former for kode, jeg havde fundet interessante. Jeg har tidligere m
Brug en løbebånd DC -motor og PWM -hastighedsregulator til elværktøjer: 13 trin (med billeder)
Brug en løbebånd DC -motor og PWM -hastighedsregulator til elværktøjer: Elværktøjer som metalskæremøller og drejebænke, boremaskiner, båndsave, slibemaskiner og mere kan kræve motorer fra 5 til 2 hk med mulighed for at finjustere hastigheden, samtidig med at drejningsmomentet opretholdes .Tilfælde bruger de fleste løbebånd en 80-260 VDC motor med
USB Thumb Drive Zippo Lighter Case Mod (lommestørrelse konkurrence! STEM PÅ MIG!): 7 trin
USB Thumb Drive Zippo Lighter Case Mod (Pocket-sized Contest! STEM PÅ MIG!): Træt af det kedelige USB-drev? Spice it up med denne Zippo Lighter Mod