Tabla de contenido:

Use un Arduino con un controlador N64: 5 pasos (con imágenes)
Use un Arduino con un controlador N64: 5 pasos (con imágenes)

Video: Use un Arduino con un controlador N64: 5 pasos (con imágenes)

Video: Use un Arduino con un controlador N64: 5 pasos (con imágenes)
Video: MOD-X NINTENDO 64 CON BLUETOOTH #blueretro 2024, Noviembre
Anonim
Utilice un Arduino con un controlador N64
Utilice un Arduino con un controlador N64

Hay tutoriales para usar un controlador NES con un Arduino, pero usar el controlador N64 más complicado y su joystick analógico tiene un atractivo definitivo. Si tienes un Arduino y no quieres comprar un Adaptoid, este instructivo hará posible jugar juegos emulados en Project 64 con tu Ardunio y un controlador N64. ¿Es esto difícil? / ¿Dañará mis cosas? Esto no modificará su controlador de ninguna manera, y el cableado es extremadamente simple, por lo que si hace todo con cuidado, no debería haber ningún riesgo para su controlador, y puede desengancharlo en cualquier momento para usarlo con una consola N64. necesita: Arduino - $ 30 Procesamiento 1.0 - gratis Software Arduino - 3 piezas de alambre gratis - cable USB gratis (espero)

Paso 1: cableado del controlador

Cableado del controlador
Cableado del controlador
Cableado del controlador
Cableado del controlador
Cableado del controlador
Cableado del controlador

Lo primero que debe hacer es conectar su Arduino al controlador. El controlador solo usa tres cables: + 3.3V, señal y tierra. Mirando directamente al enchufe, la tierra está más a la izquierda, la señal está en el medio y + 3.3V está a la derecha. Usando el cable, conecte tierra y + 3.3V a los pines respectivos en el Arduino, y conecte el cable de señal al pin Digital 2 en el Ardunio. NOTA: Si tiene otro código en su Arduino, debe desconectar el controlador y cargar el nuevo código de la página siguiente al Arduino antes de encenderlo con el controlador adjunto. Conecte el Arduino Conecte el cable USB y el Arduino tendrá energía.

Paso 2: Desempaquete y ejecute el código

Este código fue escrito por mí, con partes del archivo N64_Arduino basadas en el código ensamblador escrito por Andrew Brown. ZIP Archives: Los dos archivos Zip a continuación contienen el código necesario para ejecutar Arduino y luego interpretar los datos que envía a la computadora. El archivo N64_Arduino debe compilarse en el IDE de Arduino, y el N64_Controller se ejecuta en Processing 1.0. N64_Arduino Este archivo PDE debe cargarse en su Arduino y ejecutarse sin problemas si tiene todo conectado correctamente. Simplemente consulta el controlador N64 para obtener datos sobre los botones y el dispositivo analógico y los envía de vuelta a la computadora a través del puerto serie. Es bastante fácil de modificar, por ejemplo, podría usar los métodos de este archivo para consultar un controlador y usar los datos para ejecutar un robot Arduino en lugar de transmitirlo a la computadora. datos transmitidos por Arduino y los convierte en pulsaciones de teclado que puede asignar a un emulador como Project 64. Es posible que deba cambiar la línea String portName = Serial.list () [1]; para que coincida con su Arduino, debería ser Serial.list () [0]; Serial.list () [1]; o Serial.list () [2]; EDITAR: Agregue "import java.awt. Robot;" "importar java.awt. AWTException;" "importar java.awt.event. InputEvent;" al código si está utilizando Processing 1.1N64_Controller_mouse Esto es lo mismo que N64_Controller, excepto que el stick analógico controla su mouse, no las teclas de flecha. A y B son clic derecho e izquierdo, respectivamente. Para activar el mouse, presione el botón de inicio en su controlador.

Paso 3: configurar el proyecto 64

Configurar proyecto 64
Configurar proyecto 64

Antes de que pueda usar el controlador, el Arduino debe estar conectado y ejecutar el código que descargó en el último paso, y Processing 1.0 debe estar abierto con el programa N64_Controller en ejecución. Pruébelo en el Bloc de notas, presionando el botón A debe escribir una A, B debe escribir una B, etc. Así que ahora tiene un controlador que funciona (con suerte) y quiere jugar algunos juegos. Downl0ad PJ 64https://www.pj64 -emu.com/downloads/Set Key Mappings Inicie PJ 64 y abra el menú de configuración primero (Ctrl + T). Cambie el controlador de entrada a la entrada directa de N-Rage. Abra el menú "Configure Controller Plugin" y configure las asignaciones usando el controlador. ¡Comience a jugar! ¡Debería estar listo para comenzar ahora! Descarga algunas ROM y empieza a disfrutar de tu adaptador Homebrew N64.

Paso 4: Código Arduino en profundidad

Código Arduino en profundidad
Código Arduino en profundidad

El protocolo N64 Los bits enviados hacia y desde el controlador N64 en la interfaz de un cable se codifican en pulsos de 4 µs de ancho. Un '0' es 3 µs bajo y 1 µs alto. Un '1' es 1 µs bajo y 3 µs alto. El código Arduino en los métodos N64_send o N64_receive usa un código ensamblador cronometrado muy cuidadosamente escrito por Andrew Brown para hacer bit-bang en la línea de datos para comunicarse con el controlador. Los bloques nop se utilizan para esperar las cantidades adecuadas de µs antes de sondear la línea de envío de datos. En el inicio, se envía 0x00 al controlador y luego el único comando utilizado es 0x01 para consultar el estado del controlador. Codificación de datos Cuando los datos se reciben después de un 0x01, llegan como 16 bits de información de botón y 16 bits de información del joystick analógico. Los datos se verían como 44000000000000400044440044000444. El formato de los bits es: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bits de analógico posición del palo. El método translate_raw_data () pasa por los 32 bits, insertándolos en la estructura N64_status. Los primeros 16 bits son 1 o 0 simples, pero los últimos 16 se traducen a un número entero aproximadamente en el rango (-80, 80) por for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16 + i]? (0x80 >> i): 0; } Una vez que los datos están en esta forma simple, es fácil hacer lo que quiera con ellos. En este caso, simplemente se envía a través del puerto serie en el método loop () como una cadena de datos binarios con dos números enteros para los valores xey. Los datos enviados a través del puerto serie podrían verse así: 0400000000000400 63 -67 lo que significaría que se presionaron dos botones y la palanca de control estaba en 63, -67.

Paso 5: referencias

Referencias
Referencias

El proyecto de Andrew Brown para crear un adaptador gamecube a N64 con Arduino fue invaluable mientras codificaba este proyecto:

Se pueden encontrar esquemas útiles aquí: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php La información sobre el protocolo propietario de los controladores N64 se puede encontrar aquí:

Recomendado: