R.O.B. por LPT1

De WikiNES-77
Saltar a navegación, buscar

Este el R.O.B. (Robotic Operating Buddy) para la NES. Se empezó a vender en 1985 y se dijo que sería un buen compañero de juego.

Todo empezó una noche oscura a media noche, estaba con mis amigos en mi casa y vi una caja de un Deluxe Set. Tenía todo lo que quería y eso fue un R.O.B. Así que lo abrí y vi esto:

Roblinuxpcb.jpg
(Nota: El RFC-CPUIO se ha quitado para la foto)


La razón era que la CPU de Nintendo siempre debería de permitir un POST y entonces la posición de sí mismo va hacia arriba y hacia la izquierda tanto como sea posible con los interruptores de colocación parados unos segundos para enviar la señal, esto funciona gracias a los deslizadores de los motores que hacen que no se dañe el R.O.B. Esto al principio creía que era una buena idea pero los problemas empezaron por los ojos del ROB. Por esto decidí desconectar los sensores ópticos... al chip de Nintendo no le gusta esto y en ninguna parte recolocaría el robot de nuevo haciéndolo literalmente un nervio. Por lo tanto decidí quitar el chip para no complicar las cosas.

Empecé buscando en la placa los IC que verás como IR2C25 Servo Motor controladores (conductores H-Brigde) que parecen ser, no he podido encontrar información sobre estos chips. El siguiente paso es hacer un diagrama para conseguir que los controladores IR2C25 funcionen. Una vez que eso esta terminado con un mapa completo de los IC nos podemos poner a escribí algo de código... al no ser programador el código ha quedado bastante feo. La siguiente información se usa para comunicar mi placa y con mi cable LPT1.

Roblinuxstepper.PNG


El siguiente paso es quitar el plomo soldado y el pack resultante. Ahora toca explicar los pinouts del LPT1:

Roblinuxdsub25m.JPG


Si te estás preguntando porque los pins de datos y de operaciones no están seguidos en la foto yo te lo diré, básicamente hice un test de conductividad en todos los pines de datos necesarios y de todos los cables que estaban en un extremo. Corte todos los cables que no eran necesarios y luego soldé los pines uno a uno dandole una función para luego ver que pin hacia cada cosa que estaba escrita. Eso fue de vagos pero esto es sólo un pequeño proyecto, también necesitaba que los pines del LPT1 del 18 al 25 para hacer conexiones a tierra. También recomiendo usar unos diodos de 5.1v zener en cada pin para prevenir daños al puerto LPT1.

Ahora para el código hay un rob.c que ha sido escrito desde Scrath con algo de ayuda de Phaid y un curses.h modificado con algunos extras para el código dek R.O.B. Ahora puedes ver las fotos del R.O.B. con el cable LPT1.


FAQ

¿Es necesario soldar? - Sí, es necesario. Como se suele decir: "Sueldo cada pin de datos para tener una función".

¿Por qué no se hace USB? - No todos tienen a mano un microcontrolador, habilidades para programar o un programador que pueda hacerlo. Quisé hacer el MOD para que fuera accesible a todo el mundo. También requiere comprar un VendorID y un ProductID si quieres hacer seguro un R.O.B. no debería estar en conflicto con otros dispositivos USB que pudiera tener un sistema específico.

¿Por qué no hay una aplicación X? - La respuesta de esto es que un simple R.O.B. solo puede encenderse en algo que tenga linux. No lo necesitas para X por lo tanto puede ir en sistemas grandes o pequeños.

¿Por qué has quitado el microcontrolador del R.O.B.? Deberías de haberlo dejado. - Simplemente lee la web y si estás en desacuerdo haz tu propia modificación.

¿Por qué no usastes los sensores ópticos de sus ojos para enviar comandos? - ¿Por qué debería? Quise un método fiable para enviar comandos, no teniendo el R.O.B. delante de un CRT o de cualquier otro emisor infrarrojo que simule comandos. También tengo que decir que quise hacerlo accesible para todos.

¿Podría usar un convertidor LPT-USB? - No, si puedes encontrar algun convertidor así necesitarías que tubiera una implementación a bajo nivel y dudo que puedas encontrar esto.



Agradecimientos: Texto extraído de aquí (2007-03-13).
Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas