İçindekiler:

N64 Kontrollü Arduino Kullanın: 5 Adım (Resimlerle)
N64 Kontrollü Arduino Kullanın: 5 Adım (Resimlerle)

Video: N64 Kontrollü Arduino Kullanın: 5 Adım (Resimlerle)

Video: N64 Kontrollü Arduino Kullanın: 5 Adım (Resimlerle)
Video: STM32-CubeMX ile Step Motor Kontrolü 2024, Kasım
Anonim
N64 Denetleyicili Bir Arduino Kullanın
N64 Denetleyicili Bir Arduino Kullanın

Arduino ile NES kontrolörü kullanmak için orada öğreticiler var, ancak daha karmaşık N64 kontrolörünü ve analog joystick'i kullanmanın kesin bir çekiciliği var. Etrafta bir Arduino'nuz varsa ve bir Adaptoid satın almak istemiyorsanız, bu talimat, Ardunio'nuz ve bir N64 denetleyiciniz ile Project 64'te öykünülmüş oyunlar oynamanızı mümkün kılacaktır. Bu zor mu? / Eşyalarıma zarar verir mi? Bu, denetleyicinizi hiçbir şekilde değiştirmeyecektir ve kablolama son derece basittir, bu nedenle her şeyi dikkatli bir şekilde yaparsanız denetleyiciniz için herhangi bir risk olmamalıdır ve bir N64 konsolu ile kullanmak için istediğiniz zaman onu kaldırabilirsiniz. Ne yapacaksınız? ihtiyaç:Arduino - 30$Processing 1.0 - freeArduino Yazılımı - ücretsiz 3 adet telsiz (umarım) USB kablosu

Adım 1: Denetleyiciyi Kablolama

Denetleyiciyi Kablolama
Denetleyiciyi Kablolama
Denetleyiciyi Kablolama
Denetleyiciyi Kablolama
Denetleyiciyi Kablolama
Denetleyiciyi Kablolama

Yapmanız gereken ilk şey Arduino'nuzu kontrolöre bağlamaktır Kontrolör sadece üç kablo kullanır: +3.3V, sinyal ve toprak. Doğrudan fişe bakıldığında, toprak en solda, sinyal ortada ve +3.3V sağda. Kabloyu kullanarak Arduino üzerindeki ilgili pinlere toprak ve +3.3V bağlayın ve sinyal ucunu Ardunio üzerindeki Digital 2 pinine bağlayın. NOT: Arduino'nuzda başka bir kodunuz varsa, controller'ı söküp yüklemelisiniz. Arduino'yu kontrolör takılıyken çalıştırmadan önce bir sonraki sayfadan Arduino'ya yeni kod. Arduino'yu bağlayın USB kablosunu bağlayın ve Arduino'nun gücü olacaktır.

2. Adım: Paketi Açın ve Kodu Çalıştırın

Bu kod benim tarafımdan, N64_Arduino dosyasının bazı bölümleri Andrew Brown tarafından yazılan Assembly koduna göre yazılmıştır. ZIP Arşivleri: Aşağıdaki iki Zip dosyası, Arduino'yu çalıştırmak ve daha sonra bilgisayara gönderdiği verileri yorumlamak için gereken kodu içerir. N64_Arduino dosyasının Arduino IDE'de derlenmesi gerekiyor ve N64_Controller Processing 1.0. N64_Arduino'da çalışıyor. Düğmeler ve Analog çubuk üzerindeki veriler için N64 denetleyicisini sorgular ve seri bağlantı noktası üzerinden bilgisayara geri gönderir. Değiştirmek yeterince kolaydır, örneğin, bir denetleyiciyi sorgulamak için bu dosyadaki yöntemleri kullanabilir ve verileri bilgisayara geri iletmek yerine bir Arduino robotunu çalıştırmak için kullanabilirsiniz. N64_Controller Bu, aşağıdakileri alan bir İşleme 1.0 projesidir. Arduino tarafından iletilen veriler ve bunları Project 64 gibi bir öykünücüyle eşleyebileceğiniz klavye baskılarına dönüştürür. Satırı değiştirmeniz gerekebilir String portName = Serial.list()[1]; Arduino'nuzla eşleşmesi için Serial.list()[0]; Seri.list()[1]; veya Seri.list()[2]; EDIT: "java.awt. Robot'u içe aktar;" ekleyin "java.awt. AWTException'ı içe aktar;" Processing 1.1N64_Controller_mouse kullanıyorsanız koda "import java.awt.event. InputEvent;"Bu, N64_Controller ile aynıdır, ancak analog çubuğun farenizi kontrol etmesi, ok tuşlarını değil. A ve B sırasıyla sağ ve sol tıklamadır. Fareyi etkinleştirmek için kumandanızdaki başlat düğmesine basın.

