Съдържание:

Използвайте Arduino с контролер N64: 5 стъпки (със снимки)
Използвайте Arduino с контролер N64: 5 стъпки (със снимки)

Видео: Използвайте Arduino с контролер N64: 5 стъпки (със снимки)

Видео: Използвайте Arduino с контролер N64: 5 стъпки (със снимки)
Видео: Nintendo Wii в 2019 Дёшево и не сердито! возможности, лучшие игры. прошивка, 2024, Ноември
Anonim
Използвайте Arduino с контролер N64
Използвайте Arduino с контролер N64

Има уроци за използване на NES контролер с Arduino, но използването на по -сложния N64 контролер и неговия аналогов джойстик има определена привлекателност. Ако имате Arduino наоколо и не искате да си купите Adaptoid, тази инструкция ще ви позволи да играете емулирани игри в Project 64 с вашия Ardunio и контролер N64. Това трудно ли е? / Ще повреди ли нещата ми? Това няма да промени вашия контролер по никакъв начин, а окабеляването е изключително просто, така че ако правите всичко внимателно, не трябва да има риск за вашия контролер и можете да го откачите по всяко време, за да използвате с конзола N64. нужда от: Arduino - $ 30 Обработка 1.0 - безплатно Софтуер Arduino - безплатно 3 парчета проводник - безплатно (надявам се) USB кабел

Стъпка 1: Окабеляване на контролера

Окабеляване на контролера
Окабеляване на контролера
Окабеляване на контролера
Окабеляване на контролера
Окабеляване на контролера
Окабеляване на контролера

Първото нещо, което трябва да направите, е да свържете вашия Arduino към контролера. Контролерът използва само три проводника: +3.3V, сигнал и маса. Поглеждайки директно към щепсела, земята е най -отдалечено вляво, сигналът е в средата, а +3.3V е вдясно. С помощта на проводника свържете земята и +3.3V към съответните щифтове на Arduino и свържете сигналния проводник към цифровия 2 пин на Ardunio. ЗАБЕЛЕЖКА: Ако имате друг код на вашия Arduino, трябва да изключите контролера и да качите новия код от следващата страница към Arduino, преди да го включите с включен контролер. Свържете Arduino Свържете USB кабела и Arduino ще има захранване.

Стъпка 2: Разопаковайте и стартирайте кода

Този код е написан от мен, с части от файла N64_Arduino, базиран на асемблерен код, написан от Andrew Brown. ZIP архиви: Двата Zip файла по -долу съдържат кода, необходим за стартиране на Arduino и след това за интерпретиране на данните, които изпраща на компютъра. Файлът N64_Arduino трябва да бъде компилиран в Arduino IDE, а N64_Controller работи в Processing 1.0. N64_Arduino Този PDE файл трябва да се качи във вашия Arduino и да работи без проблеми, ако всичко е свързано правилно. Той просто запитва контролера N64 за данни за бутоните и аналоговия стик и го изпраща обратно на компютъра през серийния порт. Достатъчно лесно е да промените, например, можете да използвате методите от този файл, за да заявите контролер и да използвате данните, за да стартирате робот Arduino, вместо да го предавате обратно на компютъра. данни, предавани от Arduino и ги преобразуват в натискане на клавиатура, които можете да картографирате в емулатор като Project 64. Може да се наложи да промените реда String portName = Serial.list () [1]; за да съответства на вашия Arduino, той трябва да бъде или Serial.list () [0]; Serial.list () [1]; или Serial.list () [2]; РЕДАКТИРАНЕ: Добавете „import java.awt. Robot;“"import java.awt. AWTException;" "import java.awt.event. InputEvent;" към кода, ако използвате Processing 1.1N64_Controller_mouse Това е същото като N64_Controller, с изключение на това, че аналоговият стик контролира мишката, а не клавишите със стрелки. A и B са съответно с десен и ляв клик. За да активирате мишката, натиснете бутона за стартиране на вашия контролер.

Стъпка 3: Настройте Project 64

Настройте Project 64
Настройте Project 64

Преди да можете да използвате контролера, Arduino трябва да бъде свързан и да изпълнява кода, който сте изтеглили в последната стъпка, а Processing 1.0 трябва да бъде отворен с стартираната програма N64_Controller. Тествайте го в Notepad, натискането на бутона A трябва да въведе A, B трябва да въведе A и т.н. Така че сега имате работещ контролер (надявам се) и искате да играете някои игри. -emu.com/downloads/Set Key Mappings Стартирайте PJ 64 и първо отворете менюто с настройки (Ctrl+T). Променете входния контролер на директния вход на N-Rage. Отворете менюто "Configure Controller Plugin" и задайте картографирането с помощта на контролера. Изтеглете някои ROM и започнете да се наслаждавате на домашния си адаптер N64.

Стъпка 4: Кодът на Arduino в дълбочина

Кодът на Arduino в дълбочина
Кодът на Arduino в дълбочина

Протокол N64 Битовете, изпратени към и от контролера N64 на едножичния интерфейс, са кодирани в 4 µs широки импулси. '0' е 3 µs ниско и 1 µs високо. „1“е 1 µs ниско и 3 µs високо. Кодът на Arduino в методите N64_send или N64_receive използва много внимателно синхронизиран код за сглобяване, написан от Andrew Brown, за да разбие битовата линия за данни, за да комуникира с контролера. nop блоковете се използват за изчакване на подходящите количества µs преди опросване на линията за изпращане на данни. При стартиране 0x00 се изпраща до контролера и след това единствената използвана команда е 0x01 за запитване за състоянието на контролера. Кодиране на данни Когато данните са получени след 0x01, те пристигат като 16 бита информация за бутон и 16 бита информация за аналогов джойстик. Данните ще изглеждат като 44000000000000400044440044000444. Форматът на битовете е: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 бита аналогов позиция на стик. Методът translate_raw_data () преминава през 32 -те бита, като ги вмъква в структурата N64_status. Първите 16 бита са прости 1 или 0, но последните 16 се превеждат в цяло число приблизително в диапазона (-80, 80) чрез за (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } След като данните са в тази проста форма, е лесно да правите с тях каквото искате. В този случай той просто се изпраща през серийния порт в метода loop () като низ от двоични данни с две цели числа за стойностите x и y. Данните, изпратени през серийния порт, могат да изглеждат така: 0400000000000400 63 -67, което би означавало, че са натиснати два бутона и контролната пръчка е на 63, -67.

Стъпка 5: Препратки

Препратки
Препратки

Проектът на Андрю Браун за създаване на адаптер gamecube към N64 с Arduino беше безценен при кодирането на този проект:

Полезни схеми могат да бъдат намерени тук: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Информация за собствения протокол на контролерите N64 можете да намерите тук:

Препоръчано: