2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02
Chcesz zbudować Bieżnię VR, na której będziesz mógł uruchamiać swoje aplikacje i gry komputerowe? W takim razie trafiłeś we właściwe miejsce!
W konwencjonalnych grach używasz myszy i klawiatury do interakcji z otoczeniem. Dlatego musimy wysyłać takie same sygnały jak mysz i klawiatura, aby nie było problemów z kompatybilnością między naszą Bieżnią a grą. Zamiast rozbierać te urządzenia na części, stworzymy własne urządzenie, które będzie je możliwie jak najwierniej symulować.
Do wejść myszy użyjemy dysku z naprzemiennie przewodzącymi i nieprzewodzącymi plastrami, po których będą się ślizgały dwa przewody, z niewielkim przesunięciem. Płytka odczyta sygnały pochodzące z przewodów, dając nam jedną z czterech kombinacji: 00, 11, 10, 01, którą możemy bezpośrednio przełożyć na ruch lewo-prawo.
Do ruchu góra-dół zamiast krążka użyjemy talerza z tym samym układem zer i jedynek.
Jako wejścia dla modułu symulującego klawiaturę będziemy mieli przełączniki umieszczone na złączu drążka podtrzymującego uprząż. Gdy zrobisz krok w dowolnym kierunku, pręt lekko się ugnie, otwierając w ten sposób przełącznik.
(Pamiętaj, że projekt wciąż trwa i można go ulepszyć, więc czekam na wszelkie porady, które mogą go ulepszyć)
Krok 1: Baza
Podstawa powinna mieć nisko położony środek ciężkości, dlatego konieczne jest użycie ciężkiego materiału. W moim przypadku do wykonania wklęsłej formy użyłem gipsu i krążka antenowego, ale można użyć innych środków (np. piłka do jogi). Po wyschnięciu formy zostanie ona umieszczona na dwóch krążkach o tej samej średnicy wykonanych z MDF lub podobnego materiału. Między dwoma dyskami MDF zostanie wprowadzony odstępnik. Pomiędzy tymi dyskami zostanie umieszczony trójkątny profil, który ma łożyska na krawędziach. Kolejny zestaw łożysk zostanie umieszczony u góry prostopadle do wierzchołków trójkąta i stycznie do tarczy. Dla lepszej precyzji można zastosować więcej łożysk. Pręt zostanie umieszczony na jednym z wierzchołków, jak pokazano na trzecim rysunku. Ten pręt trzyma uprząż, w której zostanie umieszczony gracz.
Kolejny stały pręt zewnętrzny służy do podtrzymywania drutów, a także jako punkt odniesienia dla ruchu obrotowego.
Krok 2: Zarządzanie 2 wejściami
Z punktu widzenia czarnej skrzynki urządzenie będzie posiadało następujące wejścia: 4 złącza dla liczników myszy x, y, 2 złącza dla przycisków myszy i 4 złącza dla klawiszy strzałek. Wyjście jest reprezentowane przez 4 piny: 2 dla złącza PS2 myszy i kolejne 2 dla złącza PS2 klawiatury. Bardziej szczegółowy opis protokołu PS2 można znaleźć na następującej stronie:
Jako wejścia na płytkę wybrałem cyfrowe piny JB (1 do 0). Biorąc pod uwagę sekwencję …11001100…, odczytaną na dwóch wejściach, możemy wyróżnić trzy stany liczników:
1. Odliczaj;
2. Odliczanie;
3. Zapisz aktualną wartość;
Dokładnie to robi moduł Count_Type. W przypadku zmiany na wejściu moduł wysyła odpowiedni komunikat do licznika 8 bitowego (zaimplementowanego w pliku 8_bit_count.vhd), który dodaje lub odejmuje wartość bieżącą, chyba że otrzyma sygnał resetu.
Ten sam pomysł jest używany do ruchu głowicy w górę i w dół, ale zamiast dysku należy zastosować przesuwny profil liniowy z tym samym naprzemiennym wzorem 0 i 1.
Krok 3: Implementacja VHDL
Do prezentacji dołączone są następujące moduły:
1. Count_Type: ten moduł obsługuje dekodowanie dwóch przewodów wejściowych z dysku lub profilu, opisane w drugim kroku;
2. 8bit_count: ten moduł interpretuje zdekodowaną wiadomość z Count_Type i zwiększa lub zmniejsza liczniki;
3. 3-bajtowy pakiet: ten moduł zarządza stanem lewego i prawego przycisku oraz formatuje dane, aby można je było wprowadzić do 3-bajtowego pakietu danych używanego w protokole PS2;
4.clk12khz: ten moduł podaje zegar 12khz specyficzny dla protokołu PS2, na którym działają niektóre komponenty i procesy;
5. MessageManager: ten moduł wysyła 3-bajtowy pakiet danych, interpretuje go i daje odpowiednią odpowiedź, jako odpowiedź na wiadomość z komputera.
6. PS2Interface: ten moduł łączy protokół komunikacyjny między urządzeniem a hostem (PC) (ten moduł wymaga debugowania i dokładnej ponownej oceny, aby działał poprawnie).
Zalecana:
FPGA Cyclone IV DueProLogic steruje serwomotorem: 4 kroki
FPGA Cyclone IV DueProLogic steruje serwomotorem: W tym samouczku napiszemy kod Veriloga do sterowania serwomotorem. Serwo SG-90 jest produkowane przez firmę Waveshare. Kupując serwosilnik, możesz otrzymać kartę katalogową, która zawiera napięcie robocze, maksymalny moment obrotowy i proponowaną Pu
Mojo FPGA Development Board Shield: 3 kroki
Osłona płytki rozwojowej Mojo FPGA: Podłącz swoją płytkę rozwojową Mojo do zewnętrznych wejść za pomocą tej osłony. Czym jest płytka rozwojowa Mojo? Płytka rozwojowa Mojo to płytka rozwojowa oparta na układzie Xilinx spartan 3 FPGA. Płytę wykonała firma Alchitry. Układy FPGA są bardzo przydatne
Harvest Drawers - NASA Growing Beyond Earth Contest Entry: 5 kroków (ze zdjęciami)
Harvest Drawers - NASA Growing Beyond Earth Contest Wpis: Streszczenie:Na pokładzie międzynarodowej stacji kosmicznej astronauci nie mają zbyt wiele miejsca na uprawę żywności. Ten hydroponiczny ogród został zaprojektowany tak, aby działał wydajnie, wykorzystując minimalną ilość miejsca do zbioru 30 roślin zgodnie z harmonogramem obrotowym w zerowej grawi
WALTER (Arduino Contest): 5 kroków (ze zdjęciami)
WALTER (Arduino Contest): Pls Głosuj na mnie na Arduino Contest 2017 [Proszę wybaczyć mój angielski] Bardzo podoba mi się popularna konfiguracja 2 serw arduino owadów na youtube. Kiedy na to spojrzałem, zawsze pamiętam, co robotnicy z BEAM robili na długo przed tym, jak ten zestaw stał się ulubionym. Te p
Make:NYC Badge Contest Contest ze starej drukarki GameBoy: 14 kroków (ze zdjęciami)
Wpis do konkursu Make:NYC Badge Contest ze starej drukarki GameBoy: Witam wszystkich, oto moja druga szansa na Instructable.. bądź miły.. Więc lokalne spotkanie Make:NYC miało konkurs na odznakę na swoje drugie spotkanie.. (link tutaj) , istotą konkursu jest wykonanie jakiejś nadającego się do noszenia plakietki/plakietki, z jakichś materiałów