Tabla de contenido:
- Paso 1: diseño
- Paso 2: Herramientas y materiales para carpintería
- Paso 3: Construcción del módulo de control
- Paso 4: Herramientas y materiales electrónicos
- Paso 5: Cableado del módulo de control
- Paso 6: Código del controlador
- Paso 7: Configuración de Raspberry PI
- Paso 8: Construcción del módulo de visualización
- Paso 9: Terminar
- Paso 10: Componentes del módulo de visualización
- Paso 11: Cableado del módulo de visualización
- Paso 12: Ensamblaje final y pensamientos
Video: Máquina arcade modular: 12 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Mis dos hijos y yo queríamos construir una máquina recreativa, pero no pudimos decidir qué tipo construir entre un gabinete de pie completo, una barra o una consola de estilo de barra de lucha para conectar a un televisor. Eventualmente se nos ocurrió que podríamos construir los tres como una solución modular con módulos que se pueden usar individualmente o combinados como se desee.
Debido al diseño simple y la elección de componentes, esta es también una construcción bastante económica en comparación con muchos proyectos de máquinas recreativas domésticas y debería poder lograrlo por menos de 200 € / $ en materiales. Ya tenía la mayoría de los materiales de carpintería y la electrónica por ahí, así que hasta ahora he gastado menos de 100 €.
Paso 1: diseño
El concepto de diseño básico es un sistema arcade para dos jugadores compuesto por un conjunto de módulos independientes que cada uno tiene alguna función individual y también se complementan entre sí cuando se atornillan entre sí.
- El módulo de control contiene todos los controles y la electrónica de control, incluidos los controladores USB. Este módulo se puede utilizar como un controlador estilo stick de lucha conectado a una consola o Raspberry PI.
- El módulo de pantalla aloja la pantalla y Raspberry PI (o su elección de SBC) y se puede utilizar de forma independiente como una computadora "todo en uno" o conectado al módulo de control para formar una unidad arcade bartop.
- El módulo de soporte actúa como una unidad de almacenamiento en modo independiente y cuando se combina con la bartop forma una máquina arcade de pie completa.
Intentamos mantener el diseño lo más simple y funcional posible tomando algunas señales de diseño de los juegos de mesa vintage de los años 70 y 80 y evitando elementos no funcionales como la marquesina iluminada y las molduras en T que se encuentran en muchos gabinetes. Por supuesto, puede modificar el diseño para agregar estos elementos si lo desea.
Me decidí por un diseño de botones bastante clásico que parecía recordar de las salas de juegos de mi juventud con un grupo de botones de "seis en línea" al lado de cada uno de los joysticks (StreetFighter2 FTW). Coloqué los botones Iniciar y Seleccionar en el panel frontal para atender la emulación de la consola, así como la entrada de monedas y las tareas de selección de jugadores. También coloqué un botón a cada lado para juegos de pinball. Por supuesto, usted es libre de modificar el diseño según sus propios gustos y métodos de entrada deseados, p. Ej. trackballs. hilanderos ponderados, etc.
Hice un boceto de concepto inicial aproximado de la unidad de la barra en papel y luego recreé modelos correctos de escala en SketchUp; vea los archivos adjuntos para cada uno de los módulos y combinaciones.
Basé las dimensiones en un monitor de pantalla ancha de 19 que compré de segunda mano por 10 €. Esto dio como resultado un ancho total del gabinete de 500 mm que dejaba unos 30 mm de juego en caso de que tuviera que cambiar el monitor.
Consulte los archivos de SketchUp para conocer las medidas exactas de todas las dimensiones. Al cortar un panel o un agujero específico, utilicé la herramienta de cinta métrica en SketchUp para medir la dimensión en el modelo antes de marcar los cortes en el material de construcción.
Paso 2: Herramientas y materiales para carpintería
ADVERTENCIA: USE PRECAUCIÓN Y EQUIPO DE SEGURIDAD ADECUADO CUANDO OPERE HERRAMIENTAS ELÉCTRICAS
Instrumentos
- Destornillador y tornillos
- Sierra de mesa o sierra circular
- Rompecabezas
- Taladro y brocas misceláneas, incluida una sierra de perforación de 28 mm para los botones
- Papel de lija
- Broca de enrutador y redondeo
Materiales
- Lámina de MDF de 19 mm (3/4 ")
- Lámina de MDF de 6 mm (3/4 ")
- Soportes angulares (utilicé algunos de plástico realmente útiles, vea las fotos de construcción)
- Llenador de madera
- Pintar (consulte los pasos de "Finalizar" más adelante para obtener más detalles)
Paso 3: Construcción del módulo de control
Comencé el módulo de control cortando los lados del MDF de 19 mm según las dimensiones del modelo de SketchUp.
A continuación, corté los paneles frontal y posterior. Marqué los biseles en estos paneles colocándolos apretados contra los lados y marcando el ángulo con un lápiz y luego uniendo las marcas a cada lado con un borde recto. Luego lo corté a la vista en la sierra de mesa y terminé con papel de lija. Estoy bastante seguro de que hay una mejor manera de hacer esto con más herramientas y / o mejores habilidades, pero funcionó bien para mis necesidades y no tomó mucho tiempo.
Luego corté los ojales frontales y laterales y conecté todos los paneles con los soportes angulares y los tornillos. Inicialmente planeé usar pegamento, pero mis pruebas con pegado a un borde cortado de MDF parecían indicar que esto no sería lo suficientemente fuerte. Además, ya tenía un montón de soportes que reciclé de un proyecto antiguo;).
También redondeé los bordes frontales superiores en esta etapa usando el enrutador con la broca para redondear las esquinas. Esto le da un aspecto más agradable y una sensación más cómoda al módulo y recorre los bordes ásperos donde sus manos descansan naturalmente junto a los controles.
A continuación, corté la parte superior e inferior del MDF de 6 mm. Biselé el panel superior como con los paneles frontal y posterior para asegurar un ajuste perfecto y un acabado perfecto. No biselé el panel inferior porque no planeo llenarlo y pintarlo. En su lugar, lo usaré como panel de acceso de mantenimiento. Taladré y taladré agujeros para tornillos y taladré agujeros a juego en los soportes de las esquinas.
Luego desmonté el panel trasero y corté un agujero grande para el acceso regular a los cables USB y Raspberry PI.
Finalmente corté el botón del panel superior y los orificios del joystick y los volví a montar. No arreglé el panel superior en su lugar en esta etapa porque quería mantenerlo suelto durante el proceso de cableado.
Paso 4: Herramientas y materiales electrónicos
NB: Esta lista solo es necesaria si quieres convertirte en un nerd completo de la electrónica. Puede y probablemente debería obtener todas estas cosas como parte de un kit plug and play (como estos) y evitar todas las soldaduras y el cableado personalizado. Habiendo hecho esto una vez "por las malas", definitivamente seguiré la ruta del kit si alguna vez hago otro gabinete.
Instrumentos
- Probador de conectividad / multímetro
- Soldador
- Cortador de cables
- Herramienta para engarzar (acabo de usar el cortador de alambre)
Materiales
- Arduino Leonardo / Pro Micro con perfil de joystick USB HID (usé clones baratos)
- Concentrador USB
- Joystick y botones arcade.
- Crimp conectores para que coincidan con su joystick y botones seleccionados
- 2x Mini tablas de pruebas
- Cables de conexión (utilicé principalmente cables de puente Dupont)
- Soldadura electrónica (todavía tenía mi carrete de núcleo de resina original de la universidad)
- Tubo termoretráctil
Paso 5: Cableado del módulo de control
Nuevamente, recomiendo considerar un kit plug and play en lugar del enfoque documentado aquí. Solo siga este enfoque si:
A. Quiere un control total del código de manejo de botones de bajo nivel
B. Realmente disfruta de la soldadura y el cableado personalizado (quién no)
C. Ya tiene las herramientas y las piezas y / o quiere ahorrar unos dólares
D. Quiere aprender más sobre estas cosas o simplemente practicar
Mis motivaciones personales fueron una mezcla de las anteriores. Ok, así es como hice el cableado:
Primero hice cables adaptadores para unir los conectores de crimpado de los botones a los cables del conector Dupont. Hice uno de estos para el microinterruptor en cada uno de los botones y los cuatro en cada uno de los joysticks. Grite para proscribir a Larry por una excavación en la línea de producción para estos.
Luego utilicé estos cables personalizados para conectar los botones y joysticks a los pines de entrada en cada uno de los microcontroladores a través de las placas de prueba.
NB: En este diseño hay un microcontrolador separado y, por lo tanto, un cable USB para cada reproductor. Divida el joystick y los microinterruptores de botón en consecuencia entre ellos y conecte ambos botones de pinball al mismo microcontrolador. Vea las fotos que muestran una progresión a través de las etapas de cableado si se queda atascado.
A continuación, necesitaba agregar un cable para enviar una señal a cada uno de los microinterruptores que luego devolvería la señal al pin de entrada del microcontrolador cuando se presionara el botón. Usé los 4 pares trenzados en algún cable Cat 5e para proporcionar la señal a los joysticks soldando todos juntos en un extremo y conectando un cable conector Dupont conectado al pin de señal en el microcontrolador.
Hice un pequeño cable de conexión en cadena para cada uno de los grupos de 6 botones y finalmente usé mis cables adaptadores personalizados en los botones de inicio / selección y pinball nuevamente, todos conectados al pin de señal del microcontrolador.
El cableado de los microinterruptores a los microcontroladores fue bastante sencillo debido al uso de la mini placa de pruebas y los conectores Dupont, lo que significaba que podía mover fácilmente los cables según fuera necesario.
Paso 6: Código del controlador
El código es bastante básico. Modifiqué un ejemplo de gamepad de la excelente biblioteca de joystick Arduino
Puede obtener más información sobre cómo comenzar con esa biblioteca en este práctico instructivo.
Al final de este paso, teníamos un controlador de stick de lucha para 2 jugadores en funcionamiento, ¡así que celebramos con algunas rondas de StreetFighter2 en mi computadora portátil!
Originalmente planeé conectar los microcontroladores directamente a la Raspberry PI a través de USB, pero mientras probaba en la computadora portátil descubrí que conectar y desconectar los conectores micro USB a los microcontroladores a través del panel de acceso era muy complicado y finalmente rompí el conector micro USB de uno de los microcontroladores.
La solución a esto fue incluir un concentrador USB en el módulo de control. Esto significó que solo se expuso una única conexión desde el Módulo de control y la solución general fue mucho más robusta. Con el cableado completo, agregué orificios para tornillos avellanados en el panel superior y lo atornillé en su lugar.
gamepad.ino
// Ejemplo simple de gamepad que demuestra cómo leer cinco Arduino |
// pines digitales y asignarlos a la biblioteca Arduino Joystick. |
// |
// Los pines digitales están conectados a tierra cuando se presionan. |
// |
// NOTA: Este archivo de boceto es para usar con Arduino Leonardo y |
// Solo Arduino Micro. |
// |
// Versión modificada del código original por Matthew Heironimus |
// 2018-08-11 |
//-------------------------------------------------------------------- |
#incluir |
Joystick_ Joystick; |
voidsetup () { |
// Inicializar los pines de los botones |
pinMode (2, INPUT_PULLUP); |
pinMode (3, INPUT_PULLUP); |
pinMode (4, INPUT_PULLUP); |
pinMode (5, INPUT_PULLUP); |
pinMode (6, INPUT_PULLUP); |
pinMode (7, INPUT_PULLUP); |
pinMode (8, INPUT_PULLUP); |
pinMode (9, INPUT_PULLUP); |
pinMode (10, INPUT_PULLUP); |
pinMode (16, INPUT_PULLUP); |
pinMode (20, INPUT_PULLUP); |
pinMode (21, INPUT_PULLUP); |
// Inicializar la biblioteca de joystick |
Joystick.begin (); |
Joystick.setXAxisRange (-1, 1); |
Joystick.setYAxisRange (-1, 1); |
} |
// Último estado de los botones |
int lastButtonState [12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; |
int pines [12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 20, 21}; |
voidloop () { |
// Leer los valores de los pines |
para (índice = 0; índice <12; índice ++) |
{ |
int currentButtonState =! digitalRead (pines [índice]); |
if (currentButtonState! = lastButtonState [índice]) |
{ |
interruptor (pines [índice]) { |
case2: // ARRIBA |
if (currentButtonState == 1) { |
Joystick.setYAxis (-1); |
} demás { |
Joystick.setYAxis (0); |
} |
rotura; |
case3: // DERECHA |
if (currentButtonState == 1) { |
Joystick.setXAxis (1); |
} demás { |
Joystick.setXAxis (0); |
} |
rotura; |
case4: // ABAJO |
if (currentButtonState == 1) { |
Joystick.setYAxis (1); |
} demás { |
Joystick.setYAxis (0); |
} |
rotura; |
case5: // IZQUIERDA |
if (currentButtonState == 1) { |
Joystick.setXAxis (-1); |
} demás { |
Joystick.setXAxis (0); |
} |
rotura; |
caso6: |
Joystick.setButton (0, currentButtonState); |
rotura; |
case7: |
Joystick.setButton (1, currentButtonState); |
rotura; |
case8: |
Joystick.setButton (2, currentButtonState); |
rotura; |
case9: |
Joystick.setButton (3, currentButtonState); |
rotura; |
case10: |
Joystick.setButton (4, currentButtonState); |
rotura; |
case16: |
Joystick.setButton (5, currentButtonState); |
rotura; |
case20: |
Joystick.setButton (8, currentButtonState); |
rotura; |
case21: { |
Joystick.setButton (9, currentButtonState); |
rotura; |
} |
} |
lastButtonState [índice] = currentButtonState; |
} |
} |
retraso (10); |
} |
ver rawgamepad.ino alojado con ❤ por GitHub
Paso 7: Configuración de Raspberry PI
Recomiendo un Pi 3 para obtener el máximo rendimiento y compatibilidad del juego, pero si solo está interesado en juegos más antiguos, un dispositivo de menor potencia como el Pi Zero también estaría bien. Estoy usando un Pi 2 de repuesto que ya tenía por ahí.
Hay una gran cantidad de recursos excelentes en la web que describen cómo configurar el Pi elegido u otro SBC con diferentes emuladores y interfaces. Yo personalmente uso y recomiendo RetroPie y encontré estos videos, excelentes, de ETA Prime como una excelente manera de comenzar a funcionar rápidamente.
Paso 8: Construcción del módulo de visualización
Comencé la construcción del módulo de visualización con los paneles laterales, marcando y recortando el primero de las dimensiones medidas del archivo de SketchUp utilizando la cinta métrica virtual. Luego utilicé el primer panel como plantilla para marcar el segundo.
Luego corté el panel trasero inferior, atornillé algunos soportes angulares y luego lo atornillé a los paneles laterales. En esta etapa verifiqué que mi monitor encajaría. Estaba un poco más estrecho de lo que esperaba, pero había suficiente espacio.
Luego agregué el panel frontal inferior y corté agujeros en él para que coincida con el módulo de control. Para marcarlos, coloqué el módulo de control contra el módulo de visualización y escribí alrededor del interior del orificio existente en el módulo de control.
En esta etapa, pude atornillar los dos módulos usando dos pernos conectores de gabinete. ¡Ahora podía ver la forma final del módulo combinado de barra superior!
El siguiente paso fue enrutar los bordes de los paneles. Para ello, volví a desmontar la unidad. También corté el orificio para la entrada de energía y el interruptor. Para esto, primero marqué el agujero, luego taladré las esquinas con una pequeña broca de madera y finalmente corté el material restante con una sierra espiral.
Luego volví a ensamblar la unidad pegando cada pieza esta vez. Como también estaba usando soportes, no necesitaba usar abrazaderas para unir las piezas.
Ahora que la unidad estaba en su forma final, corté el panel de la pantalla y lo encajé en su lugar, trabajando en él con papel de lija hasta que encajara perfectamente. Cuando estuve satisfecho con el ajuste, lo saqué y usé una sierra de calar para cortar el orificio para que la pantalla coincidiera con el área visible de la pantalla. Hecho esto, pude probar la pantalla en su lugar usando algunos soportes para sostener el monitor sin apretar en su posición.
Puse los dos módulos juntos para ver cómo se veía y luego terminé de pegar el marco de la pantalla en su lugar. Para hacer esto, agregué algunas piezas adicionales de MDF de 6 mm detrás del borde de la pantalla para asegurarme de que fuera sólido y evitar grietas en la pintura más adelante.
Paso 9: Terminar
Una vez que el pegamento se había secado por completo en el módulo de exhibición, apliqué generosamente masilla para madera a todas las juntas e imperfecciones y lo lijé con papel de lija de grado grueso.
Luego lo cubrí con adhesivo de PVA diluido como primera capa de sellado. A continuación, apliqué varias capas de una mezcla de PVA y pintura blanca para madera / acero de uso general que encontré en el garaje.
Todas estas capas iniciales se aplicaron con una brocha normal de 2.
Cuando las capas base se secaron, lijé ligeramente con papel de lija de grano fino. Después de eso, agregué otra capa de pintura blanca.
Cuando estuvo seco, lijé ligeramente de nuevo y luego apliqué un par de capas de pintura en aerosol de uso general de bajo costo de las latas que compré en la ferretería.
Antes de repetir el proceso para el módulo de control, corté el panel posterior superior del módulo de visualización. Este panel tiene un agujero para que pueda transportar el módulo de visualización más fácilmente. También actúa permite que el sonido de los altavoces del monitor integrados salga de la carcasa.
En esta etapa también decidí quitar los tornillos del panel superior del módulo de control y pegarlo en su lugar. Para asegurarme de que estuviera seguro, primero pegué algunas piezas de soporte adicionales.
Cuando se pintó el módulo de control, utilicé una Dremel para limpiar los ojales, probando continuamente su tamaño con uno de los botones. Finalmente pegué la tuerca del conector de muebles en la parte posterior de los módulos de control.
Estaba razonablemente satisfecho con el acabado resultante al final de este paso dada la cantidad de tiempo y esfuerzo invertido. De ninguna manera fue perfecto y podría mejorarse con más tiempo durante esta etapa. Realmente depende del nivel de acabado que desee lograr y cuánto tiempo llevará este paso.
Paso 10: Componentes del módulo de visualización
- Monitor de pantalla ancha de 19 "con altavoces
- Computadora de placa única Raspberry PI 2 (SBC)
- Estuche Raspberry PI 2
- Adaptador de corriente USB de 2 amperios
- Cable micro-usb
- Cable de audio de 3,5 mm
- cable HDMI
- Toma de corriente del chasis (tipo de cable de caldera)
- Cable de la caldera de red
- Toma de corriente doble
Paso 11: Cableado del módulo de visualización
Primero agregué una base y un panel trasero a la carcasa del módulo de visualización. El panel trasero se aseguró en su lugar con pestillos magnéticos para que se pueda quitar fácilmente para acceder rápidamente a los componentes.
Luego conecté un interruptor de encendido a una toma de corriente doble para encender el PI y el monitor. Soldé los cables de alimentación al interruptor y envolví los cables con tubos termorretráctiles. Si no se siente completamente cómodo con esta parte, obtenga ayuda de alguien calificado. NO corra ningún riesgo con el cableado de red.
Después de fijar el interruptor de forma segura a la carcasa, coloqué el monitor en posición. Dada la lucha ya apretada, un par de soportes de plástico adicionales fueron todo lo que se requirió para asegurar la pantalla en su lugar.
Luego conecté un adaptador de corriente USB para el PI y un cable de hervidor para el monitor. Todo lo que quedaba era conectar las señales de audio y video al monitor.
Como el monitor no tiene entrada HDMI, utilicé un adaptador HDMI a DVI. El audio se suministró a los altavoces del monitor integrados a través de un cable de audio de 3,5 mm del PI. Con el panel posterior encendido y la configuración de audio al máximo, el volumen de audio está bien, pero no alto. Podría agregar parlantes y un mini amplificador en una actualización futura.
Finalmente, conecté un concentrador USB al PI y pude dejar que comenzaran las pruebas del módulo de pantalla completamente operativo.
Paso 12: Ensamblaje final y pensamientos
El último trabajo antes del ensamblaje final fue volver a cablear y ensamblar el módulo de control después de pintar. Esto fue bastante bien, aparte de romper un cable que tuvo que volver a soldarse.
Antes de combinar los módulos de control y visualización, corté un par de discos de película adhesiva de contacto transparente para evitar que los cilindros de los conectores de muebles que sobresalen del módulo de control rayen la pintura del módulo de visualización.
Entonces fue una simple tarea colocar los módulos y atornillarlos. En esta etapa, la unidad de la barra está completamente completa y lista para la acción. Parece que esta será la configuración preferida, por lo que no necesitaré construir el módulo de soporte al menos por un tiempo. Si lo hago, actualizaré esta publicación. El módulo de soporte en sí debería ser el más simple de todos. Básicamente es un gabinete de almacenamiento simple con orificios para pernos en la parte superior para conectarlo a la unidad de la barra.
Me lo he pasado genial trabajando en este proyecto con mis hijos. Aprendimos mucho y ahora estamos ansiosos por jugar muchos clásicos de arcade y consolas en la nueva máquina. ¡Gracias por leer y cuéntanos qué piensas del proyecto en los comentarios!
Recomendado:
Máquina arcade de escritorio: 5 pasos
Desktop Arcade Machine: este proyecto es una máquina arcade de escritorio hecha de una vieja estación de trabajo Dell. Para aquellos que se lo pregunten, la computadora tiene 8 GB de memoria DDR3 (4 x 2 GB), un núcleo Intel i3 y una fuente de alimentación de 300 vatios. No se necesita tarjeta gráfica ya que los juegos más antiguos no son
Máquina arcade Bartop alimentada por PC que ejecuta LaunchBox: 7 pasos
Máquina arcade Bartop alimentada por PC que ejecuta LaunchBox: ¡La máquina BarCade es una sala de juegos, integrada en Windows 10 con Big Box, que puede jugar algunos de los juegos retro más grandes de la historia! ¿Sonic? Entiendo. Pokemon Pinball? Tenemos eso. ¿Luchador callejero? Cheque. Y mucho más. El BarCade puede llenar muchos de sus juegos ne
Gabinete modular para consola MAME Arcade - MMACE: 9 pasos (con imágenes)
Gabinete de consola modular MAME Arcade - MMACE: Hoy estamos construyendo nuestra propia consola MAME para 4 jugadores usando el gabinete de consola modular Mame Arcade (o MMACE). Este es un kit de madera que se puede ampliar de 2 a 3, 4, 5 o más jugadores utilizando secciones entrelazadas. Nos centraremos en el juego de 4
Caja de la máquina Arcade de Lego para GBA SP: 3 pasos
Caja de Lego Arcade Machine para GBA SP: Este es un Game Boy Advance SP en una Lego Arcade Machine. Necesitarás un GBA SP y una buena cantidad de ladrillos Lego
Máquina de juego de arcade con Raspberry Pi: 7 pasos (con imágenes)
Máquina de juego de arcade con Raspberry Pi: Making story: máquina de juego de Arcade con pi retro (raspberry pi3)