Мазмұны:

DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы: 3 қадам
DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы: 3 қадам

Бейне: DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы: 3 қадам

Бейне: DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы: 3 қадам
Бейне: АНИМАТРОНИКИ Обидели ТУСОВЩИКА из BACKROOMS и НЕЗАКОННЫЕ Эксперименты в VR! 2024, Шілде
Anonim
DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы
DIY VR жүгіру жолы- Basys3 FPGA-Digilent байқауы

Жұмыс үстеліндегі қосымшалар мен ойындарды іске қосатын VR жүгіру жолын құрғыңыз келе ме? Содан кейін сіз дұрыс жерге келдіңіз!

Кәдімгі ойындарда сіз қоршаған ортамен қарым -қатынас жасау үшін тышқан мен пернетақтаны қолданасыз. Сондықтан біз жүгіру жолы мен ойын арасында үйлесімділік мәселесі болмас үшін тінтуір мен пернетақта сияқты сигналдарды жіберуіміз керек. Бұл құрылғыларды бөліп алудың орнына, біз оларды мүмкіндігінше жақын имитациялай алатын жеке құрылғы жасаймыз.

Тінтуірдің кірістері үшін біз ауыспалы өткізгіш және өткізбейтін тілімдері бар дискіні қолданамыз, оның үстінде кішкене ығысуы бар екі сым сырғып кетеді. Тақта сымдардан келетін сигналдарды оқиды, бізге төрт комбинацияның біреуін береді: 00, 11, 10, 01, біз оны солдан оңға қарай тікелей аударуға болады.

Жоғары-төмен қозғалысы үшін дисктің орнына біз 0 мен 1-ге ұқсас үлгідегі пластинаны қолданамыз.

Пернетақтаны имитациялайтын модульдің кірісі ретінде бізде штанганың түйіскен жеріне бекіткішті ұстайтын қосқыштар болады. Кез келген бағытта қадам басқанда, таяқша сәл бүгіледі, осылайша қосқышты ашады.

(Есіңізде болсын, жоба әлі де жалғасуда және оны жақсартуға болады, сондықтан мен оны жақсартатын кеңестер күтемін)

1 -қадам: Негіз

Негіз
Негіз
Негіз
Негіз
Негіз
Негіз

Негізде ауырлық орталығы төмен болуы керек, сондықтан ауыр материал қажет. Менің жағдайда гипс пен антенналық дискіні ойыс қалып жасау үшін қолдандым, бірақ басқа құралдарды қолдануға болады (мысалы, йога шары). Пішін құрғағаннан кейін ол MDF немесе ұқсас материалдан жасалған диаметрі бірдей екі дискіге қойылады. МДФ екі дискінің арасына бос орын енгізіледі. Бұл дискілердің арасында үшбұрышты профиль орналастырылады, оның шеттерінде мойынтіректер бар. Мойынтіректердің басқа жиынтығы үшбұрыштың төбелеріне перпендикуляр және дискіге жанасатын болады. Жақсырақ дәлдік үшін көбірек мойынтіректерді қолдануға болады. Үшінші суретте көрсетілгендей шыңдардың біріне таяқша қойылады. Бұл таяқша ойыншы салынатын белдікті ұстайды.

Басқа бекітілген сыртқы сырық сымдарды тіреу үшін, сонымен қатар айналмалы қозғалыстың тірек нүктесі ретінде қолданылады.

2 -қадам: 2 Кірісті басқару

2 Енгізуді басқару
2 Енгізуді басқару
2 Енгізуді басқару
2 Енгізуді басқару
2 Енгізуді басқару
2 Енгізуді басқару

Қара жәшік тұрғысынан құрылғы келесі кірістерге ие болады: x, y тінтуірдің есептегіштері үшін 4 қосылым, тінтуір түймелері үшін 2 қосылым және көрсеткі пернелер үшін 4 қосылым. Шығару 4 түйреуішпен ұсынылған: PS2 қосылымы үшін 2 және PS2 пернетақтасы үшін басқа 2. PS2 протоколының егжей-тегжейлі сипаттамасы үшін келесі сайтты тексеруге болады:

Тақтаға кіріс ретінде мен JB (0 -ден 1 -ге дейін) цифрлық түйреуіштерді таңдадым. … 11001100… ретін ескере отырып, екі кірісті оқыңыз, біз есептегіштердің үш күйін ажырата аламыз:

1. санау;

2. кері санау;

3. Ағымдағы мәнді сақтау;

Count_Type модулі дәл осылай жасайды. Егер кірісте өзгеріс болса, онда модуль 8 -разрядты есептегішке (8_bit_count.vhd файлында енгізілген) сәйкес хабарлама жібереді, егер ол қалпына келтіру сигналы алынбаса, ағымдағы мәнді қосады немесе шығарады.

Дәл сол идея бастың жоғары-төмен қозғалысы үшін қолданылады, бірақ дисктің орнына ауыспалы 0 & 1 үлгісі бар сырғымалы сызықты профиль қолданылады.

3 -қадам: VHDL енгізу

VHDL енгізу
VHDL енгізу

Презентацияға келесі модульдер қосылады:

1. Count_Type: бұл модуль екінші қадамда сипатталған дискіден немесе профильден екі кіріс сымын декодтауды басқарады;

2. 8bit_count: бұл модуль Count_Type -тен декодталған хабарды түсіндіреді және санауыштарды көбейтеді немесе азайтады;

3. 3 -пакеттік пакет: бұл модуль сол және оң жақ батырмалардың күйін басқарады және PS2 протоколында қолданылатын 3 байтты деректер пакетіне енгізуге болатын мәліметтерді форматтайды;

4.clk12khz: бұл модуль белгілі бір компоненттер мен процестер жұмыс істейтін PS2 протоколына тән 12 кГц сағатын береді;

5. MessageManager: бұл модуль 3 байтты деректер пакетін жібереді, оны түсіндіреді және ДК хабарламасына жауап ретінде тиісті жауап береді.

6. PS2Interface: бұл модуль құрылғы мен хост (PC) арасындағы байланыс протоколына интерфейс жасайды (бұл модуль дұрыс жұмыс істеуі үшін отладтау мен мұқият қайта бағалауды қажет етеді).

Ұсынылған: