Zona Arcade. Construye, Restaura y Decora tu Máquina Arcade y Pinball.

Tutorial: Realización del “Hack de teclado” de ordenador como interface de controles de recreativa

« Older   Newer »
  Share  
view post Posted on 8/2/2011, 01:22     +1   -1
Avatar

Restless in Peace

Group:
Administrator
Posts:
42,878
Location:
Alcobendas (Madrid)

Status:


Tutorial: Realización del “Hack de teclado” de ordenador como interface de controles de la máquina recreativa arcade

- Introducción

Después de hacer un hack de joystick/gamepad y salir satisfecho, me he atrevido a hacerle uno a un teclado, todo ello pensando para en un futuro implementarlo en mi máquina recreativa.

He leído que para los controles se pueden hacer interfaces de puerto paralelo, teniendo éstos más fiabilidad y mejor respuesta para controlar los mandos de la máquina arcade, pero tengo algunas razones que me motivan a hacerlo:

- Tengo posibilidad de controlar y asignar "105" teclas en botones de control y a la vez combinarlo con un hack de pad para los controles.

- Tengo posibilidad de controlar mi máquina con cualquier sistema operativo.

- El PS2 es un conector que sólo se utiliza para el teclado y siempre puedo conectar otro teclado USB para administrar y mantener la máquina, ya que los dos teclados conectados a la vez funcionan.

Por todo ello y porque es barato, ya que incluso me han regalado el teclado a "sacrificar", creo que es interesante hacerlo.


- Realización del “Hack de teclado” de ordenador como interface de controles de la máquina recreativa arcade

Aquí tenemos un precioso teclado de Logitech, al cual le vamos a realizar un “hack”.

image

Comenzamos por desmontarle todos los accesorios, desde patas hasta reposa-muñecas, y desatornillar los tornillos de la parte trasera.

En este modelo me encontré con 2 tornillos "especiales" y ocultos bajo las patas de goma. Parecían estar fijados de manera permanente y no roscados. No hubo manera de desatornillarlos. La solución, aplicar broca fina e intentar comerme el vástago... Lo que pasó: Después de comerme la cruz, el tornillo se calentó por fricción de la broca derritiendo el plástico al que estaba cogido. ¡Problema solucionado!

image

Al abrir el teclado y sacar la parrilla de teclas, nos encontramos con esto: El dispositivo electrónico es realmente pequeño y lleva consigo los 3 leds típicos. Por la parte de abajo se extienden 27 contactos a modo de peine que conectan la electrónica de la placa con las pistas de las láminas transparentes.

image

El teclado se compone de un sándwich de tres láminas transparentes. Los contactos miran hacia dentro del sándwich en las láminas 1 y 3, y la lámina del centro sirve de separación y no tiene pistas ni contactos.
Nota: Pueden seguir este otro hilo relacionado con el asunto. Además de aconsejarnos y hacernos más fácil la configuración de nuestros controles.

Tutorial: Método fácil y rápido para evitar el “blocking” en un hack de teclado para los controles de la máquina recreativa

A cada tecla le corresponden 2 pistas, una de la lámina de arriba y otra de la lámina de abajo. Nuestra meta es saber cuáles son esas pistas, cuando sepamos este dato, tendremos el puzzle resuelto. En el enlace anterior he leído que todas las pistas de la lámina de arriba son la 'masa', luego, en teoría, valdría con una sola. Como no tengo manera de averiguarlo, y para curarme en salud tomaré cada pista como única e independiente.

Es importante sacar fotos de todo el proceso. Numeré los contactos; arbitrariamente elegí una numeración en la placa, distinguiendo los que pertenecen a cada lámina: del 3 al 10 lámina de arriba; 1, 2 y del 11 al 27 lámina de abajo.

image

Para ayudarme en la tarea de averiguar qué contactos corresponden a cada tecla y puesto que a simple vista me cuesta seguir las pistas en las láminas, procedo a escanear las 2 láminas y a procesarlas digitalmente. Esto me ahorrará tiempo, aparte de hacer el trabajo mucho más divertido.

Como no caben por completo en el escanner, lo hago en 2 partes y luego las uno en un programa de edición de imágenes, en mi caso: “Gimp”.

Escaneado a 300ppp y escala de grises. Reconozco que me he pasado, a 200ppp debería ir bien también. El dibujo con las 27 capas de circuitos + láminas, nombres de teclas y otros ocupan 400Mb de RAM cuando lo abro. =:-O

image

Esta es una de las láminas, escaneada en 2 partes, justo antes de unirlas. A la hora de escanear, y puesto que las láminas son transparentes y las pistas blancas, hay que añadir una cartulina negra o color gris, para que contraste. De ahí que se vea como si fuera un negativo.

Coloreo las pistas una a una identificando los contactos. La herramienta "varita mágica" viene de perlas, tiñendo en la selección la pista completa. Cada pista se mete en una capa distinta y completo el dibujo con el texto de las teclas. Aquí tenéis un pantallazo de la aplicación con las capas para que os hagáis una idea.

image

Este es un dibujo de todas las pistas coloreadas.

image

Después de identificar las teclas que corresponden a cada pista, se cruzan los datos y se hace un cuadrante. ¡Voilá!, tenemos la codificación de todas y cada una de las teclas. Un buen manejo de un programa de hoja de cálculo nos facilitará enormemente esta labor…

image

Y depurando la tabla, pues en el caso de este teclado las pistas 11 y 19 son las mismas (Lo sé porque veo que están unidas en el circuito). Además divido las filas y las columnas según corresponda a lámina de arriba o abajo (3-10 lámina de arriba, resto de pistas lámina de abajo).

image

Ahora vamos a proceder a rescatar los contactos en el circuito y a llevárnoslos a nuestras regletas.

Originalmente, el contacto entre placa y láminas es mediante presión. Las pistas en la placa en el punto de unión están cubiertas por una substancia negra (carbono???) , la cual deberemos retirar si pretendemos soldar nuestros cables.
En esta foto se ve el brillo del metal que hay bajo la capa negra que previamente hemos retirado.

image

Y ahí va la primera prueba. ¡¡¡Conseguido!!

Con un destornillador de precisión, rascamos la capa de carbono de todos los contactos, limpiamos con alcohol y procedemos a estañar una a una con cuidado.

image

Por otro lado, vamos preparando el bastidor que alojará todos los componentes del hack. En este caso he empleado panel contrachapado de 4 mm. He dispuesto dos filas de regletas del nº4 a distinta altura.

image

La de arriba descansa sobre una tira del mismo panel de madera. Al estar en el aire, le dará rigidez. La de abajo descansa sobre un panel de corcho que servirá para fijar los cables contra la madera. En las siguientes fotos se ve lo que expongo.

Colocamos la placa, los cables, y las regletas. Me ayudé de un peine para ordenar los cables y así prensarlos en orden con la regleta del corcho.

image

Para coger las regletas he usado varilla roscada D4 mm, con sus arandelas y tuercas correspondientes. La placa-circuito del teclado la cogí prensándola con la propia tira de silicona que traía, más una tira del panel. Así quedan los 27 contactos protegidos contra tirones de cables no deseados. Esta unión es la más frágil de todas y debe quedar fija y bien protegida.

image

Llevamos cada cable a su borne correspondiente y los ponemos lo más ordenado posible.
Dejé en la punta de cada cablecito una bolita de estaño antes de fijarla a la ficha de empalme, de este modo el tornillo sujetará bien el cable y no nos quedará "bailón".

image

No se han ocupado todas las fichas, quedando libres para ser utilizadas en el caso de colapsar de cables algún borne.


- Finalizando el hack de teclado

Solo nos falta coger el cable PS2 a nuestro bastidor y hacer una leyenda con las pistas y las conexiones o bien marcarlas en la propias regletas. Opté por hacer sendas leyendas impresas en cartulina blanca plastificada con plástico adhesivo "forra-libros" y pegadas con cola sobre el panel. ¡Trabajo finalizado!

image


- Por pablo33 -
 
Web  Top
view post Posted on 8/2/2011, 01:38     +1   -1


Group:
Member
Posts:
1,517
Location:
Valencia

Status:


Vaya currada macho.

Muy buen tuto ;)
 
Top
jivar
view post Posted on 8/2/2011, 01:58     +1   -1




me gusto la idea!, pregunto: solo queda soldar a la palanca y los botones arcade y listo?
 
Top
slip666knot
view post Posted on 8/2/2011, 02:10     +1   -1




Excelente trabajo amigo, yo estoy probando por lpt, pero tengo un teclado ibm debe ser del 90' y ese lo voy a sacrificar haber que tal.
 
Top
vivotodavia
view post Posted on 8/2/2011, 04:00     +1   -1




