Sisällysluettelo:
Video: DIY VR -juoksumatto- Basys3 FPGA-Digilent -kilpailu: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Haluatko rakentaa VR -juoksumaton, jolla voit käyttää työpöytäsovelluksiasi ja -pelejäsi? Sitten olet tullut oikeaan paikkaan!
Perinteisissä peleissä käytät hiirtä ja näppäimistöä vuorovaikutuksessa ympäristön kanssa. Siksi meidän on lähetettävä samanlaisia signaaleja kuin hiiri ja näppäimistö, jotta juoksumaton ja pelin välillä ei olisi yhteensopivuusongelmia. Näiden laitteiden erottamisen sijaan meidän on luotava oma laite, joka voi simuloida niitä mahdollisimman lähellä.
Käytämme hiiren tuloihin levyä, jossa on vuorottelevat johtavat ja johtamattomat viipaleet, joilla kaksi johdinta pienellä siirtymällä liukuu. Taulu lukee johdoista tulevat signaalit ja antaa meille yhden neljästä yhdistelmästä: 00, 11, 10, 01, jonka voimme kääntää suoraan vasemmalta oikealle.
Ylös-alas-liikkeessä levyn sijasta käytämme levyä, jolla on sama kuvio 0 ja 1.
Näppäimistöä simuloivan moduulin sisääntuloina asetamme kytkimet valjaita pitävän tangon liitokseen. Kun astut mihin tahansa suuntaan, tanko taipuu hieman ja avaa siten kytkimen.
(Muista, että projekti on vielä kesken ja sitä voidaan parantaa, joten odotan neuvoja, jotka voivat parantaa sitä)
Vaihe 1: Pohja
Pohjan painopisteen tulisi olla matala, joten on käytettävä raskasta materiaalia. Minun tapauksessani käytin kipsiä ja antennilevyä koveran muotin tekemiseen, mutta muita keinoja voidaan käyttää (esim. Joogapallo). Muotin kuivumisen jälkeen se asetetaan kahdelle halkaisijaltaan samalle levylle, jotka on valmistettu MDF -levystä tai vastaavasta materiaalista. Kahden MDF -levyn väliin lisätään välikappale. Näiden levyjen väliin sijoitetaan kolmio -profiili, jonka reunoilla on laakerit. Toinen laakerisarja sijoitetaan kohtisuoraan kolmion kärkiin ja levyn tangenttiin yläosaan. Tarkkuuden parantamiseksi voidaan käyttää enemmän laakereita. Vipu asetetaan yhteen kärjestä, kuten kolmannessa kuvassa. Tämä sauva pitää valjaat, joihin pelaaja sijoitetaan.
Toista kiinteää ulkotankoa käytetään tukemaan lankoja ja myös vertailupisteenä kiertoliikkeelle.
Vaihe 2: 2 Tulonhallinta
Mustan laatikon näkökulmasta laitteessa on seuraavat tulot: 4 liitäntää x-, y-hiiren laskureille, 2 liitäntää hiiren painikkeille ja 4 liitäntää nuolinäppäimille. Lähtöä edustaa 4 nastaa: 2 hiiren PS2 -liitäntää ja toinen 2 näppäimistön PS2 -liitäntää varten. Tarkemman kuvauksen PS2-protokollasta löydät seuraavasta sivustosta:
Levyn tuloiksi valitsin JB (1 - 0) digitaaliset nastat. Kun otetaan huomioon sekvenssi… 11001100…, kun luet kahdesta syötteestä, voimme erottaa kolme laskurin tilaa:
1. laskea ylös;
2. laskea alas;
3. Tallenna nykyinen arvo;
Count_Type -moduuli tekee juuri niin. Jos tulossa tapahtuu muutoksia, moduuli lähettää asianmukaisen viestin 8 -bittiselle laskurille (toteutettu tiedostossa 8_bit_count.vhd), joka lisää tai vähentää nykyisen arvon, ellei kuittaussignaalia vastaanoteta.
Samaa ajatusta käytetään pään ylöspäin suuntautuvassa liikkeessä, mutta levyn sijasta on käytettävä liukuvaa lineaarista profiilia, jolla on sama vuorotteleva 0 & 1-kuvio.
Vaihe 3: VHDL -käyttöönotto
Esityksen liitteenä ovat seuraavat moduulit:
1. Count_Type: tämä moduuli käsittelee toisessa vaiheessa kuvatun levyn tai profiilin kahden syöttöjohdon dekoodauksen;
2. 8bit_count: tämä moduuli tulkitsee Count_Type -dekoodatun viestin ja lisää tai pienentää laskureita;
3. 3 -tavupaketti: tämä moduuli hallitsee vasemman ja oikean painikkeen tilaa ja muotoilee tiedot niin, että ne voidaan sisällyttää PS2 -protokollan 3 -tavuiseen datapakettiin;
4.clk12khz: tämä moduuli antaa 12 kHz: n kellon, joka on spesifinen PS2 -protokollalle, jolla tietyt komponentit ja prosessit toimivat;
5. MessageManager: tämä moduuli lähettää 3 tavun datapaketin, tulkitsee sen ja antaa asianmukaisen vastauksen vastauksena PC: n viestiin.
6. PS2Interface: tämä moduuli liittää laitteen ja isännän (PC) välisen tiedonsiirtoprotokollan (tämä moduuli vaatii jonkin verran virheenkorjausta ja perusteellisen uudelleenarvioinnin toimiakseen kunnolla).
Suositeltava:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: 5 vaihetta
FPGA Cyclone IV DueProLogic Controls Raspberry Pi -kamera: FPGA DueProLogic on virallisesti suunniteltu Arduinolle, mutta aiomme tehdä FPGA: sta ja Raspberry Pi 4B: stä kommunikoitavia. FPGA kääntää kulmaa
FPGA Cyclone IV DueProLogic - Painike ja LED: 5 vaihetta
FPGA Cyclone IV DueProLogic - Painike ja LED: Tässä opetusohjelmassa aiomme käyttää FPGA: ta ulkoisen LED -piirin ohjaamiseen. Toteutamme seuraavat tehtävät (A) Käytä FPGA Cyclone IV DuePrologicin painikkeita LED: in ohjaamiseen. (B) Salaman merkkivalo palaa & pois käytöstä ajoittainVideoesittelylaboratorio
FPGA Cyclone IV DueProLogic Controls Servomoottori: 4 vaihetta
FPGA Cyclone IV DueProLogic Controls Servomoottori: Tässä opetusohjelmassa aiomme kirjoittaa Verilog -koodin servomoottorin ohjaamiseen. Servo SG-90 on Wavesharen valmistama. Kun ostat servomoottorin, saatat saada tietolomakkeen, jossa luetellaan käyttöjännite, suurin vääntömomentti ja ehdotettu pu
Mojo FPGA Development Board Shield: 3 vaihetta
Mojo FPGA Development Board Shield: Liitä Mojo -kehityskorttisi ulkoisiin sisääntuloihin tällä suojalla.Mikä on Mojo -kehityskortti? Levy on Alchitryn valmistama. FPGA: t ovat erittäin hyödyllisiä
Tee mikä tahansa anturi FPGA: sta: 4 vaihetta
Tee mikä tahansa anturi FPGA: sta: Useimmat valmistajat yrittivät rakentaa ainakin kerran elämässään lämpömittarin, ehkä se, joka heillä on kotona, ei ole tarpeeksi älykäs, tai ehkä he ajattelevat, että he voivat rakentaa seuraavan PESTEEN. Kuitenkin jossain vaiheessa heillä oli mikrokontrolleri tilaansa