Tabla de contenido:

Controlador de juego de paleta USB: 7 pasos (con imágenes)
Controlador de juego de paleta USB: 7 pasos (con imágenes)

Video: Controlador de juego de paleta USB: 7 pasos (con imágenes)

Video: Controlador de juego de paleta USB: 7 pasos (con imágenes)
Video: Sabias que se podía hacer esto con el mando de PS3 2024, Noviembre
Anonim
Controlador de juego de paleta USB
Controlador de juego de paleta USB
Controlador de juego de paleta USB
Controlador de juego de paleta USB
Controlador de juego de paleta USB
Controlador de juego de paleta USB

Mi hijo estaba teniendo una noche de videojuegos retro por su cumpleaños, y en la mañana del día decidí ver si podía hacer un par de controladores de juegos de paleta USB para Pong con la ayuda de una impresora 3D y dispositivos electrónicos de mi escondite. Si bien logré que funcionaran básicamente a tiempo, la gente estaba demasiado ocupada con otros juegos para Pong al final.

Los controladores se pueden usar para Pong con el emulador de nivel de circuito DICE o con mi versión de pygame bastante precisa, para juegos de Atari 2600 con un emulador y para una funcionalidad similar a Etch-a-Sketch con un programa de pintura como Tux Paint.

Hay tres modos conmutables:

  • Emulación de paleta Stelladaptor: deberían funcionar con todo el software de emulación Atari 2600 que sea compatible con Stelladaptor; en el modo Steladaptor, las paletas funcionan como un joystick de dos ejes y dos botones, cada paleta controla un eje y un botón
  • Emulación de doble joystick: cada paleta funciona como un joystick con un botón (el movimiento de la paleta se traduce en movimiento en ambos ejes del joystick)
  • mouse: cada paleta controla una dirección de movimiento para un mouse absoluto, y los botones son botones del mouse; junto con un programa de pintura, puede obtener un dispositivo de alta tecnología similar a un Etch-a-Sketch.

Suministros

Necesitará:

  • pastilla azul stm32f103c8t6
  • 2x potenciómetro lineal (recomendaría 20K-100K)
  • 2x microinterruptor de 12 mm de ancho con botón
  • impresora 3d
  • miscelánea (filamento, alambres, soldadura, soldador, pegamento caliente)

Paso 1: Prepare la placa y el entorno Arduino

Preparar la placa y el entorno Arduino
Preparar la placa y el entorno Arduino
Preparar la placa y el entorno Arduino
Preparar la placa y el entorno Arduino
  1. Suelde los seis pines del cabezal en el medio de su placa stm32f103c8t6.
  2. Verifique la resistencia entre A12 y 3.3V. Debería ser de 1,5 K para una compatibilidad USB más completa. Muchas placas tienen 10K en su lugar. Si su es uno de esos, idealmente suelde en una resistencia de 1.8K de A12 a 3.3V, aunque puede tener suerte y hacer que sus computadoras funcionen con el 10K.
  3. Instale un cargador de arranque. Hay instrucciones en el Paso 2 de este Instructable. Una cosa a tener en cuenta es cuál es el tamaño de flash informado por el demostrador de STM. Si es 32K, tiene un stm32f103c8 falso que probablemente sea un stm32f103c6 reetiquetado. Este proyecto aún debería funcionar con eso, pero tenga en cuenta que tiene el tablero falso para un paso futuro.
  4. Instale Arduino, Arduino Zero y el núcleo basado en libmaple de Roger siguiendo las instrucciones del Paso 3 del Instructable que utilizó en el paso anterior. Ignore las instrucciones de la biblioteca en ese paso.
  5. Descargue la última versión de mi biblioteca compuesta USB y descomprímala en su carpeta Arduino / Libraries.
  6. Descarga el boceto de mi paddlecontrollers y descomprímelo en tu carpeta Arduino.
  7. En Arduino, vaya a Herramientas | Junta | Genérico STM32F103C Series, a menos que tenga la placa c6 falsa, en cuyo caso elija Genérico STM32F103C6 / fake STM32F103C8 en su lugar. Si no está seguro de cuál tiene, elegir la opción falsa es más seguro.

Paso 2: Subir

Subir
Subir

Conecte la placa al adaptador USB de su computadora, cargue el boceto del controlador de paletas y haga clic en el botón Cargar (flecha hacia la derecha). Si todo va bien, el boceto debería cargarse y el tablero debería aparecer en su computadora como un joystick de dos ejes y dos botones llamado "Stelladaptor". En Windows, puede verificar esto con Windows-R, joy.cpl [enter].

Por supuesto, esto no hará nada hasta que tenga el resto del hardware ensamblado.

Paso 3: Imprimir

Impresión
Impresión
  1. Descargue los archivos stl y / o scad de mi página de Thingiverse para este proyecto. Tenga en cuenta que la perilla de la paleta se modifica a partir de aquí.
  2. Si el ancho de la carcasa del microinterruptor es diferente de 12 mm, deberá ajustar el parámetro de ancho del botón en el archivo paddlemain-standalone.scad. Puede hacerlo en OpenSCAD o en Thingiverse Customizer.
  3. Es posible que deba modificar las medidas en el archivo paddleknob.scad para que se ajusten a su potenciómetro.
  4. Imprima estos archivos (haga solo una copia de los archivos "2x" si solo desea una paleta). Usé PLA, pero el ABS también debería funcionar bien.

    • 2x paddlemain.stl
    • 2x pomo de paleta.stl
    • 1x paddleconverter.stl
    • 1x soporte para pcbnarrower.stl
    • 2x buttoncap110.stl (opcional)
    • 1x 12.stl (opcional; imprimir en un color diferente y pegar para etiquetar las dos paletas)

Paso 4: cableado

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado

Deberá tender cuatro cables desde la placa stm32f103c hasta cada controlador de paleta. Puede utilizar cables USB antiguos para estos cables. Sucedió que tenía buenos cables independientes de un cable Ethernet que até con una envoltura retráctil.

Cada paleta tiene un microinterruptor y un potenciómetro. Use un multímetro para identificar un par de pines adyacentes (no diagonales) en el microinterruptor que están conectados / desconectados presionando el botón. Etiquetaré estos pines S1 y S2 en el diagrama. Los tres pines del potenciómetro los he etiquetado como P1, P2 y P3 de arriba a abajo, mirando desde la parte inferior del potenciómetro, con los pines apuntando a la derecha.

Empuje los cuatro cables de la tabla a través del orificio en el costado de la carcasa de la paleta (paddlemain.stl).

Cuando conecte los cables al microinterruptor, primero empuje los cables a través de los orificios en el costado de la carcasa de la paleta y suelde al interruptor mientras el interruptor se encuentra en el exterior de la carcasa. Luego tire del interruptor hacia la carcasa, haciendo que las clavijas y los cables conectados encajen en los orificios. Corté los alfileres innecesarios.

Ambas palas:

  • P1 a S1
  • P1 a bordo 3.3V (3.3)
  • P3 para subir a GND (G)

Paleta 1:

  • P2 para abordar A1
  • S2 para abordar A2

Paleta 2:

  • P2 para abordar A3
  • S2 para abordar A4

Ahora pruebe las conexiones conectándose a su computadora y usando un programa de prueba de joystick. En Windows, Windows-R, joy.cpl [entrar], seleccione Stelladaptor, haga clic en Propiedades. La paleta 1 debe controlar el eje X y el primer botón; la paleta 2 debe controlar el eje Y y el segundo botón.

Paso 5: Ensamblaje final

Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final

Los microinterruptores se pueden pegar (el pegamento caliente hizo el trabajo por mí) en sus ubicaciones en el costado de la caja de paletas. Las tapas de los botones se pueden colocar a presión con un poco de pegamento caliente para mayor estabilidad.

El potenciómetro se conecta al gran orificio en la parte superior de la caja de paletas. La perilla debe deslizarse y pegarse. Agrande los agujeros con un taladro según sea necesario. Empuje la cubierta inferior, agregando un poco de pegamento caliente si lo desea.

El tablero de pastillas azul encaja dentro de la placa deslizante de la PCB, que luego se atornilla a la parte inferior de la caja convertidora, que también tiene una tapa que puede cubrirla.

Agregué un poco de Shoe Goo donde los cables se unen con la carcasa para protegerlos. Y pegué etiquetas "1" y "2" en las paletas.

Paso 6: modos de funcionamiento

Modos de operacion
Modos de operacion
Modos de operacion
Modos de operacion

Las paletas tienen tres modos de funcionamiento. Puede cambiar el modo de operación presionando una combinación particular de botones mientras los conecta a un puerto USB, soltándolos una vez que los LED de la placa dejan de parpadear. Una vez que cambie el modo de funcionamiento, se guardará en la memoria flash y permanecerá hasta que lo cambie la próxima vez. (Por lo tanto, si no desea cambiar el modo, no presione ningún botón mientras conecta las paletas en un puerto USB). Estas son las opciones:

  • Solo botón de la paleta izquierda: Un joystick de dos botones y dos ejes, con cada eje y botón controlados por una paleta. Además, las paletas se identifican como Stelladaptor, un adaptador USB descontinuado para controladores Atari 2600, por lo que los emuladores Atari 2600 como Stella y Z26 que son compatibles con Stelladapter deberían funcionar perfectamente.
  • Ambos botones de paleta: cada paleta muestra un joystick separado. El joystick tiene un botón operativo, y al girar la paleta, se mueve el joystick en diagonal, por lo que el eje X o Y funciona para la paleta.
  • Solo botón de la paleta derecha: las paletas se muestran como un mouse absoluto de dos botones. Ahora puede usar esto de manera similar a un Etch-a-Sketch con un programa de dibujo.

Paso 7: Pong

Apestar
Apestar
Apestar
Apestar

Pong fue el gran juego de pádel original. Recomiendo la versión original, porque los clones a menudo no incluyen todas las funciones sutiles y encantadoras, como los cambios en la velocidad con golpes repetidos, el ángulo cambia según la parte de la paleta que golpea la pelota o la posición sutil pero no fácilmente predecible. del saque después de fallar. Para un análisis cuidadoso del original, consulte aquí.

Una de las mejores formas de jugar Pong es con el emulador de nivel de circuito DICE si su computadora es lo suficientemente rápida para usarlo a toda velocidad. (Mi computadora portátil con Windows lo es, pero la Raspberry PI 3+ es demasiado lenta). Recomiendo la versión 0.8.

Si usa el modo Steladaptor en las paletas, vaya a Configuración | Configure Inputs … en DICE y elija Joystick 1 y Absolute para Player 1 Paddle, y establezca Horizontal y Vertical en Joy 1 X-Axis. Luego haga lo mismo para el jugador 2 Paddle, excepto con Y-Axis.

Si su computadora es demasiado lenta para DICE, hice una versión de Python3 + pygame cuyos tiempos y funcionalidad deben estar muy cerca del Pong original (estoy agradecido por la ayuda del Dr. Hugo Holden en este sentido).

Recomendado: