Spisu treści:
- Krok 1: Okablowanie kontrolera
- Krok 2: Rozpakuj i uruchom kod
- Krok 3: Skonfiguruj projekt 64
- Krok 4: Głębokość kodu Arduino
- Krok 5: Referencje
Wideo: Użyj Arduino z kontrolerem N64: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Istnieją samouczki dotyczące używania kontrolera NES z Arduino, ale użycie bardziej skomplikowanego kontrolera N64 i jego analogowego joysticka ma zdecydowany urok. Jeśli masz Arduino i nie chcesz kupować Adaptoida, ta instrukcja umożliwi granie w emulowane gry w Project 64 za pomocą Ardunio i kontrolera N64. Czy to trudne? / Czy to zniszczy moje rzeczy? Nie zmodyfikuje to w żaden sposób twojego kontrolera, a okablowanie jest niezwykle proste, więc jeśli zrobisz wszystko ostrożnie, nie powinno być żadnego ryzyka dla twojego kontrolera i możesz go odpiąć w dowolnym momencie, aby użyć go z konsolą N64. potrzeba:Arduino - $30Processing 1.0 - darmowe Oprogramowanie Arduino - darmowe 3 sztuki przewodu - darmowe (mam nadzieję) kabel USB
Krok 1: Okablowanie kontrolera
Pierwszą rzeczą, którą musisz zrobić, to podłączyć Arduino do kontrolera. Kontroler wykorzystuje tylko trzy przewody: +3,3 V, sygnał i masę. Patrząc bezpośrednio na wtyczkę, masa jest najdalej na lewo, sygnał pośrodku, a +3,3V po prawej. Za pomocą przewodu podłącz masę i +3,3 V do odpowiednich pinów Arduino i podłącz przewód sygnałowy do pinu Digital 2 na Ardunio. UWAGA: Jeśli masz inny kod na swoim Arduino, powinieneś odłączyć kontroler i wgrać nowy kod z następnej strony do Arduino przed włączeniem go z podłączonym kontrolerem. Podłącz Arduino Podłącz kabel USB, a Arduino będzie miało zasilanie.
Krok 2: Rozpakuj i uruchom kod
Ten kod został napisany przeze mnie, z fragmentami pliku N64_Arduino opartym na kodzie zespołu napisanym przez Andrew Browna. Archiwa ZIP: Dwa poniższe pliki Zip zawierają kod potrzebny do uruchomienia Arduino, a następnie do interpretacji danych wysyłanych do komputera. Plik N64_Arduino musi być skompilowany w Arduino IDE, a N64_Controller działa w Processing 1.0. N64_Arduino Ten plik PDE powinien zostać załadowany do Arduino i działać bezproblemowo, jeśli wszystko jest prawidłowo podłączone. Po prostu wysyła zapytanie do kontrolera N64 o dane dotyczące przycisków i drążka analogowego i wysyła je z powrotem do komputera przez port szeregowy. Modyfikowanie jest dość łatwe, na przykład możesz użyć metod z tego pliku, aby wysłać zapytanie do kontrolera i użyć danych do uruchomienia robota Arduino zamiast przesyłania go z powrotem do komputera. N64_Controller Jest to projekt Processing 1.0, który pobiera dane przesyłane przez Arduino i konwertują je na naciśnięcia klawiatury, które można mapować do emulatora, takiego jak Project 64. Może być konieczna zmiana wiersza String portName = Serial.list()[1]; aby dopasować Arduino, powinno to być Serial.list()[0]; Serial.list()[1]; lub Serial.list()[2]; EDYCJA: Dodaj "import java.awt. Robot;" "importuj java.awt. AWTException;" "import java.awt.event. InputEvent;" do kodu, jeśli używasz Processing 1.1N64_Controller_mouse Jest to to samo co N64_Controller, z tą różnicą, że myszką steruje drążek analogowy, a nie klawisze strzałek. A i B to odpowiednio prawy i lewy przycisk myszy. Aby aktywować mysz, naciśnij przycisk Start na kontrolerze.
Krok 3: Skonfiguruj projekt 64
Zanim będziesz mógł korzystać z kontrolera, Arduino musi być podłączony i uruchomić kod pobrany w ostatnim kroku, a Processing 1.0 musi być otwarty z uruchomionym programem N64_Controller. Przetestuj to w Notatniku, naciśnięcie przycisku A powinno wpisać A, B powinno wpisać B itd. Więc teraz masz działający kontroler (miejmy nadzieję) i chcesz zagrać w niektóre gry. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key Mappings Uruchom PJ 64 i otwórz najpierw menu ustawień (Ctrl+T). Zmień kontroler wejścia na bezpośrednie wejście N-Rage. Otwórz menu „Konfiguruj wtyczkę kontrolera” i ustaw mapowania za pomocą kontrolera. Zacznij grać!Powinieneś być gotowy do pracy! Pobierz kilka ROM-ów i zacznij cieszyć się adapterem homebrew N64.
Krok 4: Głębokość kodu Arduino
Protokół N64 Bity wysyłane do iz kontrolera N64 przez interfejs jednoprzewodowy są kodowane w impulsach o szerokości 4 µs. „0” to 3 µs niskie i 1 µs wysokie. „1” to 1 µs niski i 3 µs wysoki. Kod Arduino w metodach N64_send lub N64_receive wykorzystuje bardzo starannie zsynchronizowany kod asemblera napisany przez Andrew Browna do bitowego uderzenia linii danych w celu komunikacji z kontrolerem. Bloki nop są używane do oczekiwania odpowiedniej ilości µs przed odpytaniem linii wysyłania danych. Podczas uruchamiania do kontrolera wysyłane jest 0x00, a następnie jedynym używanym poleceniem jest 0x01 do zapytania o status kontrolera. Kodowanie danych Gdy dane są odbierane po 0x01, są one odbierane jako 16 bitów informacji o przycisku i 16 bitów analogowe informacje o joysticku. Dane wyglądałyby jak 44000000000000400044440044000444. Format bitów to: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bitów pozycja kija. Metoda translate_raw_data() przechodzi przez 32 bity, wstawiając je do struktury N64_status. Pierwsze 16 bitów to zwykłe 1 lub 0, ale ostatnie 16 są tłumaczone na liczbę całkowitą w przybliżeniu z zakresu (-80, 80) przez for (i=0; i<8; i++) { N64_status.stick_x |= N64_raw_dump[16+i] ? (0x80 >> i): 0; } Gdy dane są już w tej prostej formie, łatwo jest z nimi zrobić, co tylko zechcesz. W tym przypadku jest on po prostu wysyłany przez port szeregowy w metodzie loop() jako ciąg danych binarnych z dwiema liczbami całkowitymi dla wartości x i y. Dane przesyłane przez port szeregowy mogą wyglądać następująco: 040000000000400 63 -67, co oznaczałoby, że naciśnięto dwa przyciski, a drążek sterowniczy był na 63, -67.
Krok 5: Referencje
Projekt Andrew Browna stworzenia adaptera gamecube do N64 z Arduino był nieoceniony podczas kodowania dla tego projektu:
Pomocne schematy można znaleźć tutaj: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Informacje na temat zastrzeżonego protokołu kontrolerów N64 można znaleźć tutaj:
Zalecana:
Użyj mocy i stwórz własny miecz świetlny (ostrze): 9 kroków (ze zdjęciami)
Użyj mocy i stwórz własny miecz świetlny (ostrze): Ta instrukcja dotyczy wykonania ostrza do miecza świetlnego Ben Solo Legacy zakupionego w Disneyland's Galaxy's Edge w Anaheim w Kalifornii, jednak podobne kroki można wykonać, aby wykonać własne ostrze do innego miecz świetlny. Śledź dalej, aby
Użyj Arduino do wyświetlania obrotów silnika: 10 kroków (ze zdjęciami)
Użyj Arduino do wyświetlania obrotów silnika: W tym przewodniku opisano, w jaki sposób korzystałem z Arduino UNO R3, wyświetlacza LCD 16x2 z I2C i paska LED, który ma być używany jako wskaźnik prędkości silnika i światło zmiany biegów w moim samochodzie gąsienicowym Acura Integra. Jest napisany w kategoriach kogoś z pewnym doświadczeniem lub ekspozycją
Robot Arduino z kontrolerem PS2 (dżojstik PlayStation 2: 10 kroków (ze zdjęciami)
Robot Arduino z kontrolerem PS2 (dżojstik PlayStation 2): W tym samouczku pokażę, jak używać bezprzewodowego joysticka Playstation 2 (PS2) do pilotowania zrobotyzowanego czołgu. Rdzeniem tego projektu była płytka Arduino Uno. Odbiera polecenia ze sterownika bezprzewodowego i ustawia prędkość silników
Copter wieżowy z kontrolerem PID: 4 kroki
Wieża Copter z kontrolerem PID: Cześć chłopaki, nazywam się wachid kurniawan putra, dziś podzielę się moim projektem mikrokontrolera z moim zespołem. Mój zespół składa się z 4 osób, w tym ja, są:1. Juan Andrew (15/386462/SV/09848)2. Wachid Kurniawan Putra (17/416821 / SV / 14559)3
Stacja ładująca do telefonu komórkowego z kontrolerem NES !!!: 7 kroków
Stacja ładująca do telefonu komórkowego z kontrolerem NES !!!: Właśnie ukończyłem swój własny telefon komórkowy z kontrolerem NES i jest to NAJFAJNIEJSZA RZECZ KIEDYKOLWIEK!!! Brakuje tylko fajnej stacji ładującej, więc wziąłem się za jej wykonanie