Агуулгын хүснэгт:

N64 хянагчтай Arduino ашиглах: 5 алхам (зурагтай)
N64 хянагчтай Arduino ашиглах: 5 алхам (зурагтай)

Видео: N64 хянагчтай Arduino ашиглах: 5 алхам (зурагтай)

Видео: N64 хянагчтай Arduino ашиглах: 5 алхам (зурагтай)
Видео: сливаю в Batman sega genesis 2024, Оны зургадугаар сарын
Anonim
N64 хянагчтай Arduino ашиглах
N64 хянагчтай Arduino ашиглах

NES хянагчийг Arduino ашиглан ашиглах заавар байдаг боловч илүү төвөгтэй N64 хянагч болон түүний аналог джойстикийг ашиглах нь тодорхой сонирхолтой байдаг. Хэрэв танд Arduino байгаа бол Adaptoid худалдаж авахыг хүсэхгүй байгаа бол энэхүү зааварчилгаа нь 64 -р төсөлд Ardunio болон N64 хянагчтай тоглоом тоглох боломжтой болно. / Энэ нь миний эд зүйлийг гэмтээх үү? Энэ нь таны хянагчийг ямар ч байдлаар өөрчлөхгүй бөгөөд утас нь маш энгийн тул хэрэв та бүх зүйлийг анхааралтай хийвэл хянагчдаа ямар ч эрсдэл учруулахгүй бөгөөд N64 консол дээр ашиглахын тулд хүссэн үедээ салгаж болно. хэрэгтэй: Arduino - $ 30 Боловсруулалт 1.0 - үнэгүй Arduino Програм хангамж - үнэгүй 3 ширхэг утас - үнэгүй (найдаж байна) USB кабель

Алхам 1: Хянагчийн утсыг холбох

Хянагчийн утсыг холбох
Хянагчийн утсыг холбох
Хянагчийн утсыг холбох
Хянагчийн утсыг холбох
Хянагчийн утсыг холбох
Хянагчийн утсыг холбох

Таны хийх ёстой хамгийн эхний зүйл бол Arduino -г хянагчтай холбох явдал юм. Хянагч нь зөвхөн 3.3V, дохио, газардуулгын гурван холболтыг ашигладаг. Залгуур руу шууд харвал газардуулга хамгийн зүүн тийш, дохио дунд, +3.3V баруун талд байна. Утсыг ашиглан Arduino дээрх холбогдох зүү дээр газардуулга ба +3.3V -ийг холбож, Ardunio дээрх Digital 2 зүү рүү дохионы залгуурыг холбоно уу. Дараах хуудсан дээрх шинэ кодыг Arduino руу залгахын тулд хянагчийг залгаарай. Arduino -ийг холбоно уу. USB кабелийг холбоно уу.

Алхам 2: Кодыг задалж, ажиллуулна уу

Эндрю Брауны бичсэн угсрах код дээр үндэслэсэн N64_Arduino файлын зарим хэсгийг би өөрөө бичсэн болно. ZIP архив: Доорх хоёр Zip файл нь Arduino -г ажиллуулахад шаардлагатай мэдээллийг агуулдаг бөгөөд үүнийг компьютерт илгээдэг. N64_Arduino файлыг Arduino IDE дээр эмхэтгэх шаардлагатай бөгөөд N64_Controller нь Processing 1.0 дээр ажилладаг. Энэ нь N64 хянагчийг товчлуурууд болон аналог мод дээрх өгөгдлийг асууж, компьютер руу цуваа портоор буцааж илгээдэг. Өөрчлөхөд маш хялбар байдаг, жишээлбэл, та энэ файлын аргуудыг ашиглан хянагчийг асууж, өгөгдлийг компьютерт буцааж дамжуулахын оронд Arduino роботыг ажиллуулж болно. өгөгдлийг Arduino дамжуулж, түүнийг гарын товчлуур болгон хөрвүүлдэг бөгөөд та үүнийг Project 64 гэх мэт эмулятортой харьцуулж болно. Та String portName = Serial.list () [1] гэсэн мөрийг өөрчлөх хэрэгтэй болж магадгүй юм. таны Arduino -той тааруулахын тулд энэ нь Serial.list () [0] байх ёстой; Serial.list () [1]; эсвэл Serial.list () [2]; EDIT: "import java.awt. Robot;" нэмнэ үү. "java.awt. AWTException оруулах;" Хэрэв та Processing 1.1N64_Controller_mouse ашиглаж байгаа бол код руу "java.awt.event. InputEvent;" оруулна уу. А ба В нь баруун, зүүн товчлуур дээр дарна. Хулганаа идэвхжүүлэхийн тулд хянагчийнхаа эхлүүлэх товчийг дарна уу.

Алхам 3: Төсөл 64 -ийг тохируулна уу

Төслийг тохируулах 64
Төслийг тохируулах 64

Та хянагчийг ашиглахаасаа өмнө Arduino -ийг холбож, сүүлийн шатанд татаж авсан кодыг ажиллуулах шаардлагатай бөгөөд Processing 1.0 нь N64_Controller програм ажиллаж байх үед нээлттэй байх ёстой. Үүнийг Notepad дээр туршиж үзээрэй, A товчлуурыг дарахад A, B нь B гэх мэтийг бичнэ. Одоо танд ажиллаж байгаа хянагч байна (та найдаж байна), та зарим тоглоом тоглохыг хүсч байна. -emu.com/downloads/ Түлхүүр тохируулгыг тохируулна уу PJ 64 -ийг эхлүүлээд эхлээд тохиргооны цэсийг нээнэ үү (Ctrl+T). Оролтын хянагчийг N-Rage-ийн шууд оролт болгон өөрчил. "Controller Plugin -ийг тохируулах" цэсийг нээж, хянагч ашиглан зураглалыг тохируулна уу. Тоглож эхлээрэй! Та яг одоо бэлэн байх ёстой! Зарим ROM татаж аваад homebrew N64 адаптераа ашиглаж эхлээрэй.

Алхам 4: Гүн дэх Arduino код

Гүн дэх Arduino код
Гүн дэх Arduino код

N64 протокол Нэг утсан интерфэйс дээрх N64 хянагч руу илгээгдэх ба буцах битүүдийг 4 мс өргөн импульсээр кодлодог. A '0' нь 3 µs бага, 1 µs өндөр байна. A '1' нь 1 µs бага, 3 µs өндөр байна. N64_send эсвэл N64_receive аргууд дахь Arduino код нь Эндрю Брауны бичсэн маш нарийн тооцоолсон угсралтын кодыг ашиглан хянагчтай харилцахын тулд өгөгдлийн шугамыг таслахад ашигладаг. Өгөгдөл илгээх шугамаас санал авахаас өмнө зохих хэмжээний µs -ийг хүлээхэд nop блокуудыг ашигладаг. Эхлэх үед 0x00 нь хянагч руу илгээгддэг бөгөөд үүний дараа хянагчийн статусыг лавлахын тулд ашигладаг цорын ганц тушаал нь 0x01 юм. аналог джойстик мэдээлэл. Өгөгдөл нь 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; } Өгөгдөл ийм энгийн хэлбэртэй болсны дараа хүссэн зүйлээ хийхэд хялбар болно. Энэ тохиолдолд үүнийг x (y) утгын хоёр бүхэл тоо бүхий хоёртын өгөгдлийн мөр болгон loop () аргын цуваа портоор дамжуулдаг. Цуваа портоор дамжуулсан өгөгдөл нь дараах байдлаар харагдаж болно: 0400000000000400 63 -67, энэ нь хоёр товчлуур дарагдсан, хяналтын саваа 63, -67 байсан гэсэн үг юм.

Алхам 5: Ашигласан материал

Ашигласан материал
Ашигласан материал

Эндрю Брауны Arduino -той N64 адаптерт тоглоомын шоо үүсгэх төсөл нь энэхүү төслийг кодлоход үнэлж баршгүй ач холбогдолтой байсан:

Хэрэгтэй схемүүдийг эндээс олж болно: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php N64 хянагчийн өмчлөлийн протоколын талаарх мэдээллийг эндээс авах боломжтой:

Зөвлөмж болгож буй: