Crear nuestro dispositivo haptico con Arduino

Introducción

Sentiras literalmente el “Hadouken” de Ryu y esto es de las cosas mas divertidas para jugar en una noche de cervezas con amigos y a un más con un contrincante con nivel y valiente, por que durante las pruebas/beta con varios jugadores descubri que no cualquier ser humano acepta el reto de jugar con dolor, la idea dio inicio a partir de que tenia ganas de testear un #Arduino utilizando #Javascript y al mismo tiempo la nostalgia de jugar mi primer juego de peleas Street Fighter 2 (The World Champion) en mi nuevo arcade casero que habia construido recientemente.

Este dispositivo se clasifica como Haptico (Haptic):

Háptico = tecnología que hace que puedas “sentir” físicamente lo que ocurre en una experiencia digital.

Productos hápticos comerciales similares en el mercado y caros

Nosotros vamos a fabricar uno casero(DIY) y nos va a costar $689 MXN ($40 USD) pero actualmente existen varios dispositivos Hápticos, sin embargo son caros y la mayoria orientados a dispositivos de realidad aumentada (VR) entre los mas populares son estos:

Woojer Vest 4 (~$7,300 MXN) — USD$479
OWO Skin (~$10,300 MXN) — USD$569
TactSuit Pro (~$10,200 MXN) — USD$565
X-Force Haptics Kit (~$4,700 MXN) — USD$369.95
Teslasuit (~$235,000 MXN 🤯🔥) — USD$12,999 🤯🔥

Pero ninguno esta diseñado realmente para jugar Street fighter 2, es posible configurar algunos usando el sonido pero es poco exacto y actualmente a la fecha de este tutorial no hay ninguno especificamente para street fighter 2.

Objetivos del Dispositivo Háptico con Street Fighter 2

  • Recepción de golpes: Si el jugador 1 causa daño al jugador 2 este reciba una descarga electrica y viceversa.
  • Castigo por perder: En caso de que pierda el jugador 1 o 2, este recibira 5 descargas continuas por el tiempo que dura el clásico grito de derrota.

Paso 1: Fabricando el hardware con ARDUINO

En resumen usaremos una caja de toques ya fabricada y un #Arduino UNO R3 con un servo motor que lo usaremos como un relay es decir se encargara de direccionar los toques electricos al jugador 1 o jugador 2.

¿Necesito tener conocimientos de programación y electronica?

No, para replicar este proyecto sigue los pasos que a continuación describo e intentare explicar que hace cada pieza de este proyecto, es básicamente un LEGO, solo debes unir las piezas, si eres menor de edad por favor pide ayuda a un adulto no lo armes sin la supervisión de un adulto.

Materiales para construir el hardware háptico

Los materiales que usaremos para construir son los siguientes:

NombrePrecio MXNPrecio USDImagenDonde comprar
Caja de toques armada
PCAJA-001
$299 MXN$17.67 USDKit De Caja De Toques Para Armar | K-322Mercado Libre
Tienda Steren
Arduino UNO REV 3 $109 MXN$5.50 USDArduino UNO REV 3Mercado Libre
Cables Dupont Jumpers 20cm$10 MXN$1 USDMercado Libre
Micro Servomotor Mg90s$57 MXN$3.36 USDMicro Servomotor Mg90sMercado Libre
Caja De Plástico Proyectos Electrónicos $84 MXN$3.35 USDCaja De Plástico Proyectos Electrónicos Mercado Libre
Colgadera Tipo Caimán Para Cuadros Y Marcos 6 piezas$40 MXN$2.36 USDMercado Libre
Ferreteria local
2 resortes de bateria$0 MXN$0 USDUn control viejo
Mercado Libre
4 ligas para el cabello$20 MXN$1 USDTienda Local
Mercado Libre
10 metros de cable bocina calibre 22 AWG$50 MXN$2.36 USDFerreteria local
Mercado Libre
Cinta de aislar,cintillos, pijas y silicon$20 MXN$1 USDFerreteria Local
Total$689 MXN$40 USD aprox

Conectando nuestra caja de toques al servo motor

Primer paso, deberemos conectar la caja de toques a nuestro servo motor, el servo motor sera el encargado de tomar la desición de darle los toques al jugador 1 o jugador 2 que reciba daño en el juego.

Caja de toques armada PCAJA-001 marca Steren

Kit De Caja De Toques Para Armar | K-322

Tocas las barras y recibes el toque… ¡y descubres qué tan rápido puedes brincar! ⚡🤣

La caja de toques de la marca steren modelo “PCAJA-001” que use transmite pulsos eléctricos controlados que producen una sensación de descarga al tocar los electrodos, en México es algo muy comun de ver en fiestas, bares o la calle para divertir a la gente y la razon por al cual preferi usar este aparato de la marca Steren en vez de construirlo es para darme paz mental por temor a equivocarme y crear algo mortal que termine en resultados fatales y es por eso preferi usar este producto comercial que se podria decir que en teoria es seguro 🤔 para ser usado en humanos por que el fabricante expresa en la caja lo siguiente “Es confiable y muy segura, sin embargo no debe utilizarse con personas que tengan marcapasos, problemas de presión arterial o mujeres embarazadas.” asi es que si tienes dudas, mejor consulta con tu doctor simi👨🏻‍⚕️ antes de probarlo.

Servo motor MG90S

Micro Servomotor Mg90s

El servo motor es un pequeño motor que puede girar hasta la posición que tú le indiques, como si fuera un brazo mecánico controlado por computadora. 🤖⚙️.

Empecemos con la fabricación, en nuestra Caja De Plástico de Proyectos Electrónicos fijaremos el servo motor en una de las orillas de nuestra caja de plastico, le puse un cintillo haciendo unos agujeros en la caja para sujetarlo.

A continuación en el brazo de servo uniremos en cada lado un resorte de bateria usaremos los orificios del brazo de servo para una mejor fijación.

Despues usaremos 4 de las colgaderas tipo Caimán y los vamos a doblar en forma de L para poder unir con una pija a nuestra caja como indica en el diagrama:

[DIAGRAMA DE COMO DEBERAN QUEDAR LOS CAIMES]

Fijamos el caiman a la caja de plastico con el tornillo

Doblamos en L el caiman para que quede a la altura como indica el diagrama

Hacemos el mismo proceso con los caimanes restantes que en total deberemos fijar los 4 caimanes a la caja en la posición que indique en el diagrama.

Ahora vamos a realizar el cableado de nuestra caja de toques al servo motor, empezamos desarmando los 2 electrodos para tener los 2 cables con el conductor de cobre expuesto.

Ahora los conectaremos con nudo en cada resorte de bateria de cada lado en el brazo del servo motor.

Pulseras para las manos del jugador 1 y jugador 2

Fabricaremos ahora las pulseras el cual sera el enlaze para que el jugador 1 y jugador 2 recibiran los toques de su personaje con la caja de toques.

Empezaremos retirando el recubrimientro de un 1 metro de cable de bocina de bocina calibre 22 AWG.

Despues usando una liga de cabello fijaremos usando el alambre del cable de bocina que acabamos de quitarle el recubrimiento y lo enrollaremos para que quede justo como en al imagen.

Usaremos un metro de cable de bocina y haremos la conexión a la liga de cabello debe quedar como en la imagen.

Deberemos fabricar 4 pulseras para usar un par por cada jugador como muestra en la imagen con un metro de cable de bocina, puedes aplicar un poco de cinta de aislar para evitar que desarme.

Conectaremos las 4 pulseras que fabricamos en los 4 caimanes en el siguiente orden, despues los 2 cables de la caja de toques los fijaremos en cada resorte de bateria que tenemos en el brazo del servo motor, el objetivo es hacer la conexión con la pulsera que ira conectado al jugador 1 o jugador 2 cuando gire el servo motor.

Montaremos la placa arduino a la caja de plastico

Fijaremos la placa arduino a nuestra Caja De Plástico Proyectos Electrónicos si esta diseñada para placas arduino estas ya incluyen tornillos y orificios para fijarla, pero en mi caso use una caja plastica que no es para arduinos, asi es que tuve que hacerle unos agujeros y luego la fije con cinchos de plastico.

Conectando el servo motor a la placa arduino

Nuestro servo motor tiene un conector con 3 cables (Negro, naranja y rojo) este deberemos conectarlo como indica el siguiente diagrama en el pin 9 debe ser cable amarillo y el rojo y negro en donde nuestra placa dice 5V y GND.

Normalmente el cable termina en un conector hembra de 3 pines, por lo que para conectarlo al Arduino Uno R3 necesitas pines macho que entren en ese conector. Yo utilice unos cables Cables Dupont o Jumpers de macho a macho.

Asi es como quedo la conexión con los cables dupont o jumpers:

Aplicando silicon en todo el cableado

Para fijar los cables dupont o jumpers y asi evitar que se desconecten aplicar silicon en todas las conexiones con los cables tambien hacer lo mismo en los caimanes, el servo motor, en todo donde creas que podria moverse algun cable o alguna pieza.

Conectar el dispositivo haptico al PC o Arcade

Con esto hemos logrado crear nuestro hardware haptico y ahora solo vamos a conectar nuestro USB del cable arduino directamente a el PC o ARCADE, en el puerto USB 3.0 y continuaremos en el siguiente paso que es el software el cual se va a encargar de mover el servo motor y direccionar los toques al jugador 1 o jugador 2.

Instalar y configurar el Software

Ahora deberemos instalar el software y darle vida a nuestro hardware haptico que hemos creado.

⏭️Siguiente paso: Instalar y configurar el Software