loading

Este proyecto sera una continuación o una implementan mas a fondo de mi proyecto anterior (Potenciometro, Botones y Arduino UNO como Joystick, leer este instructable es clave para poder entender como funcionara lo que a continuación se creara y explicara), en donde se creara y se usara casi la totalidad del potencial que UnoJoy nos da para crear un control, ya que no usaremos los dos Joysticks análogos que posee un control de PS3, por ejemplo. Crearemos un control retro, arcade, que se maneja mecánicamente por 8 botones y una palanca, con la caja para montarlo en su totalidad y luces para los botones.

¿Listo?.

Step 1: Materiales

El lugar para conseguir algunos materiales podría llegar a ser difícil, como es el caso de la palanca, pero una buena búsqueda entre tiendas por Internet y de electrónica o consolas retro se llegara a encontrar, al igual que los respectivos botones, no te sorprendas si solo esa palanca vale mas que tu arduino uno.

  • Madera 40x50cm (suficiente para cortar las medidas de las tapas superior e inferior de la caja) que no se quiebre fácilmente
  • Segunda Madera 100x20cm (esta sera para los laterales de la caja)
  • Pintura en Spray (del color que se desee, en mi caso use negro mate, ya que el mate combina mejor al añadirle las luces a los botones)
  • Arduino UNO
  • Jumpers (40 aproximadamente, de varios tamaños, muy largos, medianos y cortos)
  • Botones redondos mecánicos con iluminación interna (x8)
  • Palanca mecánica 4 contactos
  • Soldador y estaño
  • Un suiche de 2 posiciones
  • 8 leds color blanco
  • Protoboard pequeña de solo 2 lineas
  • Cable USB (de Tipo B Macho a Tipo A Macho) Largo
  • Clavos (Puntillas) o Pegamento para madera
  • Tornillos pequeños

Step 2: Descargar E Instala Archivos Necesarios

Lo que necesitamos serán casi los mismos archivos que se descargaron en mi instructable anterior (Flip Installer, UnoJoy.rar, Processing 2), solo que ahora el código que va en el .rar UnoJoy es diferente, aquí te los dejo también para descargar.

Instalaremos Flip y Processing 2, luego extraeremos el .rar UnoJoyV2, y dejaremos todo al momento como esta ahí, luego miraremos como esta el código para poder ponerle orden a los botones y la palanca y demas

Step 3: Corta Y Arma La Caja

La imagen representa lo que sera explicado a continuacion

La caja que armaremos tendrá unas medidas que son las respectivas al tamaño y también, sera lo mínimo en cuanto a grosor que podremos tener por poseer los botones y la palanca mecánica de contacto, estos se gastan un considerable espacio, pero nos beneficia por que nos deja espacio libre para poner los cables y para que el arduino encaje perfectamente en un lateral de la caja.

  1. Lo que se miraria primero son las medidas para saber como sera el orden de corte y la posición que se quiere de los botones y la palanca (Dejare una imagen con las medidas genericas de los botones, ya que puede variar segun los botones que conseguiste y una posición neutral de los botones y la palanca, ya que estos se pueden ordenar al gusto y poner en la posición que se desee).
  2. Luego de marcar el corte, se procederá a crear los huecos respectivos y cortar todas las maderas, para esto, luego de tener las marcas en la madera, o tu mismo lo cortas con tus herramientas en casa, o te llevas esto a una carpintería y pides el favor de que te corten la caja y te creen los huecos (ten cuidado cuando se estén cortando los huecos para los botones y la caja, para que todo encaje perfectamente).
  3. luego de tener cada pedazo bien cortado, no botes el resto de trozos de madera que sobraron, ya que usaremos un cuadrado de la madera resistente para la palanca, del tamaño de 9x9cm, para que pueda moverse sin restricciones.
  4. cuando ya tengas todo listo, comienza a pegar la caja, con las puntillas o el pegamento para madera, arma la caja dejando la tapa de abajo sin pegar, para poder armar los cables y demás desde esta vista.
  5. en la parte de la palanca, por dentro, vamos a poner ese cuadrado de 9x9cm que cortamos, el cual tendrá un hueco mas grande que debe estar por dentro, para que cuando coloquemos la palanca, esta no quede atascada de movimiento por el otro hueco de menor tamaño, luego pondríamos la palanca.
  6. al ya tener todo posicionado, una caja firme y todo bien cortado y en su lugar, vamos a pintar la caja del color que hayamos elegido, la dejaremos secar antes de ponerse a armar todos los circuitos.

Tomate tu tiempo para armar todo esto

Step 4: Pon El Arduino, La Palanca Y Los Botones

Cuando ya tenemos una caja armada y pintada, vamos a conectar todo y posicionarlo en su lugar

  1. colocaremos el arduino en un lateral de la caja por dentro, en su adecuada posición y lo fijaremos con pequeños tornillos para que no se despegue
  2. pon los botones y atornillalos con su tuerca grande especial para ellos a la caja, que queden bien fijos y no se muevan
  3. ubica en un hueco lateral el suiche de 2 posiciones, este es usado en el codigo para dar varios modos de iluminacion modificable en el codigo (entre 1.todo encendido, 2.se enciende al precionar un boton o 3.todo apagado).
  4. ubica y atornilla la palanca con la madera de 9x9cm en su lugar, probando que si se pueda mover libremente y sin obstaculizarse
  5. ahora, cada botón tiene una forma de safar una parte de ellos para extraer si iluminación interna, y es girando en sentido anti horario de las manecillas del reloj para poder safarlo, allí haremos un intercambio de los bombillos pequeños que usan que gastan mucha electricidad y con arduino no nos podría funcionar (ya que arduino y su conexión por usb no soportan mas de 5v para los leds) por los leds que ya tenemos, safamos los bombillos e incrustamos los leds, cortandoles las patas para que no queden muy largos y no obstaculizen la presión del botón.
  6. volvemos a ubicar la iluminación de los botones en cada botón y comprobamos que todo quedo en su lugar, con un orden y que nada se caerá accidentalmente.
  7. para acabar, en la madera frente donde se ubico el arduino, pegaremos la mini protoboard de 2 lineas donde serán ubicados todos los cables Ground, lo usaremos como un "embudo" (ya que cada lado de la palanca, cada botón y cada led gasta 1 ground, luego debemos multiplicar esto por cada elemento que tengamos).

Tomate, de nuevo, tiempo para armar todo esto

Step 5: Conecta Y Ordena Los Cables

Ahora vamos a una parte importante en todo este proyecto, conectar cada cable en su lugar, para esto, usaremos los jumpers que creas correspondientes a su tamaño en cuanto a que tan cerca o lejos estén del arduino. Los jumpers, usaremos una parte normal que se conectara al arduino, y el otro lado del cable sera cortado para poder soldar directamente a los contactos de los botones, al igual que los leds y el suiche de 3 posiciones.

La ubicación de cables de los botones esta explicada en la imagen.

Prepararemos el soldador y el estaño para solar todos los respectivos cables.

1. recordando, el código lo que trata es de emular un control de PS3 cuando usamos el "emulador" en Processing para saber que todo funciona correctamente, y para darle un orden lógico a los botones, pero tu le puedes dar el orden que quieras, solo ten en cuenta a que pines ira cada conexión. en un orden estándar, los botones por su lado positivo están conectados a los pines (2, 3, 4, 5, 10, 11, A0 y A1).

2. el orden que tendría la palanca en su lado positivo seria arriba, abajo, izquierda, derecha; respectivamente (6, 7, 8 y 9).

3. el suiche de 2 posiciones estaría conectado, una pata al pin 12 y el otro a ground.

  • Aquí venimos a una pausa explicativa, y es que, por falta de pines en el Arduino UNO, estamos limitados a solo 4 pares de leds, no leds para cada botón, esto que quiere decir, que en el código, los leds están de a pares, y que la conexión sera la misma, para cada 2 botones solo tendremos 1 conexión al arduino, así que para cada dos botones, debemos conectarlos entre si (solo en la parte de los leds), y luego que solo tengan 1 salida hacia el arduino.

4. Entendido lo anterior, iremos a conectar los leds, sabiendo que estos trabajan de a pares en los botones, su conexión sera en paralelo para ground y positivo-pin digital, y en un orden estándar, siguiendo el estándar también de los botones, los leds van conectados en su lado positivo a los pines (13, A5, A3 y A4).

5. conectaremos todos los grounds de la palanca, los botones y los leds, (unos 16 grounds, dependiendo de el orden y la conexión que creas necesaria armar) a la protoboard que nos hace de embudo, y luego, mandamos un cable largo desde esta protoboard al ground del arduino para completar el embudo.

6. Para acabar, conectaremos el cable USB del arduino y lo pasamos por el hueco para que quede por fuera de la caja.

Ya tendríamos todo el circuito de adentro listo y casi finalizado todo el control.

Paciencia y precisión amigo

Step 6: Comprueba Que Todo Funcione

Antes de dar por acabado el control y cerrar con la ultima tapa de madera la caja, debemos probar que todas nuestras conexiones esten en su orden, que las soldaduras hayan sido bien puestas para que los botones esten funcionando al igual que los leds y el suiche. todo esto sera probado conectando el control-arduino al pc y subiendo el codigo al arduino (UnoJoyArduinoCodigoMASTER.ino), luego de esto, debemos iniciar el codigo de Processing (UnoJoyProcessingVisualizador.pde) para confirmar que nuestros botones y demas estan en orden y funcionando, que la palanca si tiene un orden logico de direccion y que los dos modos de iluminacion que se cambian por medio del suiche esten funcionando.

si algo de orden en los botones, la palanca o los leds no cuadra, sera mas facil cambiar el orden de en que pin esta conectado, en el codigo de arduino que ponerse a desconectar y volver a conectar los pines dentro de la caja, en el codigo, cambiar el orden de los botones y la palanca estan al final, cuando esta la parte de:

controllerData.triangleOn = !digitalRead(2);

controllerData.circleOn = !digitalRead(3);

controllerData.squareOn = !digitalRead(4);

para el orden en los leds, este esta al principio del codigo, en la parte de:

int pinled1 = 13;

int pinled2 = A5;

int pinled3 = A3;

y para cambiar el modo de color, como solo tenemos un suiche de 2 posiciones, seria cambiar cuando todos los leds quedan encendidos, a que todos queden apagados, en la aprte de:

if (digitalRead(pinb) == LOW){

digitalWrite(pinled1, HIGH);

digitalWrite(pinled2, HIGH);

Ahora, antes de cerrar la caja por completo, no te olvides de pasar el arduino a modo joystick, usando (Cambiar a modo Joystick.bat) y poniendo el arduino en estado DFU, para poder dejar el arduino listo para jugar con solo conectarlo, Plug and Play!

Step 7: Listo!

Ya podrás pegar la tapa de abajo y dar por finalizado tu control arcade retro personalizado!

prueba el control en todos tus emuladores o juegos favoritos, configura los controles en ese juego y a jugar.

si tienes un cable OTG para conectarle USB al celular, conecta el control a tu celular o tablet para jugar allí también.

gracias por haber leído este proyecto, espero que te haya gustado

:D

Links originales de los programas usados:

Great idea, but just one critique about the layout: it's gonna be hard to acess the 6 buttons while playing.<br><br>Normally, they are like this (the stick I use for playing Street Fighter V). It won't make your fingers hurt from always stretching them to reach the other buttons.
<p>To suit the ergonomics of the fingers, it is not the best design, but to start, this is a good standardand, the good thing is that you can locate the buttons as you like. And thanks for the suggestion.</p>
<p>I really want to make something like this for my toddler. His hands just aren't big enough to properly use an Xbox controller. But a large joy stick and buttons more easily use both hands.</p>
Off course, do it for him so he can easily lay those games, I hope you are able to do it.

About This Instructable

4,556views

67favorites

License:

More by acur97:Control Arcade Arduino UNO Shield Ethernet Arduino, Controlar Servo y Led por internet Potenciometro, Botones y Arduino UNO como Joystick 
Add instructable to: