Mundarija:
Video: DIY VR yugurish yo'lakchasi- Basys3 FPGA-Digilent tanlovi: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Ish stolidagi ilovalar va o'yinlarni boshqaradigan VR yugurish yo'lakchasini yaratmoqchimisiz? Keyin siz kerakli joyga keldingiz!
Oddiy o'yinlarda atrof -muhit bilan o'zaro aloqa qilish uchun sichqoncha va klaviaturadan foydalaniladi. Shuning uchun, biz sichqoncha va klaviatura bilan bir xil signallarni yuborishimiz kerak, shunda bizning yugurish yo'lakchamiz va o'yin o'rtasida moslik muammolari bo'lmaydi. Bu qurilmalarni ajratib olishning o'rniga, biz ularni iloji boricha yaqinroq simulyatsiya qiladigan o'z qurilmamizni yaratamiz.
Sichqoncha kirishlari uchun biz o'zgaruvchan o'tkazgichli va o'tkazmaydigan bo'laklarga ega diskdan foydalanamiz, uning ustiga ikkita sim kichik ofset bilan siljiydi. Kengash simlardan keladigan signallarni o'qiydi va bizga to'rtta kombinatsiyadan birini beradi: 00, 11, 10, 01, biz uni chapdan o'ngga to'g'ridan-to'g'ri tarjima qilishimiz mumkin.
Yuqoriga qarab harakat qilish uchun disk o'rniga biz bir xil naqshli 0 va 1-sonli plastinkadan foydalanamiz.
Klaviaturani taqlid qiladigan modul uchun kirish sifatida biz tayoqning bo'g'iniga jabduqlar tutadigan kalitlarni qo'yamiz. Har qanday yo'nalishda qadam bosganingizda, tayoq biroz egilib, kalitni ochadi.
(Shuni yodda tutingki, loyiha davom etmoqda va uni takomillashtirish mumkin, shuning uchun men uni yaxshilashga yordam beradigan maslahat kutaman)
1 -qadam: tayanch
Baza past og'irlik markaziga ega bo'lishi kerak, shuning uchun og'ir material kerak bo'ladi. Mening holatimda, men konkav qolipini yasash uchun gips va antenna diskidan foydalandim, lekin boshqa vositalardan foydalanish mumkin (masalan, yoga to'pi). Qolib quriganidan so'ng, u bir xil diametrli MDF yoki shunga o'xshash materialdan yasalgan ikkita diskka joylashtiriladi. Ikkita MDF disklari orasidagi bo'shliq o'rnatiladi. Bu disklar orasiga uchburchak profil joylashtiriladi, uning qirralarida rulmanlar bor. Rulmanlarning yana bir to'plami uchburchakning tepasiga perpendikulyar va diskga tegib joylashtiriladi. Yaxshi aniqlik uchun ko'proq rulmanlardan foydalanish mumkin. Uchinchi rasmda ko'rsatilgandek, tepaliklardan biriga tayoq qo'yiladi. Bu tayoq o'yinchi joylashtiriladigan jabduqni ushlab turadi.
Boshqa mustahkamlangan tashqi tayoq simlarni qo'llab -quvvatlash uchun, shuningdek aylanma harakat uchun tayanch punkti sifatida ishlatiladi.
2 -qadam: 2 kirishni boshqarish
Qora quti nuqtai nazaridan, qurilma quyidagi kirishga ega bo'ladi: x, y sichqoncha hisoblagichlari uchun 4 ta ulanish, sichqoncha tugmachalari uchun 2 ta ulanish va o'q tugmachalari uchun 4 ta ulanish. Chiqish 4 pim bilan ifodalanadi: 2 sichqoncha PS2 ulanishi uchun va boshqa 2 klaviatura PS2 ulanishi uchun. PS2 protokoli haqida batafsil ma'lumot olish uchun siz quyidagi saytni tekshirishingiz mumkin:
Kengash uchun kirish sifatida men JB (1 dan 0 gacha) raqamli pinlarni tanladim. … 11001100… ketma -ketligini hisobga olsak, ikkita kirishni o'qib, hisoblagichlarning uchta holatini ajrata olamiz:
1. Hisoblash;
2. pastga hisoblash;
3. Joriy qiymatni saqlash;
Count_Type moduli aynan shunday qiladi. Agar kirishda o'zgarishlar bo'lsa, modul 8 bitli hisoblagichga tegishli xabarni yuboradi (8_bit_count.vhd faylida amalga oshiriladi), agar qayta tiklash signali olinmasa, joriy qiymatni qo'shadi yoki chiqaradi.
Xuddi shu fikr boshning yuqoriga qarab harakatlanishi uchun ishlatiladi, lekin disk o'rniga bir xil o'zgaruvchan 0 va 1 naqshli toymasin chiziqli profil ishlatiladi.
3 -qadam: VHDLni joriy etish
Taqdimotga quyidagi modullar biriktirilgan:
1. Count_Type: bu modul ikkinchi bosqichda tasvirlangan diskdan yoki profildan ikkita kirish simini dekodlashni boshqaradi;
2. 8bit_count: bu modul Count_Type -dan dekodlangan xabarni sharhlaydi va hisoblagichlarni oshiradi yoki kamaytiradi;
3. 3 baytli paket: bu modul chap va o'ng tugmalar holatini boshqaradi va ma'lumotlarni formatlaydi, shuning uchun uni PS2 protokolida ishlatiladigan 3 baytli ma'lumotlar paketiga kiritish mumkin;
4.clk12khz: bu modul ma'lum komponentalar va jarayonlar ishlaydigan PS2 protokoliga xos bo'lgan 12 kHz chastotali soatni beradi;
5. MessageManager: bu modul 3 baytli ma'lumotlar paketini yuboradi, uni sharhlaydi va kompyuterdan kelgan xabarga javob sifatida tegishli javobni beradi.
6. PS2Interface: bu modul qurilma va xost (PC) o'rtasidagi aloqa protokoliga ulanadi (bu modul to'g'ri ishlashi uchun disk raskadrovka va yaxshilab qayta baholashni talab qiladi).
Tavsiya:
3D bosilgan kamera Gimbal (Tinkercad tanlovi): 6 qadam
3D bosilgan kamera Gimbal (Tinkerkad tanlovi): Salom, bu men Tinkerkadda ishlab chiqqan kamera gimbalidir. Asosiy gimbal bu jar dastagidan qilingan va men haligacha topa olmaydigan beshta halqali gimbal / girrodan qilingan. Tinkercad dizaynini bu erda topishingiz mumkin. Bu kuchlar bilan ishlash uchun mo'ljallangan
Kalkulyator TinkerCad tanlovi: 8 qadam
TinkerCad kalkulyatori tanlovi: Hey, yaqinda men har xil turdagi kodlarni sxemaga qanday kiritishni o'rganyapman. Men kalkulyator yasash " ishni " va kodning boshqa shakllari men uchun qiziqarli edi. Menda o'tgan m
Java tanlovi yaratuvchisi: 13 qadam
Java Choice Maker: Bu yo'riqnomada foydalanuvchi kiritadigan variantlar ro'yxatidan tanlovni amalga oshiradigan java dasturini tuzish ko'rsatiladi. Dasturni yaratish uchun java va IDE haqida asosiy bilimlar. Har bir qadam 2 daqiqadan oshmasligi kerak
Mummybot davralari tanlovi: 6 qadam (rasmlar bilan)
Mummybot davralari muammosi: "Robototexnika" ga kirish darsida biz elektr va sxemalar haqida bilib oldik. Faoliyatni tanishtirish uchun men JessyRatFink -ning Mummybot -ni oladigan va asosiy sxemalarni qo'shadigan juda qisqa slayd -shou (ilova qilingan) qildim. Men talabalarga vazifani topshirdim
WALTER (Arduino tanlovi): 5 qadam (rasmlar bilan)
WALTER (Arduino tanlovi): Pls menga Arduino tanlovi 2017 uchun ovoz bering [ingliz tilidan uzr so'rayman] Menga youtube-da 2 ta servo arduino hasharotlarining mashhur to'plami yoqadi. Men unga qaraganimda, men BEAM robotli yigitlarining bu sozlash sevimli bo'lishidan ancha oldin nima qilganini eslayman. Bu p