Adım 3: Project 64'ü Kurun

Proje 64'ü Kur
Proje 64'ü Kur

Denetleyiciyi kullanabilmeniz için önce Arduino'nun bağlı olması ve son adımda indirdiğiniz kodu çalıştırması ve N64_Controller programı çalışırken Processing 1.0'ın açık olması gerekir. Not Defteri'nde test edin, A düğmesine basıldığında A, B, B yazmalıdır, vb. Böylece artık çalışan bir denetleyiciniz var (umarım) ve bazı oyunlar oynamak istiyorsunuz. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Anahtar Eşlemelerini AyarlaPJ 64'ü başlatın ve önce ayarlar menüsünü açın (Ctrl+T). Giriş denetleyicisini N-Rage'in doğrudan girişine değiştirin. "Kontrol Cihazı Eklentisini Yapılandır" menüsünü açın ve kumandayı kullanarak eşlemeleri ayarlayın. Oynamaya Başlayın!Şimdi gitmeye hazır olmalısınız! Bazı ROM'ları indirin ve homebrew N64 adaptörünüzün keyfini çıkarmaya başlayın.

Adım 4: Derinlemesine Arduino Kodu

Derinlemesine Arduino Kodu
Derinlemesine Arduino Kodu

N64 Protokolü Tek kablolu arabirimdeki N64 denetleyicisine ve denetleyicisinden gönderilen bitler, 4 µs genişliğinde darbelerle kodlanır. Bir '0' 3 µs düşük ve 1 µs yüksek. '1' 1 µs düşük ve 3 µs yüksek. N64_send veya N64_receive yöntemlerindeki Arduino kodu, denetleyiciyle iletişim kurmak için veri hattını bit-bang için Andrew Brown tarafından yazılan çok dikkatli zamanlanmış derleme kodunu kullanır. nop blokları, veri gönderme hattını sorgulamadan önce uygun miktarda µs beklemek için kullanılır. Başlangıçta, denetleyiciye 0x00 gönderilir ve bundan sonra, denetleyicinin durumunu sorgulamak için kullanılan tek komut 0x01'dir. Veri Kodlama Veri bir 0x01'den sonra alındığında, 16 bit buton bilgisi ve 16 bit bilgi olarak gelir. analog joystick bilgisi. Veriler 44000000000000400044440044000444 gibi görünecektir. Bitlerin formatı: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bit analog sopa pozisyonu. translate_raw_data() yöntemi 32 bitten geçer ve bunları N64_status yapısına ekler. İlk 16 bit basit 1 veya 0'dır, ancak son 16 yaklaşık olarak (-80, 80) aralığında for (i=0; i<8; i++) { N64_status.stick_x |= N64_raw_dump[16+i] ? (0x80 >> i): 0; } Veriler bu basit formda olduktan sonra, onunla istediğinizi yapmak kolaydır. Bu durumda, loop() yöntemindeki seri bağlantı noktası üzerinden x ve y değerleri için iki tamsayı içeren bir ikili veri dizisi olarak gönderilir. Seri bağlantı noktası üzerinden gönderilen veriler şöyle görünebilir: 0400000000000400 63 -67 bu, iki düğmeye basıldığı ve kontrol çubuğunun 63, -67 olduğu anlamına gelir.

Adım 5: Referanslar

Referanslar
Referanslar

Andrew Brown'ın Arduino ile bir gamecube - N64 adaptörü oluşturma projesi bu proje için kodlama yaparken çok değerliydi:

Yararlı şemalar burada bulunabilir: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php N64 denetleyicilerinin tescilli protokolüyle ilgili bilgiler burada bulunabilir:

Önerilen: