Taula de continguts:

Utilitzeu un Arduino amb un controlador N64: 5 passos (amb imatges)
Utilitzeu un Arduino amb un controlador N64: 5 passos (amb imatges)

Vídeo: Utilitzeu un Arduino amb un controlador N64: 5 passos (amb imatges)

Vídeo: Utilitzeu un Arduino amb un controlador N64: 5 passos (amb imatges)
Vídeo: Octopus Max EZ v1.0 - EZ5160 2024, Desembre
Anonim
Utilitzeu un Arduino amb un controlador N64
Utilitzeu un Arduino amb un controlador N64

Hi ha tutorials per utilitzar un controlador NES amb un Arduino, però utilitzar el controlador N64 més complicat i el seu joystick analògic té un atractiu definitiu. Si teniu un Arduino a prop i no voleu comprar un Adaptoid, aquest instructiu us permetrà jugar a jocs emulats al Projecte 64 amb el vostre Ardunio i un controlador N64. És difícil? / Danyarà les meves coses? Això no modificarà el controlador de cap manera i el cablejat és extremadament senzill, de manera que si ho feu tot amb cura, no hi hauria cap risc per al controlador i el podeu desconnectar en qualsevol moment per utilitzar-lo amb una consola N64. necessitat: Arduino - 30 dòlars Processament 1.0 - gratuït Arduino Software - gratuït 3 trossos de cable - lliure (espero) cable USB

Pas 1: Cablatge del controlador

Cablatge del controlador
Cablatge del controlador
Cablatge del controlador
Cablatge del controlador
Cablatge del controlador
Cablatge del controlador

El primer que heu de fer és connectar el vostre Arduino al controlador. El controlador només utilitza tres cables: + 3,3 V, senyal i terra. Si mirem directament a l’endoll, el sòl és el més a l’esquerra, el senyal al mig i + 3,3 V a la dreta. Utilitzeu el cable, connecteu a terra i + 3,3 V als respectius pins de l’Arduino i connecteu el cable de senyal al pin Digital 2 de l’Ardunio. NOTA: Si teniu un altre codi a l’Arduino, desconnecteu el controlador i pengeu-lo. el nou codi de la pàgina següent a l’Arduino abans d’engegar-lo amb el controlador connectat. Connecteu l’Arduino Connecteu el cable USB i l’Arduino tindrà alimentació.

Pas 2: desempaqueteu i executeu el codi

Aquest codi el vaig escriure jo, amb parts del fitxer N64_Arduino basat en el codi de muntatge escrit per Andrew Brown. ZIP Archives: els dos fitxers Zip següents contenen el codi necessari per executar l’Arduino i després per interpretar les dades que envia a l’ordinador. El fitxer N64_Arduino s’ha de compilar a l’IDE Arduino i el N64_Controller s’executa a Processament 1.0. N64_Arduino Aquest fitxer PDE s’ha de carregar al vostre Arduino i funcionar sense cap problema si teniu tot connectat correctament. Simplement consulta el controlador N64 per obtenir dades sobre els botons i la memòria analògica i la torna a enviar a l’ordinador a través del port sèrie. Es pot modificar prou fàcilment, per exemple, podeu utilitzar els mètodes d’aquest fitxer per consultar un controlador i utilitzar les dades per executar un robot Arduino en lloc de tornar-los a transmetre a l’ordinador. N64_Controller les dades transmeses per Arduino i les converteixen en premses de teclat que podeu assignar a un emulador com Project 64. És possible que hagueu de canviar la línia String portName = Serial.list () [1]; per coincidir amb el vostre Arduino, hauria de ser Serial.list () [0]; Serial.list () [1]; o Serial.list () [2]; EDIT: Afegiu "import java.awt. Robot;" "importa java.awt. AWTException;" "import java.awt.event. InputEvent;" al codi si utilitzeu Processament 1.1N64_Controller_mouse Això és el mateix que N64_Controller, excepte que el llapis analògic controla el ratolí i no les tecles de fletxa. A i B fan clic dret i esquerre, respectivament. Per activar el ratolí, premeu el botó d'inici del controlador.

Pas 3: configureu el Projecte 64

Configureu el projecte 64
Configureu el projecte 64

Abans de poder utilitzar el controlador, l’Arduino ha d’estar connectat i executar el codi que heu descarregat a l’últim pas i Processament 1.0 ha d’estar obert amb el programa N64_Controller en execució. Proveu-lo al Bloc de notes, prement el botó A hauríeu d’escriure A, B hauria d’escriure B, etc. Per tant, ara teniu un controlador que funciona (amb sort) i voleu jugar a alguns jocs. Downl0ad PJ 64 https://www.pj64 -emu.com/downloads/Set Key Mappings Inicieu PJ 64 i obriu primer el menú de configuració (Ctrl + T). Canvieu el controlador d'entrada a l'entrada directa de N-Rage. Obriu el menú "Configura el connector del controlador" i configureu les assignacions mitjançant el controlador. Comenceu a reproduir! Ja hauríeu d'estar a punt per començar. Descarregueu algunes ROM i comenceu a gaudir del vostre adaptador homebrew N64.

Pas 4: Codi Arduino en profunditat

Codi Arduino en profunditat
Codi Arduino en profunditat

El protocol N64 Els bits enviats al controlador N64 i des del controlador N64 a la interfície d'un cable estan codificats en polsos de 4 µs d'ample. Un '0' és 3 µs baix i 1 µs alt. Un '1' és 1 µs baix i 3 µs alt. El codi Arduino dels mètodes N64_send o N64_receive utilitza un codi de muntatge cronometrat amb molt de compte escrit per Andrew Brown per trencar la línia de dades per comunicar-se amb el controlador. Els blocs nop s’utilitzen per esperar la quantitat adequada de µs abans d’interrogar la línia d’enviament de dades. A l’inici, s’envia 0x00 al controlador i, després, l’única ordre que s’utilitza és 0x01 per consultar l’estat del controlador. Codificació de dades Quan es reben les dades després d’un 0x01, arriben com a 16 bits d’informació de botó i 16 bits de informació del joystick analògic. Les dades serien 44000000000000400044440044000444. El format dels bits és: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bits d'analògic posició de pal. El mètode translate_raw_data () passa pels 32 bits, inserint-los a l'estructura N64_status. Els primers 16 bits són simples 1 o 0, però els 16 últims es tradueixen en un enter aproximadament en el rang (-80, 80) per for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16 + i]? (0x80 >> i): 0; } Després que les dades estiguin en aquest senzill formulari, és fàcil fer-hi el que vulgueu. En aquest cas, simplement s’envia pel port sèrie al mètode loop () com una cadena de dades binàries amb dos enters per als valors x i y. Les dades enviades pel port sèrie poden tenir el següent aspecte: 0400000000000400 63 -67, cosa que significa que es van prémer dos botons i que el control estava a 63, -67.

Pas 5: referències

Referències
Referències

El projecte d'Andrew Brown de crear un adaptador de joc de canals a N64 amb l'Arduino va ser inestimable mentre es codificava aquest projecte:

Es poden trobar esquemes útils aquí: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php La informació sobre el protocol propietari dels controladors N64 es pot trobar aquí:

Recomanat: