Mündəricat:
Video: DIY VR Koşu Bandı- Basys3 FPGA-Digilent Müsabiqəsi: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Masaüstünüzdəki tətbiqləri və oyunları idarə edə biləcəyiniz bir VR Koşu Bandı qurmaq istəyirsiniz? Sonra doğru yerə gəldiniz!
Adi oyunlarda ətraf mühitlə qarşılıqlı əlaqə yaratmaq üçün siçan və klaviaturadan istifadə edirsiniz. Buna görə də, siçan və klaviatura ilə eyni siqnalları göndərməliyik ki, Koşu bandımızla oyun arasında uyğunluq problemi yaranmasın. Bu cihazları ayırmaq əvəzinə, onları mümkün qədər yaxın simulyasiya edə biləcək öz cihazımızı yaradacağıq.
Siçan girişləri üçün alternativ keçirici və keçirməyən dilimləri olan bir disk istifadə edəcəyik, bunun üzərinə kiçik bir ofsetlə iki telin sürüşəcəyi. Lövhə, tellərdən gələn siqnalları oxuyacaq və bizə dörd birləşmədən birini verəcək: 00, 11, 10, 01, sol-sağ hərəkətlə birbaşa tərcümə edə biləcəyik.
Yuxarıya doğru hərəkət etmək üçün disk əvəzinə eyni nümunə 0 və 1 olan bir boşqabdan istifadə edəcəyik.
Klaviaturanı simulyasiya edən modul üçün giriş olaraq, kəməri tutacaq bir çubuğun birləşməsinə yerləşdirilmiş açarlarımız olacaq. İstənilən istiqamətdə addım atanda çubuq bir az əyiləcək və beləliklə açarı açacaq.
(Layihənin hələ də davam etdiyini və təkmilləşdirilə biləcəyini unutmayın, buna görə daha yaxşı hala gətirəcək hər hansı bir məsləhət gözləyirəm)
Addım 1: Baza
Baza aşağı bir ağırlıq mərkəzinə malik olmalıdır, buna görə də ağır bir material istifadə edilməlidir. Mənim vəziyyətimdə, içbükey kalıp düzəltmək üçün gips və anten diskindən istifadə etdim, amma başqa vasitələrdən istifadə etmək olar (məs. Yoga topu). Kalıp quruduqdan sonra MDF və ya oxşar materialdan hazırlanmış eyni diametrli iki diskə yerləşdiriləcək. İki MDF diskinin arasına boşluq qoyulacaq. Bu disklər arasında, kənarlarında yataqları olan üçbucaqlı bir profil yerləşdiriləcək. Başqa bir rulman dəsti, üçbucağın təpələrinə dik və diskinə toxunaraq yuxarıda yerləşdiriləcək. Daha yaxşı dəqiqlik üçün daha çox rulman istifadə edilə bilər. Üçüncü şəkildə göstərildiyi kimi, təpələrdən birinə çubuq qoyulacaq. Bu çubuq, oyunçunun yerləşdiriləcəyi kəməri tutur.
Başqa bir sabit xarici çubuq, telləri dəstəkləmək və fırlanma hərəkəti üçün istinad nöqtəsi olaraq istifadə olunur.
Addım 2: 2 Giriş İdarəçiliyi
Qara qutu baxımından cihazda aşağıdakı girişlər olacaq: x, y siçan sayğacları üçün 4 əlaqə, siçan düymələri üçün 2 əlaqə və ox düymələri üçün 4 əlaqə. Çıxış 4 sancaqla təmsil olunur: 2 siçan PS2 bağlantısı üçün və digər 2 klaviatura PS2 bağlantısı üçün. PS2 protokolunun daha ətraflı təsviri üçün aşağıdakı saytı yoxlaya bilərsiniz:
Lövhə üçün giriş olaraq JB (1 -dən 0 -a qədər) rəqəmsal pinləri seçdim. Ardıcıllığı nəzərə alaraq… 11001100…, iki girişdə oxuyun, sayğacların üç vəziyyətini ayırd edə bilərik:
1. Saymaq;
2. Saymaq;
3. Cari dəyəri saxla;
Count_Type modulu tam olaraq bunu edir. Girişdə bir dəyişiklik olarsa, modul, sıfırlama siqnalı alınmadığı təqdirdə, cari dəyərdən əlavə edən və ya çıxaran 8 bit sayğacına (8_bit_count.vhd faylında tətbiq olunur) uyğun bir mesaj göndərir.
Eyni fikir başın yuxarıya doğru hərəkəti üçün istifadə olunur, ancaq disk yerinə eyni dəyişən 0 və 1 naxışlı sürüşmə xətti profil istifadə ediləcək.
Addım 3: VHDL tətbiqi
Təqdimata aşağıdakı modullar əlavə olunur:
1. Count_Type: bu modul, ikinci addımda təsvir edilən diskin və ya profildən iki giriş telinin deşifrini idarə edir;
2. 8bit_count: bu modul Count_Type -dan şifrələnmiş mesajı şərh edir və sayğacları artırır və ya azaldır;
3. 3bytepacket: bu modul, sol və sağ düymələrin vəziyyətini idarə edir və PS2 protokolunda istifadə olunan 3 baytlıq məlumat paketində təqdim oluna bilər;
4.clk12khz: bu modul, müəyyən komponentlərin və proseslərin üzərində işlədiyi PS2 protokoluna xas olan 12 kHz bir saat verir;
5. MessageManager: bu modul 3 baytlıq məlumat paketini göndərir, onu şərh edir və PC -dən gələn mesaja cavab olaraq müvafiq cavabı verir.
6. PS2Interface: bu modul cihazla ana kompüter (PC) arasındakı ünsiyyət protokolunu birləşdirir (bu modulun düzgün işləməsi üçün bəzi ayıklama və hərtərəfli yenidən qiymətləndirmə lazımdır).
Tövsiyə:
İstilik xəbərdarlığı baş bandı: 10 addım
Temperatur Xəbərdarlıq Bandı: Floridada yaşayanda çöldə çox istilənəndə məni xəbərdar edə biləcək bir geyim yaratmaqla maraqlandım. Arduino və bir neçə sadə komponentdən istifadə edərək baş bandına daxil edilə bilən bir elektron lövhə yarada bildim
Kalkulyator TinkerCad Müsabiqəsi: 8 addım
Kalkulyator TinkerCad Müsabiqəsi: Hey, bu yaxınlarda fərqli bir kod növünü bir dövrə necə tətbiq edəcəyimi araşdırıram. Tapdım ki, bir kalkulyator düzəltmək " case " və maraqlı olan digər kod formaları. Məndə keçmiş m
Uşaqlar üçün Geyinilə bilən Texnologiya: Qəhrəman Kol Bandı: 4 addım
Uşaqlar üçün Geyilə bilən Texnologiya: Qəhrəman Kol Bandı: Bu təlimat geyindikdə yanan 'qəhrəman qolbağının' necə hazırlanacağını əhatə edəcək. İletken parça lentindən, keçirici iplikdən və tikişli LED -lərdən istifadə etmək, məktəb şagirdləri üçün sxemlərin və geyilə bilən texnologiyanın əsaslarını öyrənmək üçün böyük bir fəaliyyətdir. Te
[WIP] Myo qol bandı tərəfindən idarə olunan bir Drawbot yaratmaq: 11 addım
[WIP] Myo qol bandı tərəfindən idarə olunan bir Drawbot yaratmaq: Hamıya salam! Bir neçə ay əvvəl, onu idarə etmək üçün yalnız bir Myo bandından istifadə edən açıq çərçivəli bir çəkmə qurmaq fikri ilə məşğul olmağa qərar verdik. Layihəyə ilk başlayanda bilirdik ki, bunun bir neçə fərqli hissəyə bölünməsi lazım olacaq
Mash Up və LED Müsabiqəsi: Pez Dispenser Fənəri: 5 addım
Mash Up və LED Yarışması: Pez Dispenser Fənəri: Bu pez dispenser fənəridir. Çox parlaq deyil, ancaq açarları, qapı düymələrini və s