Un gran trabajo realizado y muy bien detallado; pero por mi parte te
recomiendo la inteface de puerto paralelo es mas economica (un cable de puerto paralelo te rinde para 2 interfaces pues la cortas por la mitad, mas unos cuantos diodos, cabe mencionar que lo colores de los cables son estandares siempre son los mismos para cada contacto) y no tiene problemas con el bloqueo de botones.
He realizado el hackeo de varias marcas de teclado pero es bastante trabajo el estar siguiendo las masas y los contactos y hay que considerar que luego de un tiempo no encontraras el mismo modelo de teclado en en mercado y tendras que realizar todo de nuevo y podras encontrarte con el bloqueo de botones pues algunos modelos de teclados no permiten que presiones 4 o 5 botones a la vez (dos jugadores a la vez de KOF no podrian hacer las conbinaciones uno de ellos no podria moverse o dejaria de funcionar algun boton.
En el caso de animarse hacer una interface de puerto paralelo recomiendo soldar los cables directo a cada contacto con su respectivo diodo zener de este modo se evitan el tremendo trabajo de las regletas.
Suerte a todos.
 
Top
dangiel25
view post Posted on 8/2/2011, 05:41     +1   -1




:o: buenisimo ni idea de como se hacia eso aqui puro aprender de los mejores
 
Top
tapule
view post Posted on 8/2/2011, 08:12     +1   -1




Gran trabajo Pablo33, un hackeo muy bien explicado, muy limpio y con una terminación excelente (y encima usas software libre :P).

Saludos
 
Top
Gilthanas
view post Posted on 8/2/2011, 08:35     +1   -1




Impresionante trabajo Pablo 33 sigue asi, lo digitalizar la placa alucinante jejeje
un saludo :conseguido:
 
Top
kawaniito
view post Posted on 8/2/2011, 09:22     +1   -1




Im-Pre-Sionante... Menudo currazo, men, muchas gracias por el tuto. Me apunto la idea de escanear la placa para "resolver el puzzle", a ver si así consigo arreglar mi pcb del tumblepop.
 
Top
Igorallen
view post Posted on 8/2/2011, 11:08     +1   -1




Pedazo de currelo macho, se ve que le has metido horitas de verdad...
A mí también me queda la duda del bloqueo de botones, si nos lo puedes aclarar dormiría un poco mejor... :unsure:
Gracias por el tuto, tienes mucho mérito!

Saludos!!!
 
Top
dani k
view post Posted on 8/2/2011, 11:35     +1   -1




Que Crack!!! vaya curro y el resultado final increible!!!
 
Top
trules73
view post Posted on 8/2/2011, 12:16     +1   -1




:blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink: :blink:

Que nivel....
 
Top
view post Posted on 8/2/2011, 13:09     +1   -1
Avatar


Group:
Member
Posts:
3,171
Location:
Usa

Status:


Me quedo con el detalle del peine y la nota impresa con los números de las bornas.

En dos palabras im-presionante!!!

Un brazo!!!
 
Web Contacts  Top
view post Posted on 8/2/2011, 16:58     +1   -1


Group:
Member
Posts:
398

Status:


Yo con tanto cable me pierdo, vaya curro. Im-presionante.
 
Top
view post Posted on 8/2/2011, 23:42     +1   -1
Avatar


Group:
Member
Posts:
2,025
Location:
Sevilla

Status:


Gracias a todos por los comentarios.

QUOTE (jivar @ 8/2/2011, 01:58)
me gusto la idea!, pregunto: solo queda soldar a la palanca y los botones arcade y listo?

Mas o menos, es como disponer en el mecanismo pulsador que tú elijas, cualquier tecla de tu teclado. Cada par de pistas concreto (ahora en nuestras bornas) corresponde a una tecla, ese par de pistas los sacas con sendos cables desde las bornas que hemos dejado previstas para posteriormente contactarlos (unirlos) en un botón-pulsador, en los microrruptores de tu mando arcade, o en el mecanismo que se te antoje. Digamos que "emulamos" la función de pulsación que hace un teclado. Este método tiene sus ventajas y sus inconvenientes como expongo al principio del tutorial y como expresa también vivotodavia.

QUOTE (vivotodavia @ 8/2/2011, 04:00)
Un gran trabajo realizado y muy bien detallado; pero por mi parte te recomiendo la inteface de puerto paralelo es mas economica ...... y no tiene problemas con el bloqueo de botones......

Estoy de acuerdo, gracias por la recomendación. Este es solamente es un método más para usar como interface, total o parcial en nuestros controles arcade. Una de las ventajas que más me gusta es que no dependo de ningún driver o programa y por lo tanto de ningún sistema operativo específico para PCs. Por otro lado lo del bloqueo es también una realidad.

QUOTE (Igorallen @ 8/2/2011, 11:08)
....A mí también me queda la duda del bloqueo de botones, si nos lo puedes aclarar dormiría un poco mejor...

Aunque he comprobado todas las conexiones y bornas, y el hack funciona a la perfección, lo del bloqueo lo tengo que ver porque aún no lo tengo conectado a ningún mando :D . De veras, tengo que probarlo y espero conseguir algún patrón sencillo para poder configurarlo con facilidad. Siento no poder ayudarte en este respecto. De todas formas, si estás pensando en controlar 2 joysticks + 8 botones cada uno y meterle juegos complejos, seguramente te convenga un IPP.

QUOTE (tapule @ 8/2/2011, 08:12)
Gran trabajo ..... (y encima usas software libre :P).

Este fué uno de los motivos por lo que lo hice, me parece que de momento el IPP no corre con Linux. ¿hay alguien que me pueda desmentir esto?

Un saludo.
 
Top
35 replies since 8/2/2011, 01:22   23953 views
  Share