Controlador de juego Arduino
Componentes y suministros
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 12 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 |
Herramientas y máquinas necesarias
| ||||
![]() |
| |||
![]() |
|
Aplicaciones y servicios en línea
![]() |
| |||
![]() |
|
Acerca de este proyecto
VIDEO
INTRO
Así que esta publicación tratará sobre un "Controlador USB para juegos de bricolaje" en el que hemos estado trabajando recientemente en ElectroPunkz Labs.
la idea aquí es hacer un controlador USB económico basado en Atmega32U con botones y joysticks analógicos que se puedan usar para jugar
como NFS, GTA, vida media, LITTLE FIGHTER 2! etc
Hemos creado nuestro controlador en dos factores de forma, el primero se basa en la configuración de PS1 o SNES y el otro es un controlador USB de Xbox directo con dispositivos y botones analógicos (aún no finalizados)

¡Vamos a hacer V1 en esta publicación, que es el controlador de diseño de PS1!
Es mejor si miras el video del proyecto primero-
MATERIALES
el hardware es bastante simple y fácil de conseguir (a excepción de la PCB, puede hacer la suya propia con el archivo PDF adjunto de PCB)
- Arduino Leonardo / Pro Micro / Atmega32U
- Botones (interruptores de tachuela)
- PCB grabado personalizado (se adjunta un PDF de matriz de botones)
- Resistencias de 10K
- Cables de puente
Gracias ¡UTSOURCE.net ofrecerá componentes electrónicos para este proyecto! puede consultar UTSOURCE.net, se ocupan de todo tipo de componentes electrónicos como, por ejemplo, todos los componentes utilizados en este proyecto.
PROCESO CONSTRUIDO (Cableado, montaje , etc.)
Lo primero que tenemos que hacer es preparar la configuración básica, que consiste básicamente en 12 botones conectados en una configuración desplegable con un Pro Micro, básicamente esto:
probamos esto en una placa de pruebas y luego preparamos una PCB de acuerdo con el esquema anterior.


Después de hacer el PCB (en cadencia OrCad) imprimimos el PDF de su capa SUPERIOR en un papel brillante.
Corté el papel brillante de acuerdo con la forma de PCB y lo coloco en una placa revestida de cobre y le aplico calor para transferir la tinta del papel brillante a la placa revestida de cobre. (Método básico de transferencia de tonos, mira mi video sobre este tema)

Después de preparar el PCB, lo colocamos en una solución de grabado y grabamos el PCB, después de eso, simplemente perforamos los orificios para los componentes y nuestro PCB CONTROLADOR DE JUEGOS DE BRICOLAJE estaba listo!
Luego, simplemente pusimos todo en él de acuerdo con el esquema y el circuito estaba listo.
Después de preparar el circuito, diseñamos e imprimimos en 3D la carcasa / carcasa de PCB para el controlador en Fusion360.

Ahora solo tenemos que cargar el código y jugar con él.
CÓDIGO
Cargue el código provisto en su Pro Micro.
Un consejo, primero pruebe su placa / configuración a fondo, verifique la resistencia y la conectividad de las pistas de PCB porque si falta algo, esto causaría muchos errores de teclado porque las líneas de tierra faltantes enviarán señales irregulares a los pines y su micro pro se mantendrá al presionar teclas aleatorias, lo que hará que la reprogramación del Pro micro sea muy difícil.
PRUEBAS
Lo primero que debe hacer es abrir el Bloc de notas, comenzar a presionar las teclas de su controlador y verificar si las teclas de la prensa muestran las palabras correctas que están asignadas
o simplemente use cualquier aplicación de prueba de teclado o aplicación web.
Si todo funciona de acuerdo con el código, ¡entonces abre cualquier juego y comienza a jugarlo con esta CONSOLA DE JUEGOS DIY!
mira el video-
MÁS MEJORAS
Bueno, lo primero que voy a agregar a esta configuración son Joysticks analógicos para jugar juegos adecuados que usan un mouse para navegar por el jugador, algo así como la CONSOLA XBOX ONE.
V2 tendrá un PCB adecuado con el diseño del controlador XBOX One, así que estad atentos para eso.
¡Dejen un comentario si tienen algún problema!
Código
- CÓDIGO
CÓDIGO C / C ++
#includeint WPin =2; // ARRIBA int SPin =3; // DOWNint APin =4; // IZQUIERDA int DPin =5; // RIGHTint UPLpin =7; // arriba a la izquierda Qint UPRpin =9; // arriba a la derecha Xpin =14; // xint Apin =10; // iint Ypin =15; // yint Bpin =16; // bvoid setup () {pinMode (WPin, INPUT); pinMode (SPin, INPUT); pinMode (APin, INPUT); pinMode (DPin, ENTRADA); pinMode (UPLpin, ENTRADA); pinMode (UPRpin, ENTRADA); pinMode (Xpin, ENTRADA); pinMode (Apin, ENTRADA); pinMode (Ypin, ENTRADA); pinMode (Bpin, ENTRADA); escritura digital (WPin, ALTA); digitalWrite (SPin, HIGH); digitalWrite (APin, HIGH); escritura digital (DPin, ALTA); digitalWrite (UPLpin, HIGH); escritura digital (UPRpin, ALTA); escritura digital (Xpin, ALTA); escritura digital (Apin, ALTA); escritura digital (Ypin, ALTA); escritura digital (Bpin, ALTA); Keyboard.begin (); } bucle vacío () {if (digitalRead (WPin) ==0) {Keyboard.write ('W'); delayMicroseconds (1); } if (digitalRead (SPin) ==0) {Keyboard.write ('S'); delayMicroseconds (1); } if (digitalRead (APin) ==0) {Keyboard.write ('A'); delayMicroseconds (1); } if (digitalRead (DPin) ==0) {Keyboard.write ('D'); delayMicroseconds (1); } if (digitalRead (UPLpin) ==0) {Keyboard.write ('q'); delayMicroseconds (1); } if (digitalRead (UPRpin) ==0) {Keyboard.write ('e'); delayMicroseconds (1); } if (digitalRead (Xpin) ==0) {Keyboard.write ('x'); delayMicroseconds (1); } if (digitalRead (Apin) ==0) {Keyboard.write ('i'); delayMicroseconds (1); } if (digitalRead (Ypin) ==0) {Keyboard.write ('y'); delayMicroseconds (1); } if (digitalRead (Bpin) ==0) {Keyboard.write ('b'); delayMicroseconds (1); }}
Piezas y carcasas personalizadas
Esquemas
Proceso de manufactura
- Juego de giroscopio Arduino con MPU-6050
- Dados digitales Arduino
- Arduino Nano Tetris Game en una matriz casera de 16x8
- Botella de agua con tecnología Arduino
- Pixel Chaser Game
- Controlador Arduino Home activado por Alexa
- NeoMatrix Arduino Pong
- Guante de mano inteligente
- Juego DIY Arduino 1D Pong con tira de LED WS2812
- Controlador de tester Arduino DMX-512
- Juego de ruleta LED