[Modificación] Hacer algo con la PS2 vieja. Instalación LCD visualización de disco insertado

Hola:

Imagen

Tengo una PS2 FAT y quiero hacerle un poco de experimento con ella aunque sea inútil. Mi idea principal es usar un LCD 16x2 HD44780 de Hitachi que al introducir el juego sea capaz de detectar que juego he instertado. El DVD del juego tiene un ID que la PS2 sabe el título introducido, solo que no se como obtenerlo. En la EEPROM externa 24LC256 de un PIC16F88 por poner un ejemplo, tiene los ID obtenidos por cada juego que tengo original y sus títulos, es decir, que en la EEPROM están guardados los datos, el PIC16F88 o otro está conectado entre el lector y la placa de la PS2 de una manera que detecte los id del juego al introducir un DVD.

También detecta cuando le falta un juego, cuando has introducido un juego, cuando expulsa un juego, cuando enciende o reinicia la consola, etc.

Si pueden o los que sepan, pueden ponerme cualquier información sobre las PS2 y sus placas bases más lectores. Mi modelo de PS2 es el SCPH-39004. Pueden poner el que quieran. Sólo encuentro poner chip pero eso no me interesa.

Para que se hagan una idea, la 360 se puede extraer datos del lector como la Key, pero no he probado si con ella se puede leer los id de los discos para hacer esta funcióny obtener los títulos del juego.

Un cordial saludo.
Muy interesante tu proyecto, ayudaré en lo que pueda.

Koolk escribió:el PIC16F88 o otro está conectado entre el lector y la placa de la PS2 de una manera que detecte los id del juego al introducir un DVD.

Esto último no sé hasta que punto es buena idea, si aceptas sugerencias, no sería mejor hacer un programita para ps2 y que saque los datos por el puerto usb por ejemplo..? Me explico, se podria configurar esa máquina para que antes de lanzar un juego, salte ese programa y lea la linea BOOT2 = cdrom0:/xxxxxx;1 del SYSTEM.CNF y tenga la ID de juego ( el sces, sles, slus etc) y entonces mande la información por usb, el pic la recoge y la ps2 lanza el ejectutable.

Koolk escribió:También detecta cuando le falta un juego, cuando has introducido un juego, cuando expulsa un juego, cuando enciende o reinicia la consola, etc.

Eso es tan sencillo como llevar cables a los pulsadores y finales de carrera de la bandeja, que usan una lógica ttl. Tambien podría llevarte un cable a la patilla 18 del BA6664FM (el que controla el giro motor) y hacer que el lcd muestre tambien cuando se lee y cuando no. En esta pata nivel alto = disco parado y nivel bajo = disco girando.

Koolk escribió:Si pueden o los que sepan, pueden ponerme cualquier información sobre las PS2 y sus placas bases más lectores. Mi modelo de PS2 es el SCPH-39004. Pueden poner el que quieran. Sólo encuentro poner chip pero eso no me interesa.


Lectores, estos son los tipos de lectores que encontrarás en ps2 fat: KHS400A, B y C. Las 400a no se ven porque son las que se montaban en modelo japoneses. Las 400b se montaban en placas v3 y v4, y las 400c se montan desde la v5 hasta la v10, donde en modelos v9 y superiores aparece una 400c pero modelo nuevo, con un arito amarillo rodeando la lente externa pero su fucnionamiento es igual.

A partir de las v5 tambien estan las lentes hd7 de sanyo, se ven sobre todo en v9 y superiores. Todos los modelos funcionan igual, ya que son intercambiables fisicamente. La única lente diferente es la que monta el modelo v11 ( http://download.elotrolado.net/imagenes/ps2v11a.jpg ), que no es intercambiable con ninguna y es más parecida a lentes de pstwo slim que no a las tochas.

Es muy interesante esto, estaré aquí para lo que pudiera hacer falta. Saludos
airam1809 escribió:Muy interesante tu proyecto, ayudaré en lo que pueda.

Koolk escribió:el PIC16F88 o otro está conectado entre el lector y la placa de la PS2 de una manera que detecte los id del juego al introducir un DVD.

Esto último no sé hasta que punto es buena idea, si aceptas sugerencias, no sería mejor hacer un programita para ps2 y que saque los datos por el puerto usb por ejemplo..? Me explico, se podria configurar esa máquina para que antes de lanzar un juego, salte ese programa y lea la linea BOOT2 = cdrom0:/xxxxxx;1 del SYSTEM.CNF y tenga la ID de juego ( el sces, sles, slus etc) y entonces mande la información por usb, el pic la recoge y la ps2 lanza el ejectutable.

Esa parte que dices está mejor, debo informarme como hacerlo. He abierto de un jueg original el Mortal Kombat:SM y el archivo SYSTEM.CNF pone:

BOOT2 = cdrom0:\SLES_535.24;1
VER = 1.02
VMODE = PAL

Nunca el nombre del juego por lo que parece, excepto que esté en otro archivo por ahí. Espero que no haya que descodificarlo. Debo encontrar más información sobre este tema por todo internet. Más información aquí.



Koolk escribió:También detecta cuando le falta un juego, cuando has introducido un juego, cuando expulsa un juego, cuando enciende o reinicia la consola, etc.

Eso es tan sencillo como llevar cables a los pulsadores y finales de carrera de la bandeja, que usan una lógica ttl. Tambien podría llevarte un cable a la patilla 18 del BA6664FM (el que controla el giro motor) y hacer que el lcd muestre tambien cuando se lee y cuando no. En esta pata nivel alto = disco parado y nivel bajo = disco girando.

Lo último del sisco parado y girando no se me había ocurrido, eso que siempre sentía curiosiadad hace años desde PS1 para saber cuando gira y cuando no. Lo haré. Todo lo demás es más fácil y se puede hacer hasta con PS3.

Imagen
hilo_sobre-30001r-ntsc-el-ba6664fm-comprobacion_474352

Ver hoja de datos del BA6664FM.


Koolk escribió:Si pueden o los que sepan, pueden ponerme cualquier información sobre las PS2 y sus placas bases más lectores. Mi modelo de PS2 es el SCPH-39004. Pueden poner el que quieran. Sólo encuentro poner chip pero eso no me interesa.


Lectores, estos son los tipos de lectores que encontrarás en ps2 fat: KHS400A, B y C. Las 400a no se ven porque son las que se montaban en modelo japoneses. Las 400b se montaban en placas v3 y v4, y las 400c se montan desde la v5 hasta la v10, donde en modelos v9 y superiores aparece una 400c pero modelo nuevo, con un arito amarillo rodeando la lente externa pero su fucnionamiento es igual.

A partir de las v5 tambien estan las lentes hd7 de sanyo, se ven sobre todo en v9 y superiores. Todos los modelos funcionan igual, ya que son intercambiables fisicamente. La única lente diferente es la que monta el modelo v11 ( http://download.elotrolado.net/imagenes/ps2v11a.jpg ), que no es intercambiable con ninguna y es más parecida a lentes de pstwo slim que no a las tochas.

Muchísimas gracias por la información sobre este tema de los lectores. Aquí parece que hay algo de info.

Es muy interesante esto, estaré aquí para lo que pudiera hacer falta. Saludos


Pueden si lo desean soltar cualquier información sobre el tema de PS2. Por otro lado que ya sabrán, tengo medio hecho algo del LCD para PS3 que sólo muestra mensajes de insertar disco, expulsando disco, etc, pero no detectar los nombres de los juegos, algo es algo.

Voy a informarme de extraer los datos de los DVD de PS2 para sacar su ID y títulos del juego.

Muchas gracias por las sugerencias, se aceptan todas, buenas y no tan buenas.
muy interesante esto, lo voy a seguir de cerca.

una preguntota sin desvirtuar el tema:

podria alguien explicarme lo del SYSTEM.CFN.

para que sirve cada comando?

BOOT2 = cdrom0:\SCES_523.89;1
VER = 2.00
VMODE = PAL

quiero mencionar que este comando lo cambie a un juego, en VER, puse 1.00 y en VMODE puse NTSC, pero no cambia nada la imagen en la pantalla, sigue en pal.
si alguen puede poner algunos ejemplos de comandos que se pueden poner, antes de que lea el disco.

alguien que me ilustre y despeje mis dudas por favor.

Ruddi.

salu...
Hola:

El LCD no me cabe donde quiero, tendré que ponerlo en algún lado donde no moleste a la PS2 FAT.

Imagen

Imagen

Ahora estoy inventigando un poco lo de los sensores interrutores del lector de PS2 cuando entra y expulsa el DVD, el motor de giro, el botón de EJECT, etc.

Saludo.
Koolk no encontrarás el nombre del juego en los archivos, y en caso de encontrarlo en alguno (casos excepcionales donde hay txts con créditos o similares) en cada juego seria diferente por lo que es mucho lio. Tienes que hacer eso, leer la línea del system, ya que cada combinación de letras y números corresponde a un titulo diferente.

Quedo a la espera de información sobre tus avances, seguiré este hilo de cerca. A ver si te animas a colgar unas fotos, esquemas o algo. Saludos

vita1911 te explico un poco por encima eso del system. Estructura de un system normal:


BOOT2 = cdrom0:\SCES_523.89;1
VER = 2.00
VMODE = PAL

Primera línea. Te puedes encontrar con BOOT o BOOT2, que pone la consola en modo de playstation (BOOT) o modo de playstation 2 (BOOT2). Sigue un signo "=" y luego la ruta del ejecutable a cargar "cdrom0:\SCES_523.89". En este caso se cargaría el archivo "SCES_523.89" de la raiz del cd o dvd. La comilla y el uno ";1" significa que se ha terminado la ruta del archivo

VER, seguido de un igual y un número tipo X.XX es el modo a cargar el ejecutable. No todos los archivos se cargan igual, por funciones o compatibilidad (sería igual que comandos /a -s etc en windows). Lo normal es 1.00

VMODE = PAL ó NTSC, es el modo de vídeo en que entra la consola, pero hay que tener en cuenta que no siempre la consola está preparada para sacar vídeo de otra frecuencia aunque se lo indiquemos, y también que el vídeo normalmente lo define el ejecutable.

Aparte hay otros comandos como desactivar hdd, dev9, posición del ejecutable en modo 1, etc

las combinaciones obviamente son infinitas. Te puedes encontrar cosas como esta:

BOOT = cdrom:\PLAY.PSX;1 <-- no lleva cero
TCB = 4
EVENT = 16
STACK = 801FFFF0

Que son raras de cojones xD Las cosas raras no las domino del todo, por eso eso explico solo lo más común


EDITO: No había visto el ultimo mensaje, Koolk sobre los sensores, en la plaquita donde esta el motor que saca la bandeja hay también un swich de 3 posiciones, mira ahí con el polímetro. El funcionamiento es que el punto de enmedio es gnd y lo comuta a un punto o a otro, y eso es abierto y cerrado. Todos los puntos de esa plaquita los tienes tambien en el conector del flex que va a la placa base

Saludos
Buenas:

Lo del LCD no cabe en la PS2 como quiero, arrrrrrggggggg, que me cabreo. Ya encontraré un lugar donde quepa. La circuitería con PIC lo meto dentro del hueco donde va el disco duro.

Imagen

Imagen

Me imagino que te refieres a este lado.

Imagen

El lector es HSK-400C.

Lo que hay que hacer si tratamos de visualizar mensajes (o funciones) en el LCD en controlar todos los sensores posibles. Giro del motor, entrada del DVD, expulsar DVD con EJECT, etc. Si se les ocurre más cosas lo dicen, primero paso por paso, poco a poco se incluirán cosas. Programaré por ahora con el PIC16F88.

Si les pica la curiosidad a algun@s sobre como grabar PIC, hecha un vistazo a estos manuales WinPic800 y Ic-Prog. Ver también Inicio rápido MPLAB.

Estoy buscando la placa base del mi modelo SCPH-39004 en fotos para guiarme mejor, más bien todos los sensores interruptores o TTL (5V) para controlar las cosas báscias por el momento. (Más adelante me centraré en el famoso SYSTEM.CFN).

Si puedes o pueden, cuanto metas imágenes, fotos o esquemas que ayuden muy rápido las palabras, mejor que mejor.

Saludo y gracias por la inforamción.

Edito:

Buscando sensores por sensores continuidad para ponerlo al PIC16F88. Lo puedo hacer directamente el Power pero prefiero buscarlo en la PCB (circuito impreso o placa base) de la PS2.

Imagen
Sé donde están todos esos puntos en la pcb, voy a buscar imágenes de la placa gh19 que tienes y a identificarlos

EDITO:

Circuteria de placa eject reset
Imagen

Puntos en la placa
Imagen

Ese es el reset (equivalente power_sw en el esquema de arriba) y el punto que esta justo a la izquierda es el eject (op/cl sw arriba)

Los de los finales de carrera desmonto la ps2 mañana y lo miro

Estoy bastante perdido sobre microcontroladores. Ese pic tendrá un numero máximo de entradas ttl y según estado de estas entradas ya manda unos datos u otros al lcd.. ¿el funcionamiento es así verdad?


Saludos
Gracias por la información.

Dice en el esquema de arriba que son 12V que pasa por ahí. Si se me queda corto el PIC16F88 de 18 pines, escogo el 16F886 de 28 pines.

PlayStation 2 --------------------------> Lector PS2
PlayStation 2 ---------PIC16F88--------> Lector PS2 + mensajes al LCD.

Vamos a dejar las cosas claras poco a poco. El PIC16F88 controlará:

1) El botón Eject o la bandeja del disco. LCD: Abriendo bandeja... LCD 2: Bandeja abierta.
2) La bandeja del disco al entrar. LCD: Cerrando bandeja... LCD 2: Bandeja cerrada.
3) Motor principal. LCD: Motor: ON/OFF
4) Reset. LCD: Reseteando.
5) Encendido/Apagado. LCD: Iniciando sistema. LCD: Sistema apagado.
x) Etc, los que se nos ocurra con el tiempo. Habrá más. Recuerda que ahora estamos solo con sensores y mensajes que lo detecte el PIC16F88. Los mensajes se pueden mejorar por supuesto, estos son de prueba.

Imagen

Tabla de la verdad que tengo por ahora. Con el tiempo ya que tendremos más información, haremos la tabla de la verdad de las funciones para el LCD. Tiene 4 salidas para acciones de algo, por ahora nos centramos en los mensajes del LCD.
Imagen

Saludo.
Una pena que no llegue a entender el funcionamiento del pic tanto como me gustaría. Si me dan programación y esquema sabría montarlo y hacerlo funcionar, pero no su funcionamiento o hacerlo yo desde cero... :(

Tampoco entiendo que quieres decir con "Dice en el esquema de arriba que son 12V que pasa por ahí". Si te refieres al esquemita de la botonera, fíjate que esos 12v son para alimentar a los leds. Los pulsadores hacen simples pulsos de masa, por lo que sólo tendrías que reconocer un cero lógico en esa entrada del pic

Me temo que a parte del hardware de ps2, no podré ayudarte mucho más. Por cierto si el pic que usas ahora tiene solo 3 entradas tendras que cambiar a uno mayor casi seguro, pues por ahora tienes todas estas entradas: reset, eject, open, close, brake.

Mañana te paso los puntos de apertura y cierre de la bandeja, se ve cada vez mejor tu idea, espero que en brebe podamos ver algún video/foto de su funcionamiento

Saludos
airam1809 escribió:Una pena que no llegue a entender el funcionamiento del pic tanto como me gustaría. Si me dan programación y esquema sabría montarlo y hacerlo funcionar, pero no su funcionamiento o hacerlo yo desde cero... :(

Tampoco entiendo que quieres decir con "Dice en el esquema de arriba que son 12V que pasa por ahí". Si te refieres al esquemita de la botonera, fíjate que esos 12v son para alimentar a los leds. Los pulsadores hacen simples pulsos de masa, por lo que sólo tendrías que reconocer un cero lógico en esa entrada del pic.

Eso es lo que quiero saber, gracias. El PIC debe detectar un pulso bajo si has pulsado Reset. ¿Cierto?

Me temo que a parte del hardware de ps2, no podré ayudarte mucho más.

Me estás ayudando más de lo que imaginas.

Por cierto si el pic que usas ahora tiene solo 3 entradas tendras que cambiar a uno mayor casi seguro, pues por ahora tienes todas estas entradas: reset, eject, open, close, brake.

Usaré uno mayor de pines, la arquitectura interna del PIC es la misma pero con más pines y funciones, más memoria, etc. Sólo cuesta un €uro más. Usaré el 16F886. ¿Qué eso del brake? ¿Detectar el giro del motor del DVD?

Haz escrito "reset, eject, open, close, brake." por mi me puedes dar más ideas. (Sigue dando ideas). Lo del open y close deja ver si se puede hacerlo con un solo pin, si te refieres abrir y cerrar la bandeja del DVD. ¿Y el eject? Si funciona con pin de entrada.

En cuanto lo del PIC, no te preocupes que me encargo de él. Que sepas, tiene 4 entradas por suerte. Si lo hago funcionar como decoder, tiene 16 mensajes diferentes. Ya con la tabla de la verdad bien explicado se consigue todo. Aunque me da que estás pensando en cada pin del PIC un sensor independiente. Si es con el PIC16F886 ya que sobra pines lo haré así.

Olvidé decir que el PIC16F88 puedo meterle dos entradas más ya que uso el oscilador interno para aprovechar no usar más componente. Por ahora lo estamos estudiando. Tengo programado lo básico para el PIC16F88 (18 pines), pero puedo adaptarlo al PIC16F886 (28 pines).


Mañana te paso los puntos de apertura y cierre de la bandeja, se ve cada vez mejor tu idea, espero que en brebe podamos ver algún video/foto de su funcionamiento.

Las ideas las tenemos poco a poco según vayan surgiendo. Hace un tiempo estaba mucho con los LCD y grabé este vídeo. Lo acabaré físicamente, lo grabaré en vídeo con honor y lo presentaré como proyecto al igual que hice con este.

Recuerda. Ya que han nombrado reset, eject, open, close, brake, ¿se te ocurre alguna idea más?

Otros visitantes si nos están leyendo, pueden participar.


Saludos


Imagen

El funcionamiento del PIC16F88 controla lo que hay entre la placa base de la PS2 y los sensores.
Imagen

El LCD sólo suelta información en cada momento cuando actúe los sensores.
Imagen

Sólo estamos haciendo esto por el momento pero...

...está preparado con 3 salidas digitales para hacer alguna acción que se te ocurra. La acción que he hecho es que se encienda Led. Otra acción puede ser, tener otro ventilador opcional que has puesto dentro de la PS2 y activarlo cuando lo desees manualmente o en un determinado tiempo o cuando un sensor de temperatura llegue a dicho calor. (Lo del sensor de temperatura ya es más complicado, ejejjeje). Sólo doy ideas.

Imagen


Espero hacer este proyecto bien explicado para los que quieran hacerlo. También valdrá para cualquier consola e incluso PC.
Pos que no decaiga!! Más info:

Imagen

Esos son los puntos de apertura y cierre de la bandeja. Cuando la bandeja esté cerrada, en el punto verde tendremos un cero lógico, y cuando esté abierta lo tendremos en el rosa. Lo mismo con el reset y el eject

Koolk escribió:Haz escrito "reset, eject, open, close, brake." por mi me puedes dar más ideas. (Sigue dando ideas).


Ahora mismo solo se me ocurre hacer que algun "pixel" del lcd parpadee cuando se acceda a las memory cards. Tengo una memory con un led que se enciende cuando se lee/escribe en ella. La desmontaré y miraré como funciona que ya ni me acuerdo...

PD: brake=freno, es el punto que te comentaba que está en 1 cuando es disco está parado, y a 0 cuando está girando (patilla 18 del BA6664FM)

Solo he mirado por encima esos videos, mñn los veré con detenimiento que pintan muy interesantes..

Ahora que lo pienso.. aunque lo de la mc no sea ttl, el led tiene el catodo soldado a gnd, así que se podría conectar la base de un transistor al anodo para crear una señal que la entienda el pic...

Koolk escribió:Aunque me da que estás pensando en cada pin del PIC un sensor independiente. Si es con el PIC16F886 ya que sobra pines lo haré así.

No sé de que otra manera se podría hacer. Desconozco métodos que no sean 1 entrada -> 1 pin

--
Dios como me gustan estas cosas!!! Yo esque no sé tener una consola sin destriparla y cambiarle cosas xD

Me voy a dormir que ya es hora (he tardado más de lo que me creía), Saludos
Otra vez con las ideas del reset, eject, open, close, brake.

Reset = 1 entrada.
Eject = 1 entrada.
Open y close = 1 entrada.
brake (si es el motor del giro del DVD) = 1 entrada.
-------------------------------------------------
TOTAL = 4 entradas

LCD usa 6 pines entradas/salidas
PIC le sobra 4 entrada/salidas. Puedes escoger. Si lo usamos como 4 entradas más, ya tenemos 8 entradas en total para el PIC16F88. Recuerda que si usamos estos 4 pines, no tendremos salidas para nada más, sólo para el LCD nos muestre información. Si coges 3 entradas con un total de 7. 1 la usa de salida para una acción de algo. Esta acción puede ser por poner un ejemplo, que al apagar la PS2 con el botón delantero, el ventilador se quede activado 1 minuto para que se enfríe lo antes posible. Ideas puedes tener las que desees.

Edito:

Tienes razón, el open y close en este caso son independiente. Entonces se usa 5 entradas por ahora que has dicho.

Edito 2:

Ya que hablas del Led de la "Memory Card", no tiene que ser oficial.
Reset = 1 entrada.
Eject = 1 entrada.
Open = 1 entrada.
Close = 1 entrada.
Brake = 1 entrada.
Led MC = 1 entrada.
-------------------------------------------------
TOTAL = 6 entradas

Faltan 2 entradas o 2 salidas para hacer algo.

Edito 3:
Imagen

RA0 = Reset
RA1 = Eject
RA2 = Open
RA3 = LCD RS (Ocupado)
RA4 = LCD E (Ocupado)
RA5 = Close
RA6 = Libre (Este pin sólo acepta salida. ¿Lo quieres para algo en concreto?).
RA7 = Brake

RB0 = Libre
RB1 = Libre
RB2 = Libre
RB3 = Libre
RB4 = LCD D4 (Ocupado)
RB5 = LCD D5 (Ocupado)
RB6 = LCD D6 (Ocupado)
RB7 = LCD D7 (Ocupado)

Ejemplos que has puesto de esa menera me ayuda muchísimo.
Imagen

Edito 4:

Antes de continuar, me he dado cuenta de cosas que es preferible usar el PIC16F886 de 28 pines. ¿Cuántos sensores de entradas y salidas vas a usar realmente?


Imagen

Imagen

Ya estoy preparando el PIC16F886 de 28 pines. Tienes 8 sensores como mínimo del puerto C. Si quieres más entradas y salidas también más pines por ahí.

RC0 = Reset
RC1 = Eject
RC2 = Open
RC3 = Close
RC4 = Brake
RC5 = Libre
RC6 = Libre
RC7 = Libre
---------------------------------
TOTAL = 5 de 8 entradas.
(Recuerda que con este PIC16F886 tienes más entradas o salidas).

¿Deseas algún sensor más?

De la imagen que pusiste arriba para conectar el Resent, etc. ¿Sabes la tensión o voltios que tiene?

Saludo.
Koolk escribió:Ya que hablas del Led de la "Memory Card", no tiene que ser oficial.


El led es añadido, mira: http://www.youtube.com/watch?v=eJVF7BQAe_U

Parece que son 3v, no se si son sufiecientes para que el pic detecte que es un pulso alto, se podría utilizar un transistor..

Koolk escribió:Imagen

Imagen

Ya estoy preparando el PIC16F886 de 28 pines. Tienes 8 sensores como mínimo del puerto C. Si quieres más entradas y salidas también más pines por ahí.

RC0 = Reset
RC1 = Eject
RC2 = Open
RC3 = Close
RC4 = Brake
RC5 = Libre
RC6 = Libre
RC7 = Libre
---------------------------------
TOTAL = 5 de 8 entradas.
(Recuerda que con este PIC16F886 tienes más entradas o salidas).

¿Deseas algún sensor más?

De la imagen que pusiste arriba para conectar el Resent, etc. ¿Sabes la tensión o voltios que tiene?

Saludo.

Ahora que lo pienso, para detectar modo stamby ó encendido, sería mejor conectar entradas a "green on" y "red on" que no solo a reset. Esas entradas funcionarían igual que todas, pulso bajo en red significaria consola en stamby, y pulso bajo en green estaría encendida.

Imagen

Podría ser algo así.

RC0 = Reset : Si está red a 0, al detectar reset = 0, mostría mensaje "encendiendo", si está green a 0 y detecta reset = 0 --> mensaje reiniciando
RC1 = Eject : Si está close a =, y detecta pulso bajo en eject -> mensaje "abriendo bandeja", hasta que open = 0 --> "bandeja abierta". Después sería "cerrando", "cerrada" siguiendo el procedimiento al revés
RC2 = Open
RC3 = Close
RC4 = Brake Si = 1, "disco parado", sí = 0 "Disco girando"
RC5 = green : Si green = 0 -> "consola encendida"
RC6 = red : Si red = 0 -> "consola apagada"
RC7 = mc : Sí mc=1, pixeles del lcd que encienden al leer/ecribir mc, si = 0 pixeles apagados

De la imagen que pusiste arriba para conectar el Resent, etc. ¿Sabes la tensión o voltios que tiene?


tanto para reset como eject, mientras se acciona el pulsador hay un pulso bajo, si está en reposo no habría nada

Saludos
airam1809 escribió:
Koolk escribió:Ya que hablas del Led de la "Memory Card", no tiene que ser oficial.


El led es añadido, mira: http://www.youtube.com/watch?v=eJVF7BQAe_U

Muy bueno el vídeo, pero las Memory Card que tengo son de 8 MB, quizás sea diferente.

Parece que son 3v, no se si son sufiecientes para que el pic detecte que es un pulso alto, se podría utilizar un transistor.

No lo detecta. Hay PIC que si son de 3v. Si es para este PIC que funcionan a 5V como el 16F886, se mete la salida de 3V a la base de un transistor, de ahí al PIC con sus 5V.

En la imagen de abajo cuya entrada muestra 5V, vamos a suponer que son 3V, así conseguiremos que detecte el PIC los estados 1 y 0. Ya que dices que son 3V, fíajte bien. ¿Son 3V o 3.3V realmente?


Imagen

Koolk escribió:Imagen

Imagen

Ya estoy preparando el PIC16F886 de 28 pines. Tienes 8 sensores como mínimo del puerto C. Si quieres más entradas y salidas también más pines por ahí.

RC0 = Reset
RC1 = Eject
RC2 = Open
RC3 = Close
RC4 = Brake
RC5 = Libre
RC6 = Libre
RC7 = Libre
---------------------------------
TOTAL = 5 de 8 entradas.
(Recuerda que con este PIC16F886 tienes más entradas o salidas).

¿Deseas algún sensor más?

De la imagen que pusiste arriba para conectar el Reset, etc. ¿Sabes la tensión o voltios que tiene?

Saludo.

Ahora que lo pienso, para detectar modo stamby ó encendido, sería mejor conectar entradas a "green on" y "red on" que no solo a reset. Esas entradas funcionarían igual que todas, pulso bajo en red significaria consola en stamby, y pulso bajo en green estaría encendida.

Cierto. Hay que averiguar de cuantos son los pulsos. En PIC detecta pulso alto a 5V y pulso bajo a 0V. ¿Sabes cuál es el que indicas? Parece que son 12V. No te preocupes, ya me encargaré de estos temas para que funcione bien.

Imagen

Podría ser algo así.

RC0 = Reset : Si está red a 0, al detectar reset = 0, mostría mensaje "encendiendo", si está green a 0 y detecta reset = 0 --> mensaje reiniciando
RC1 = Eject : Si está close a = (Aquí no has puesto nada), y detecta pulso bajo en eject -> mensaje "abriendo bandeja", hasta que open = 0 --> "bandeja abierta". Después sería "cerrando", "cerrada" siguiendo el procedimiento al revés
RC2 = Open
RC3 = Close
RC4 = Brake Si = 1, "disco parado", sí = 0 "Disco girando"
RC5 = green : Si green = 0 -> "consola encendida"
RC6 = red : Si red = 0 -> "consola apagada"
RC7 = mc : Sí mc=1, pixeles del lcd que encienden al leer/ecribir mc, si = 0 pixeles apagados

De la imagen que pusiste arriba para conectar el Resent, etc. ¿Sabes la tensión o voltios que tiene?


tanto para reset como eject, mientras se acciona el pulsador hay un pulso bajo, si está en reposo no habría nada.


Cada vez hay más mensajes. Si esto sigue así a lo plan bestia, habrá que usar una EEPROM externa. jejejeje. no te preocupes, lo bueno de la EEPROM externa, es que puedes con un programador barato de 10€, grabar cualquier mensaje directamente hasta guardarlo en un .txt.

Piensa en todos los sensores e ideas que quieras. Cada vez tenemos las cosas claras. Ya que sobran pines, también te recuerdo que lo puedes usar como salidas. Ejemplos: Zumbador de 5V, para que te pinte la PS2 dependiendo de un acción, activar o desactivar otros motores que tengas para refigeración de PS2, etc...


Saludos
Muy bueno el vídeo, pero las Memory Card que tengo son de 8 MB, quizás sea diferente.


Es igual para todas las mc de ps2

No lo detecta. Hay PIC que si son de 3v. Si es para este PIC que funcionan a 5V como el 16F886, se mete la salida de 3V a la base de un transistor, de ahí al PIC con sus 5V.

En la imagen de abajo cuya entrada muestra 5V, vamos a suponer que son 3V, así conseguiremos que detecte el PIC los estados 1 y 0. Ya que dices que son 3V, fíajte bien. ¿Son 3V o 3.3V realmente?


miraré más a fondo este tema y te comento.

Ahora que lo pienso, para detectar modo stamby ó encendido, sería mejor conectar entradas a "green on" y "red on" que no solo a reset. Esas entradas funcionarían igual que todas, pulso bajo en red significaria consola en stamby, y pulso bajo en green estaría encendida.


Cierto. Hay que averiguar de cuantos son los pulsos. En PIC detecta pulso alto a 5V y pulso bajo a 0V. ¿Sabes cuál es el que indicas? Parece que son 12V. No te preocupes, ya me encargaré de estos temas para que funcione bien.

Fijate que los 12v son fijos para la alimentación de los leds. Cada uno lleva una resistencia para adeptar los 12v a su voltaje nominal de trabajo.

Los puntos "green on" y "red on" lo que le dan a los leds es masa, asi que si "green on" = 0 es que esta la consola apagada y "red on" = 0 es consola encendida

RC0 = Reset
Si está red = 0, al detectar reset = 0, mostría mensaje "encendiendo"
Si está green = 0 y detecta reset = 0 mostría mensaje "reiniciando"

RC1 = Eject
Si está close a = 0, y detecta pulso bajo en eject -> mensaje "abriendo bandeja", hasta que open = 0 --> "bandeja abierta". Después sería "cerrando", "cerrada" siguiendo el procedimiento al revés

RC2 = Open
RC3 = Close
RC4 = Brake

Si brake = 1, "disco parado", sí brake = 0 "Disco girando"

RC5 = green
Si green = 0 -> "consola encendida"

RC6 = red
Si red = 0 -> "consola apagada"

RC7 = mc
Sí mc = 1, pixeles del lcd que encienden al leer/ecribir mc, si mc = 0 pixeles apagados


está parte está ahora corregida y mejor explicada (o por lo menos eso he intentado)

Cada vez hay más mensajes. Si esto sigue así a lo plan bestia, habrá que usar una EEPROM externa. jejejeje.


jejejej es que somo ambiciosos xD No sé si el PIC que tu usas es regrabable. Si lo fuera se podría montar ya un esquema de prueba sacando los cables reset, eject, close, brake, green, red fuera de la consola y con el pic en un zocalo para ir probando

Saludos

EDIT: El pic tiene que compartir masa con la ps2 ;)
¿Cómo estás?

El PIC y la EEPROM son regrabables. Puedes hacer pruebas de todo tipo. Primero hay que terminarlo. Ya me encargaré de hacer manual sobre como insertar mensajes propios a la EEPROM. Por un aparte es una ventaja.

¿Qué EEPROM usar?

Depende de las cantidades de mensajes que desees. Esta EERPOM 24LC256 puedes poner muchos mensajes. 256 Kbits son 32 KBytes. 32.768 carácteres. Puedes poner 128 mensajes de 256 carácteres cada uno. Si el LCD ocupa 16 carácteres (hay LCD de 20, 24 y 40 carácteres).

¿Cómo puedo meter un mensaje largo que ocupa 256 carácteres?

Pues rotación de mensajes, desplazamiento. En nuestro caso lo dejaremos fijo o metemos algunos parpadeando si es una alarma de algo, por indicar un ejemplo.

Cuidado donde compras la EEPROM, mira por todas partes, la misma EEPROM te puede costar 1.50 € o 4.50 €. También una EEPROM de muy poca memoria te puede costar el cuatriple más caro que el que tiene mucha memoria. En esta vida hay de todo.

Si eres ambicioso, yo también y lo conseguiremos.

Si puedes, en mi placa PS2 localiza todos los sensores en fotos y me dice las características para colocarlo en el PIC. Me encargaré de la electrónica, la programación de PIC y hacer el manual. Este circuito que estamos haciendo funciona para otras consolas también y más cosas, esa es la ventaja para el usuario, pero me dedicaré para la PS2 por ahora, sobre todo los mensajes.

En el Led de la Memory Card. Haz escrito algo de poner píxeles, si se puede poner píxeles que desees y con animación incluida, estos LCD, sólo permite introducir 8 tipos de carácteres propios.

Imagen

Muy buena explicación, es lo que hace falta. Ahora lo pongo en una tabla Excell para que se vea mejor.

RC0 = Reset
Si está red = 0, al detectar reset = 0, mostría mensaje "Iniciando..."
Si está green = 0 y detecta reset = 0 mostría mensaje "Reiniciando..."

RC1 = Eject
Si está close a = 0, y detecta pulso bajo en eject -> mensaje "Abriendo bandeja", hasta que open = 0 --> "Bandeja abierta". Después sería "Cerrando...", "Cerrada" siguiendo el procedimiento al revés

RC2 = Open
RC3 = Close
RC4 = Brake

Si brake = 1, "Disco parado", sí brake = 0 "Disco girando"

RC5 = green
Si green = 0 -> "Consola encendida"

RC6 = red
Si red = 0 -> "Consola apagada"

RC7 = mc
Sí mc = 1, pixeles del lcd que encienden al leer/ecribir mc, si mc = 0 pixeles apagados

Me he dado cuenta al introducir los mensajes que un LCD 16x2 está limitado y no puedo poner

1) "Consola encendida"
2) "Disco girando"


Ejemplo:
Imagen

Cuando lea la Memory Card debe aparecer el mensaje de lectura de datos al mismo tiempo, por eso está los LCD de 20x4.

1) "Consola encendida."
2) "Bandeja cerrada."
3) "Disco girando."
4) "Escribiendo MC..."


El LCD retroiluminado de 16x2 donde lo he visto cuesta 10 €, el de 20x2 15 € (antes 20€). Hay de muchos precios. Usted decide si lo paso del 16x2 al 20x4.

Si se te ocurre añadir algún sensor más, avisa.

Un abrazo.
Estoy bien, y espero que tú también. Gracias por preguntar.

Primero, mira que esquema tan chulo me ha quedado:
(Lo he hecho lo más claro posible)

Imagen





Ahora cosas malas que anunciarte, he abierto la ps2 y le he soldado cables a todos esos puntos para comprobar que toda la información era correcta, y me he dado cuenta de que el punto al que llamamos "brake", no funciona de la forma que yo creía. Es un punto de control, pero no podemos sacar lógica ttl "entendible" por el pic a partir de ahí

te he dado información errónea, lo siento.

Se me ha calentado la ps2 por tenerla trabajando sin ventilador xD Tengo que esperar a que se enfrie

Lo proximo que miro es lo de la mc

Saludos
Menudo trabajo haz hecho. Felicidades, así entendermos todos de que va el tema.

Para que no me olvide, mejor usar un LCD más grande, lo expliqué arriba que edité.

Imagen

Otra vez con tu esquema, lo estoy analizando. La placa del motor del DVD no se parece nada de nada al mio. Espera, está muy metido dentro, no se como lo haz quitado de ahí, tiene una placa de hierro encima y no me deja soldar los cables.

Imagen

Voy a seguir haciendo cosas mirando tu esquema.

Ahora cosas malas que anunciarte, he abierto la ps2 y le he soldado cables a todos esos puntos para comprobar que toda la información era correcta, y me he dado cuenta de que el punto al que llamamos "brake", no funciona de la forma que yo creía. Es un punto de control, pero no podemos sacar lógica ttl "entendible" por el pic a partir de ahí.

No pasa nada, se buscará en otro punto.

te he dado información errónea, lo siento.

No pasa nada campeón. Los errores forman parte del aprendizaje. Ya sabemos que no, ahora toca buscar una solución si es que realmente existe.

Se me ha calentado la ps2 por tenerla trabajando sin ventilador xD Tengo que esperar a que se enfrie.

Si, puedes poner un ventilador de PC encima.



Muchas gracias por el curro.
Esa ultima imagen corresponde con una ps2 slim

Imagen

Y yo tenía entendido que tienes una fat, como dices en el primer post:

Imagen

Por eso te estoy poniendo imagenes de componentes para un ps2 v7 (scph39004). Que yo me aclare, que consola tienes?

Saludos
Hola:

Me equivoqué de imagen que saqué en google. La mia es la FAT, la PS2 vieja. Mira la foto que saqué ayer. Estás trabajando bien.

Imagen

No te asustes. La última foto que pusiste no se ve. La (scph39004) es la que tengo.

Otra cosa. Lo de la Memory Card no es lo mismo leyendo datos que guardado. Asegúrate bien como funciona el Led. Quiero saber si el mismo Led hace de función lectura/escritura de datos a la vez. Si está separado se puede añadir en el LCD lectura y escritura de la Memory Card.

http://www.youtube.com/watch?v=evuEzp-_6Bw

Saludo.

Edito:

Estoy intentando pasarlo a Excel lo que me has escrito arriba y estoy liado. jajajaja.



RC0 = Reset
Si está red = 0, al detectar reset = 0, mostría mensaje "Iniciando..."
Si está green = 0 y detecta reset = 0 mostría mensaje "Reiniciando..."

RC1 = Eject
Si está close a = 0, y detecta pulso bajo en eject -> mensaje "Abriendo bandeja", hasta que open = 0 --> "Bandeja abierta". Después sería "Cerrando...", "Cerrada" siguiendo el procedimiento al revés

RC2 = Open
RC3 = Close
RC4 = Brake

Si brake = 1, "Disco parado", sí brake = 0 "Disco girando"

RC5 = green
Si green = 0 -> "Consola encendida"

RC6 = red
Si red = 0 -> "Consola apagada"

RC7 = mc
Sí mc = 1, pixeles del lcd que encienden al leer/ecribir mc, si mc = 0 pixeles apagados

Imagen

Imagen

Puedes poner los 1 y 0 en las casillas correspondientes, de todas formas lo voy a analizar por si acaso.

Esta parte que has escrito:

RC1 = Eject
Si está close a = 0, y detecta pulso bajo en eject -> mensaje "Abriendo bandeja", hasta que open = 0 --> "Bandeja abierta". Después sería "Cerrando...", "Cerrada" siguiendo el procedimiento al revés.

Estoy un poco perdido. Deja ver si me explico y me cuentas.

    1) Con la bandeja cerrada. ¿Está el "Close" a 1 o a 0?

    2) Si pulso "Eject", mientras la bandeja esté saliendo en todo momento. Supongamos que está a la mitad de abrirse. ¿Qué estado tiene "Close" en este momento 1 ó 0?

    3) Mientras la bandeja está cerrada o abriéndose, supuestamente parece que "Open" está a 1. ¿Cierto?

    4) Si "Open" se pone a 0 entonce la bandeja está abierta.

    5) Si pulso "Eject" de nuevo. La bandeja se cerrará, entonces, ¿"Open" se pone a 0 justo cuando la bandeja se está cerrando o haya cerrado del todo?

Imagen

Saludo.
Koolk escribió:Otra cosa. Lo de la Memory Card no es lo mismo leyendo datos que guardado. Asegúrate bien como funciona el Led. Quiero saber si el mismo Led hace de función lectura/escritura de datos a la vez. Si está separado se puede añadir en el LCD lectura y escritura de la Memory Card.


El led es el mismo para escribir y para leer. Ahora malas noticias, llevo un rato midiendole con el polimetro y no me aclaro. la tensión es la misma cuando enciende el led que cuando está apagado, lo cual me desconcierta.

tambien es verdad que mi polimetro está echo polvo y no mide tensiones pequeñas (yo suelo trabajar en corriente alterna a 230/400v). Mide tú a ver que te dá. Es el punto de más a la izquierda del conector de la tarjeta de memoria

Koolk escribió:Estoy un poco perdido. Deja ver si me explico y me cuentas.

    1) Con la bandeja cerrada. ¿Está el "Close" a 1 o a 0?

    2) Si pulso "Eject", mientras la bandeja esté saliendo en todo momento. Supongamos que está a la mitad de abrirse. ¿Qué estado tiene "Close" en este momento 1 ó 0?

    3) Mientras la bandeja está cerrada o abriéndose, supuestamente parece que "Open" está a 1. ¿Cierto?

    4) Si "Open" se pone a 0 entonce la bandeja está abierta.

    5) Si pulso "Eject" de nuevo. La bandeja se cerrará, entonces, ¿"Open" se pone a 0 justo cuando la bandeja se está cerrando o haya cerrado del todo?

Imagen

Saludo.


Uff, esa última imagen demuestra un lío impresionante. Por pasos, primero que nada aclarar que los 3 cables que tienes a la derecha no son necesarios. Donde pones "me imagino que son el famoso open y close" sí, esos 2 son open y close. Verde=close y rosa=open.

Los puntos de la derecha son los mismos que los del conector (rosa y verde), esos puntos dan continuidad, resumiendo, céntrate solo en los que te he marcado en el conector (rosa y verde)

Aclaración sobre estos puntos:

1) Con la bandeja cerrada. ¿Está el "Close" a 1 o a 0?
Con la bandeja cerrada, close = 0

2) Si pulso "Eject", mientras la bandeja esté saliendo en todo momento. Supongamos que está a la mitad de abrirse. ¿Qué estado tiene "Close" en este momento 1 o 0
Close solo estará a 0 cuando la bandeja esté totalmente cerrada, resto del tiempo (abierta, abriendo, o cerrando) close estará a 1

3) Mientras la bandeja está cerrada o abriéndose, supuestamente parece que "Open" está a 1. ¿Cierto?
Correcto. Open funciona igual que close. Open estará a 0 solo cuando la bandeja esté totalmente abierta, resto del tiempo (cerrada, abriendo, ó cerrando) open estará a 1

4) Si "Open" se pone a 0 entonce la bandeja está abierta.
Como explico arriba, si bandeja=abierta entonces open=0

5) Si pulso "Eject" de nuevo. La bandeja se cerrará, entonces, ¿"Open" se pone a 0 justo cuando la bandeja se está cerrando o haya cerrado del todo?
Esta pregunta está mal, creo que te refieres a close. Open=0 solo sí bandeja=abierta, Close=0 solo sí bandeja=cerrada, explicación por si hay dudas:

Estado de reposo, bandeja cerrada (close=0, open=1)
Pulsamos eject, bandeja empieza a abrir (close=1, open=1)
La bandeja llega al final, está abierta (close=1, open=0)
Pulsamos eject, empieza a cerrar (close=1, open=1)
Se cierra por completo y se para (close=0, open=1) (esto es el estado de reposo inicial)


Casi que podrías programar ya el pic, y jugar con las entradas (cambiarlas de estado manualmente) para comprobar su funcionamiento. La tabla es una liada grande, de echo yo no sé como se hace una tabla de esas, si me pasas algun ejemplo de programa sencillo similar a este si podría ayudarte (algo) con el código

Mi recomendacion es que hagas (hagamos si quieres) el programa solo con las entradas reset, ejcet, close, open, green, red que ya es bastante, y luego lo vallas(vallamos) apliando

Saludos

EDITO: Open, close, reset, eject, green, y red funcionan con pulsos de masa, estados bajos, ceros, o como queramos llamarle. Debes programar el pic para detectar los ceros, por cuando digo close=1 (por ejemplo), ese uno puede ser no detectable por el pic (voltaje mucho menos a 5v). Por el contrario los 0 si son reales

Vuelvo a editar, Esquema:

Imagen
Buenas:

Lo del Led de la Memory Card puede ser el tester o que la intensidad sea muy baja con la misma tensión, esto no es normal.

En cuanto a lo del "Brake" se puede saber conectando los cables directemente al motor, si es líneal. No se si es motor (PAP) paso a paso .

Dejaré preparado esas dos entradas que ya investigaré. Tengo la PS2 descuartizada, jejejejje. tardaré en armarla un buen rato. Voy a preparar la tabla de la verdad.

El tema de la programación es complejo, cuando lo acabe te pasaré con el simulador Proteus para que lo pruebes.

Menudo curro, así se hace, así estoy avanzando gracias a tus explicacioes.

Edito:

El esquema de la bandeja es así por lo que he entendido hasta ahora.
Imagen
Me alegra saber que estoy ayudando. Mira, lo del motor, este es el esquema de la conexión BA6664fm al motor

Imagen

Ese esquema es de una consola v4 (scph30004, placa gh10), pero en teoría es igual que el de nuestras consolas, ya que los motores de las v4 son iguales, y el integrado es el mismo.

No sé si se puede sacar la info de ahí, pero lo miraré. Voy a buscar el datashet del BA6664fm que alomejor ayuda algo.

Yo tambien tengo mi ps2 descuartizada jajaja, saludos, y que te sea leve la programación xD


EDITO:Lo he encontrado y hay información interesante, entre otras cosas he visto que el pin 18 es short brake, y el 16 brake mode. De este último no sabía nada, asi que mañana vuelvo a meterle polímetro a ver si encontramos algo.

http://www.datasheetcatalog.org/datashe ... 707_DS.pdf

A cerca de lo de la mc, es obvio que se trata de un error mio, pues no es posible que ese punto presente el mismo voltaje con el led encendido que apagado
Hi:

Estoy casi seguro que el motor es un motor paso a paso. ¿Ves las H+ y H-?

Son las bobinas del motor y se controla por 4 por lo que veo. No es un motor de continua de dos cablitos, este tiene 8. Si fuera así sería fácil. Por ahí tiene que haber un aviso de estado del motor cuando está activo.

El BA6664FM habrá por ahí cerca para saber si el motor está en marcha o no. No es buena idea coger una pequeña corriente de unas de sus bobinas ya que no obtendría la velicidad adecuada con el resultado no esprado.

Mirando la tabla de verdad. Fíjate bien en todo y lo puedes completar si me he despistado. Cuando acabe la tabla de la verdad COMPLETA, empezaré a programar el PIC, después te daré el simulador de prueba para que juegues con él. El simulador es el reflejo de la posible realidad.
Imagen

Ahora mismo a estas horas voy a armar la PS2 en una sola pieza. Tardaré pero quiero probar lo de la Memory Card. Ya te avisaré cuando la tenga montada.

Saludo.

Edito:

Acaba de montar la PS2 y no me enciende ni un Led ni nada.

Acaba de encender la PS2, pero el disco no gira. Da muchos fallos en el botón Eject. Se me fastidió el cablito fino. Deja ver si consigo uno por Inernet, pero moviéndolo bien puedo encender la PS3 sin que se me encienda el LEd azul. No puedo juegar, el disco no gira pero puedo comprobar la MC.

Me cuesta encontrar esquemas de la MC.

Cambio de última hora para que lo sepas. No me lee nada la Memory Card en el tester, si lo detecta la PS2, pero no me da tiempo al medir. Cuando lo logro no me sale nada de tensión. Intentará más tarde haber que pasa con la MC.

Otra cosa con la MC. Tiene dos MC, la MC1 y la MC2. Usaré 2 pines del PORTA del PIC16F886 y el pin RC7 del PORTC lo dejaremos para otro sensor que busquemos. Así en el LCD pondré algo de esto:

MC1: * MC2: *

Si sale el * parpadeando, significa lectura/excritura de datos de la Memory Card.

Si no me ocurre una cosa me ocurre otra.

Edito 2:

Ya que quieres ver un trozo de código del PIC, este es un formato de prueba para mostrar algún mensaje del LCD. Está a la chapuza, no me extraña que no entiendas mucho.

; ZONA DE DATOS **********************************************************************

   TITLE      "LCD Sensor PS2"
   SUBTITLE   "Revisión 1.00"
   LIST      P=16F886
   INCLUDE      <P16F886.INC>
   __CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
   __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

   CBLOCK   0x20
   CONTADOR
   ENDC

#DEFINE      RESET_   PORTC,0
#DEFINE      EJECT   PORTC,1
#DEFINE      OPEN   PORTC,2
#DEFINE      CLOSE   PORTC,3
#DEFINE      BREAK   PORTC,4
#DEFINE      _1   PORTC,5
#DEFINE      _2   PORTC,6
#DEFINE      _3   PORTC,7

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0                  ; El programa comienza en la dirección 0.

Inicio
   call   LCD_Inicializa
   BANKSEL   TRISC               ; Banco 1.
   bsf      RESET_               ; Se configura como entradas.
   bsf      EJECT
   bsf      OPEN
   bsf      CLOSE               
   bsf      BREAK
   bsf      _1
   bsf      _2
   bsf      _3
   BANKSEL   PORTC               ; Banco 0.
   clrw

Principal
   movf   PORTC,W            ; Lee los sensores.
   andlw   b'00000111'         ; Máscara para quedarse con el valor de los sensores.
   addwf   PCL,F            ; Salta a la configuración adecuada.
   goto   Configuracion0      ; 0 0 0
   goto   Configuracion1      ; 0 0 1
   goto   Configuracion2      ; 0 1 0
   goto   Configuracion3      ; 0 1 1
   goto   Configuracion4      ; 1 0 0
   goto   Configuracion5      ; 1 0 1
   goto   Configuracion6      ; 1 1 0
   goto   Configuracion7      ; 1 1 1
Configuracion0               
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje1_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje1_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje2_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje2_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion1               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje3_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion2               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje3_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion3               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion4
   goto   ActivaSalida
Configuracion5
   goto   ActivaSalida
Configuracion6
   goto   ActivaSalida
Configuracion7
   goto   ActivaSalida
ActivaSalida
;   movwf   PORTB            
   goto    Principal

;
; "Mensajes" ----------------------------------------------------------------------------
;
Mensajes
   addwf   PCL,F
Mensaje1_1
   DT   "PlayStation 2: OFF", 0x00
Mensaje1_2
   DT   "Abriendo bandeja.", 0x00
Mensaje2_1
   DT    "Motor parado.", 0x00
Mensaje2_2
   DT   "MC:", 0x00
Mensaje3_1
   DT    "Mensaje 3-1     ", 0x00
Mensaje3_2
   DT   "Mensaje 3-2     ", 0x00
Mensaje4_1
   DT    "Mensaje 4-1     ", 0x00
Mensaje4_2
   DT   "Mensaje 4-2     ", 0x00
FinTabla
;MensajeAnuncio
;   DT " foros elec. ", 0x00   

   IF (FinTabla > 0xFF)
      ERROR   "¡CUIDADO!: La tabla ha superado el tamaño de la página de los"
      MESSG   "primeros 256 bytes de memoria ROM. NO funcionará correctamente."
   ENDIF

   INCLUDE  <LCD_4BIT.INC>
   INCLUDE  <LCD_MENS.INC>
   INCLUDE  <RETARDOS.INC>
   END


Saludo.
Koolk escribió:El esquema de la bandeja es así por lo que he entendido hasta ahora.
Imagen


No había visto esto. El esquema es así, y no puede haber ninguna funcion en 0/0 ya que eso es fisicamente imposible a no ser que fuerces sensores.


Koolk escribió:Hi:

Estoy casi seguro que el motor es un motor paso a paso. ¿Ves las H+ y H-?

Son las bobinas del motor y se controla por 4 por lo que veo. No es un motor de continua de dos cablitos, este tiene 8. Si fuera así sería fácil. Por ahí tiene que haber un aviso de estado del motor cuando está activo.

El BA6664FM habrá por ahí cerca para saber si el motor está en marcha o no. No es buena idea coger una pequeña corriente de unas de sus bobinas ya que no obtendría la velicidad adecuada con el resultado no esprado.


Mmmm, un motor Dc normal se le podría sacar un 1/0 de forma sencilla, ya que siempre gira en el mismo sentido, pero un paso-a-paso no tengo ni idea. Yo sigo probando con el BA, ya contaré.

Koolk escribió:Mirando la tabla de verdad. Fíjate bien en todo y lo puedes completar si me he despistado. Cuando acabe la tabla de la verdad COMPLETA, empezaré a programar el PIC, después te daré el simulador de prueba para que juegues con él. El simulador es el reflejo de la posible realidad.
Imagen

Ahora mismo a estas horas voy a armar la PS2 en una sola pieza. Tardaré pero quiero probar lo de la Memory Card. Ya te avisaré cuando la tenga montada.


La tabla no la entiendo mucho, a ver si puedes explicarme como funciona y ya cuando la sepa manejar me pongo a ella.

Koolk escribió:Acaba de encender la PS2, pero el disco no gira. Da muchos fallos en el botón Eject. Se me fastidió el cablito fino. Deja ver si consigo uno por Inernet, pero moviéndolo bien puedo encender la PS3 sin que se me encienda el LEd azul. No puedo juegar, el disco no gira pero puedo comprobar la MC.

Me cuesta encontrar esquemas de la MC.

Cambio de última hora para que lo sepas. No me lee nada la Memory Card en el tester, si lo detecta la PS2, pero no me da tiempo al medir. Cuando lo logro no me sale nada de tensión. Intentará más tarde haber que pasa con la MC.

Otra cosa con la MC. Tiene dos MC, la MC1 y la MC2. Usaré 2 pines del PORTA del PIC16F886 y el pin RC7 del PORTC lo dejaremos para otro sensor que busquemos. Así en el LCD pondré algo de esto:

MC1: * MC2: *

Si sale el * parpadeando, significa lectura/excritura de datos de la Memory Card.

Si no me ocurre una cosa me ocurre otra.


Entonces tampoco te aparece tensión en el pin 1 de la mc? :ss cosa rara, ese punto tendremos que seguir mirando. El modo de mostrarlo en el lcd me parece muy acertado, no se me habría ocurrido eso.

respecto a la avería, lo siento. Dime de donde eres, alomejor estamos cerca uno del otro, y no me importaría conseguirte un cable o repararte ese que tienes (se puede sultituir por cables de dentro de los cat. 5e)


Koolk escribió:Ya que quieres ver un trozo de código del PIC, este es un formato de prueba para mostrar algún mensaje del LCD. Está a la chapuza, no me extraña que no entiendas mucho.

; ZONA DE DATOS **********************************************************************

   TITLE      "LCD Sensor PS2"
   SUBTITLE   "Revisión 1.00"
   LIST      P=16F886
   INCLUDE      <P16F886.INC>
   __CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
   __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

   CBLOCK   0x20
   CONTADOR
   ENDC

#DEFINE      RESET_   PORTC,0
#DEFINE      EJECT   PORTC,1
#DEFINE      OPEN   PORTC,2
#DEFINE      CLOSE   PORTC,3
#DEFINE      BREAK   PORTC,4
#DEFINE      _1   PORTC,5
#DEFINE      _2   PORTC,6
#DEFINE      _3   PORTC,7

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0                  ; El programa comienza en la dirección 0.

Inicio
   call   LCD_Inicializa
   BANKSEL   TRISC               ; Banco 1.
   bsf      RESET_               ; Se configura como entradas.
   bsf      EJECT
   bsf      OPEN
   bsf      CLOSE               
   bsf      BREAK
   bsf      _1
   bsf      _2
   bsf      _3
   BANKSEL   PORTC               ; Banco 0.
   clrw

Principal
   movf   PORTC,W            ; Lee los sensores.
   andlw   b'00000111'         ; Máscara para quedarse con el valor de los sensores.
   addwf   PCL,F            ; Salta a la configuración adecuada.
   goto   Configuracion0      ; 0 0 0
   goto   Configuracion1      ; 0 0 1
   goto   Configuracion2      ; 0 1 0
   goto   Configuracion3      ; 0 1 1
   goto   Configuracion4      ; 1 0 0
   goto   Configuracion5      ; 1 0 1
   goto   Configuracion6      ; 1 1 0
   goto   Configuracion7      ; 1 1 1
Configuracion0               
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje1_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje1_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje2_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje2_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion1               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje3_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion2               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje3_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion3               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion4
   goto   ActivaSalida
Configuracion5
   goto   ActivaSalida
Configuracion6
   goto   ActivaSalida
Configuracion7
   goto   ActivaSalida
ActivaSalida
;   movwf   PORTB            
   goto    Principal

;
; "Mensajes" ----------------------------------------------------------------------------
;
Mensajes
   addwf   PCL,F
Mensaje1_1
   DT   "PlayStation 2: OFF", 0x00
Mensaje1_2
   DT   "Abriendo bandeja.", 0x00
Mensaje2_1
   DT    "Motor parado.", 0x00
Mensaje2_2
   DT   "MC:", 0x00
Mensaje3_1
   DT    "Mensaje 3-1     ", 0x00
Mensaje3_2
   DT   "Mensaje 3-2     ", 0x00
Mensaje4_1
   DT    "Mensaje 4-1     ", 0x00
Mensaje4_2
   DT   "Mensaje 4-2     ", 0x00
FinTabla
;MensajeAnuncio
;   DT " foros elec. ", 0x00   

   IF (FinTabla > 0xFF)
      ERROR   "¡CUIDADO!: La tabla ha superado el tamaño de la página de los"
      MESSG   "primeros 256 bytes de memoria ROM. NO funcionará correctamente."
   ENDIF

   INCLUDE  <LCD_4BIT.INC>
   INCLUDE  <LCD_MENS.INC>
   INCLUDE  <RETARDOS.INC>
   END


Saludo.


Entiendo muchas cosas, pero también hay otras muchas que no. He conseguido el libro del pic 16f84 ese que tu tienes, es bueno? me lo estoy empezando

Sigo probando y ahora comento, saludos

EDITO: El control del disco se me resiste, puedo controlar el disco poniendo puntos a 0v, a 1v o a 2.5v, pero no detectar cuando lo hace la consola automaticamente (me da que son micropulsos...)

A ver si tu tienes mas suerte con la mc
airam1809 escribió:
Koolk escribió:El esquema de la bandeja es así por lo que he entendido hasta ahora.
Imagen


No había visto esto. El esquema es así, y no puede haber ninguna funcion en 0/0 ya que eso es fisicamente imposible a no ser que fuerces sensores.

Es lo que quería saber. Muchas gracias.

Perdona por tardar, el PC se me reiniciaba cada dos por tres, e incluso no me encendía, reparé la fuente de alimentación, la memoria RAM se colgaba y me funcionaba la mitad. Llevo desde las 14:00 hasta las más de las 20:00 investigando el fallo. Por fin me puedo conectar al PC. Que susto, me vi sin ordenador durante muchos meses.


Koolk escribió:Hi:

Estoy casi seguro que el motor es un motor paso a paso. ¿Ves las H+ y H-?

Son las bobinas del motor y se controla por 4 por lo que veo. No es un motor de continua de dos cablitos, este tiene 8. Si fuera así sería fácil. Por ahí tiene que haber un aviso de estado del motor cuando está activo.

El BA6664FM habrá por ahí cerca para saber si el motor está en marcha o no. No es buena idea coger una pequeña corriente de unas de sus bobinas ya que no obtendría la velicidad adecuada con el resultado no esprado.


Mmmm, un motor Dc normal se le podría sacar un 1/0 de forma sencilla, ya que siempre gira en el mismo sentido, pero un paso-a-paso no tengo ni idea. Yo sigo probando con el BA, ya contaré.

Puede que haya un punto que indique algo del motor activo o no.

Koolk escribió:Mirando la tabla de verdad. Fíjate bien en todo y lo puedes completar si me he despistado. Cuando acabe la tabla de la verdad COMPLETA, empezaré a programar el PIC, después te daré el simulador de prueba para que juegues con él. El simulador es el reflejo de la posible realidad.
Imagen

Ahora mismo a estas horas voy a armar la PS2 en una sola pieza. Tardaré pero quiero probar lo de la Memory Card. Ya te avisaré cuando la tenga montada.


La tabla no la entiendo mucho, a ver si puedes explicarme como funciona y ya cuando la sepa manejar me pongo a ella.

En cada línea en horizontal, significa los estados en cada momento que le entran datos de los sensores al PIC al mismo tiempo. Sólo eso. Lo voy a modificar. Fíjate donde pone "Iniciando...". Sólo puse un 0 en "Red" y "Reset" ya que indicaste que si detecta estos 0 significa "Iniciando". No he puesto ningún dato más en los otros sensores, sólo debo pones "x" ya que no importa los estados en esos momento desde que inicie el sistama PlayStation 2.

Así con cada línea horizontal. ¿Entiendes ahora?

Si no lo entiendes te lo explicaré mejor en dibujo, como debo dibujar, tardaré hacer la explicaciónen dibujo para que se entienda, entiendan o entendamos mejor pasa a paso para poder seguir sin perdernos por el camino. Como he modificado la parte del "Brake" y las Memory Card, debo cambiar el código fuente desde cero al PIC que ya te pasaré. Claro que antes debo poner en cada sensor el pin al PIC.


Koolk escribió:Acaba de encender la PS2, pero el disco no gira. Da muchos fallos en el botón Eject. Se me fastidió el cablito fino. Deja ver si consigo uno por Inernet, pero moviéndolo bien puedo encender la PS3 sin que se me encienda el LEd azul. No puedo juegar, el disco no gira pero puedo comprobar la MC.

Me cuesta encontrar esquemas de la MC.

Cambio de última hora para que lo sepas. No me lee nada la Memory Card en el tester, si lo detecta la PS2, pero no me da tiempo al medir. Cuando lo logro no me sale nada de tensión. Intentará más tarde haber que pasa con la MC.

Otra cosa con la MC. Tiene dos MC, la MC1 y la MC2. Usaré 2 pines del PORTA del PIC16F886 y el pin RC7 del PORTC lo dejaremos para otro sensor que busquemos. Así en el LCD pondré algo de esto:

MC1: * MC2: *

Si sale el * parpadeando, significa lectura/excritura de datos de la Memory Card.

Si no me ocurre una cosa me ocurre otra.


Entonces tampoco te aparece tensión en el pin 1 de la mc? :ss cosa rara, ese punto tendremos que seguir mirando. El modo de mostrarlo en el lcd me parece muy acertado, no se me habría ocurrido eso.

respecto a la avería, lo siento. Dime de donde eres, alomejor estamos cerca uno del otro, y no me importaría conseguirte un cable o repararte ese que tienes (se puede sultituir por cables de dentro de los cat. 5e)

Vivo muy lejos de ti. Estoy buscando esos cables por ahí a ver quien tiene uno. En internet lo he encontrado por ahí y éste es un enlace de ello que me parece caro para lo que es, incluyendo el IGIC, aduanas y gastos de envío que no se incluye, para eso me compro otra PS2 FAT a 40 € como venden por ahí, al menos antes.


Koolk escribió:Ya que quieres ver un trozo de código del PIC, este es un formato de prueba para mostrar algún mensaje del LCD. Está a la chapuza, no me extraña que no entiendas mucho.

; ZONA DE DATOS **********************************************************************

   TITLE      "LCD Sensor PS2"
   SUBTITLE   "Revisión 1.00"
   LIST      P=16F886
   INCLUDE      <P16F886.INC>
   __CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
   __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

   CBLOCK   0x20
   CONTADOR
   ENDC

#DEFINE      RESET_   PORTC,0
#DEFINE      EJECT   PORTC,1
#DEFINE      OPEN   PORTC,2
#DEFINE      CLOSE   PORTC,3
#DEFINE      BREAK   PORTC,4
#DEFINE      _1   PORTC,5
#DEFINE      _2   PORTC,6
#DEFINE      _3   PORTC,7

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0                  ; El programa comienza en la dirección 0.

Inicio
   call   LCD_Inicializa
   BANKSEL   TRISC               ; Banco 1.
   bsf      RESET_               ; Se configura como entradas.
   bsf      EJECT
   bsf      OPEN
   bsf      CLOSE               
   bsf      BREAK
   bsf      _1
   bsf      _2
   bsf      _3
   BANKSEL   PORTC               ; Banco 0.
   clrw

Principal
   movf   PORTC,W            ; Lee los sensores.
   andlw   b'00000111'         ; Máscara para quedarse con el valor de los sensores.
   addwf   PCL,F            ; Salta a la configuración adecuada.
   goto   Configuracion0      ; 0 0 0
   goto   Configuracion1      ; 0 0 1
   goto   Configuracion2      ; 0 1 0
   goto   Configuracion3      ; 0 1 1
   goto   Configuracion4      ; 1 0 0
   goto   Configuracion5      ; 1 0 1
   goto   Configuracion6      ; 1 1 0
   goto   Configuracion7      ; 1 1 1
Configuracion0               
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje1_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje1_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje2_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje2_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion1               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   call   LCD_LineaEnBlanco
   call   LCD_Linea3
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_LineaEnBlanco
   call   LCD_Linea4
   movlw   Mensaje3_2
   call   LCD_Mensaje      
   goto   ActivaSalida
Configuracion2               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje3_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje3_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion3               ;
   call   LCD_LineaEnBlanco
   call   LCD_Linea1
   movlw   Mensaje4_1
   call   LCD_Mensaje
   call   LCD_Linea2
   movlw   Mensaje4_2
   call   LCD_Mensaje   
   goto   ActivaSalida
Configuracion4
   goto   ActivaSalida
Configuracion5
   goto   ActivaSalida
Configuracion6
   goto   ActivaSalida
Configuracion7
   goto   ActivaSalida
ActivaSalida
;   movwf   PORTB            
   goto    Principal

;
; "Mensajes" ----------------------------------------------------------------------------
;
Mensajes
   addwf   PCL,F
Mensaje1_1
   DT   "PlayStation 2: OFF", 0x00
Mensaje1_2
   DT   "Abriendo bandeja.", 0x00
Mensaje2_1
   DT    "Motor parado.", 0x00
Mensaje2_2
   DT   "MC:", 0x00
Mensaje3_1
   DT    "Mensaje 3-1     ", 0x00
Mensaje3_2
   DT   "Mensaje 3-2     ", 0x00
Mensaje4_1
   DT    "Mensaje 4-1     ", 0x00
Mensaje4_2
   DT   "Mensaje 4-2     ", 0x00
FinTabla
;MensajeAnuncio
;   DT " foros elec. ", 0x00   

   IF (FinTabla > 0xFF)
      ERROR   "¡CUIDADO!: La tabla ha superado el tamaño de la página de los"
      MESSG   "primeros 256 bytes de memoria ROM. NO funcionará correctamente."
   ENDIF

   INCLUDE  <LCD_4BIT.INC>
   INCLUDE  <LCD_MENS.INC>
   INCLUDE  <RETARDOS.INC>
   END


Saludo.


Entiendo muchas cosas, pero también hay otras muchas que no. He conseguido el libro del pic 16f84 ese que tu tienes, es bueno? me lo estoy empezando

Es buenísimo y con él estoy aprendiendo mucho. En el apartado PRÓLOGO XXIII de la tercera edición me parace mi nombre como colaborador. Muy recomendado el libro.

Voy a cambiar el código y no será al estilo como que te publiqué, sino a mi manera ya que usamos 7 bits de un puerto y dos del otro. Procuraré hacer un diagrama de flujo para el código.

Otra cosa. ¿Te interesa el pin sobrante meterle un Zumbador de 5V. Funciona como los PC, al ensenderse la PS2 suena un pitido, al apagarse suene tres pitidos, con posibilidad de desactivación?


Imagen

Sigo probando y ahora comento, saludos

EDITO: El control del disco se me resiste, puedo controlar el disco poniendo puntos a 0v, a 1v o a 2.5v, pero no detectar cuando lo hace la consola automaticamente (me da que son micropulsos...)

Si son micropulsos, los motores paso a paso PAP funcionan así.

A ver si tu tienes mas suerte con la mc

Seguiré investigando. No me lee el lector y me falla los botones Poweer y Eject. Espero que esto no le afecte a lo que busco.

Parece ser que mi modelo de la PS2 es la V7.

http://www.vilecha.com/Neo/mod_con.html

Hay 19 modelos de PS2 y no todas las Web las comentan.







Edito:

Mira este ejemplo incompleto pero real la explicación para que entiendas la Tabla de la Verdad.

Imagen

Te pasaré el Excel 2010 para que lo entiendas y lo rellenes si lo has entendido.

Imagen

Lo que hay que hacer es te detectar los sensores activos o no que debe ponerse en la Tabla de la Verdad con sus mensajes del LCD al lado.

Imagen

Una vez encendido la PS2, se muestra esta imagen que es normal, incluso cuando la Memory Card se está usando. Fíja te en la imagen de abajo como MC1: le parpadea el * que significa lectura o escritura de la memoria.

Imagen

Si no entiendes algo, cualquer cosa, la mínima que sea, me avisas.

En vez de poner PlayStation apagado, mejor poner esto si te gusta, cuando la PS2 está apagado en el Led Rojo. El LCD retroiluminado en stad by se apagará pero que seque la palabra como uestra abajo.

Imagen

Desde que se encienda el LEd verde, aparezca la palabra "Iniciando...", acto seguido que aparezca la imagen de abajo:

Imagen

Pensando bien, prefiero dejarlo como resultado final de esta manera como muestra abajo:

Imagen

Estás a tiempo para decidir como desees. Hay que entender todos los pasos para la tabla de la verdad y así empezar a programar de una vez.

Edito 2:

Imagen

Imagen

Ten claro que vas hacer paso a paso. Si puedes ponlo en la tabla de la verdad bien explicado. Quiero programar el PIC ya. Por ahora estoy investigando la programación.

Imagen

Después seguiré poniendo más dibujo. Ya llevo mucho tiempo escribiendo y haciendo ejemplos.
Perdona por tardar, el PC se me reiniciaba cada dos por tres, e incluso no me encendía, reparé la fuente de alimentación, la memoria RAM se colgaba y me funcionaba la mitad. Llevo desde las 14:00 hasta las más de las 20:00 investigando el fallo. Por fin me puedo conectar al PC. Que susto, me vi sin ordenador durante muchos meses.
No importa, mira ahora el que ha tardao he sio yo jeje que he tenido liada..

Vivo muy lejos de ti. Estoy buscando esos cables por ahí a ver quien tiene uno. En internet lo he encontrado por ahí y éste es un enlace de ello que me parece caro para lo que es, incluyendo el IGIC, aduanas y gastos de envío que no se incluye, para eso me compro otra PS2 FAT a 40 € como venden por ahí, al menos antes.

Si no quieres gastarte la pasta en la cinta esa puedes rehacerla con cable normal y corriente

Es buenísimo y con él estoy aprendiendo mucho. En el apartado PRÓLOGO XXIII de la tercera edición me parace mi nombre como colaborador. Muy recomendado el libro.

Voy a cambiar el código y no será al estilo como que te publiqué, sino a mi manera ya que usamos 7 bits de un puerto y dos del otro. Procuraré hacer un diagrama de flujo para el código.

Otra cosa. ¿Te interesa el pin sobrante meterle un Zumbador de 5V. Funciona como los PC, al ensenderse la PS2 suena un pitido, al apagarse suene tres pitidos, con posibilidad de desactivación?


Me pondré con el libro. Lo del zumbador tendría que ser discreto, muy discreto. Esque yo soy el tipico que se lo quita a todos los pcs..xd

--
Me parece genial todas las imagenes que has puesto. Sobre la tabla me queda claro. Me pongo a ella, aunque es liosa y no sé como me irá

Saludos


EDIT:

Imagen

Los mensajes del lcd (lineas 1,2,3 y 4) van por separado verdad? Porque si no es así entonces habría que ampliar muchísimo la tabla...
Hola:

Lo del zumbador es por poner un ejemplo. Lo de hacer el cable no es tán fácil, pero lo intentaré. Ahora me estoy peleando con el movil que no quiere detectarse para subir las fotos de la Memory Card. Será porque tiene poca batería y no se deja.

Te dejo fotos para que detecte los estados de los sensores y los ponga en la Tabla de la Verdad.

Imagen

Para dejarlo claro y lo podamos rellenar, me curro estás imágenes en blanco.

Imagen

Imagen

Imagen

Imagen

Hay que dejar claro que si el Led verde está verde, significa 1 y es constante. El botón Reset y Eject si lo pulsas un avez se queda 1 pero luego vuelve el estado a 0. Hay que tenerlo en cuenta al programarlo.

Verdad. Las líneas del LCD van por separado. Sobre la MC, le saqué fotos, ahora no me deja pasarlo al PC, será que el movil con la batería baja no se deja. La estoy recargando y subiré las fotazos.

En cuento a lo del motor Brake. Si funciona con motores paso a paso PAP, sólo que debemos usar un pin. Ojo, funcionan a pulsos, así que la palabra en el LCD se mostrará "Motor girando..." parpadeando en plan bestia. No es tan complejo, sólo debo saber la tensión.

Saludo.

Edito:

Imagen
Al final no va a hacer falta, te he encontrado esto:

Imagen

Ten en cuenta que no debes soldar en los pads de cobre, sino en pistas y puntos altervativos.

Volviendo a los temas 1 y 0..xD

Koolk escribió:Hay que dejar claro que si el Led verde está verde, significa 1 y es constante. El botón Reset y Eject si lo pulsas un avez se queda 1 pero luego vuelve el estado a 0. Hay que tenerlo en cuenta al programarlo.


Esto es al revés. Mientras los led estan encendidos sus entradas serían 0. Mientras se está pulsando eject o reset es 0.

Según las imagenes, estados.

Estado 1 (Stamby y bandeja cerrada)

red = 0
green = x
open = x
close = 0
reset = x
eject = x

Estado 2 (consola encendida y bandeja cerrada)

red = x
green = 0
open = x
close = 0
reset = x
eject = x

Estado 3 (abriendo / cerrando bandeja)

red = x
green = 0
open = x
close = x
reset = x
eject = x

Estado 4 (abierta)

red = x
green = 0
open = 0
close = x
reset = x
eject = x


3.1 Bandeja cerrada y pulsamos para abrir -> abriendo bandeja

red = x
green = 0
open = x
close = 0
reset = x
eject = 0


3.2 Bandeja abierta y pulsamos para cerrar -> cerrando bandeja

red = x
green = 0
open = 0
close = x
reset = x
eject = 0

Obviamente aparecería solo un segundo, se debería meter un temporizador o algo para que el mensaje se quede más tiempo))

Saludos
Mejor usarlo directamente en sus pines.

Imagen

Lo controlaremos con un PIC en vez de Led.

Imagen

Imagen

Imagen

Imagen

Imagen

3.2 Bandeja abierta y pulsamos para cerrar -> cerrando bandeja

red = x
green = 0
open = 0
close = x
reset = x
eject = 0

Obviamente aparecería solo un segundo, se debería meter un temporizador o algo para que el mensaje se quede más tiempo))


No te preocupes por los tempos, se lo puedo agregar al PIC. De todas formas no hace falta, el tiempo que esté cerrada o abierta está a 1-1 y aparecerá el mensaje "Bandeja cerrda o abierta".

En la otra Memory Card que tengo, si pondré los Led al estilo de este.
Imagen

Se pueden meter Led rectangualeres.
Imagen

http://www.nds.jpn.org/ps2memled.htm

Edito:

He comprobado que el pin 4 de la Memory Card parace la masa GND, comprobando con el testet o polímetro, en todos los demás pines son de 3.44V.
Mira, así tengo yo mi mc (con un leds de esos cuadrados)

Imagen

En cuanto a las imágenes y a los puntos del puerto de mandos me parece genial. Ya solo queda que te pongas con el programa no?

Si tienes algún zócalo por ahí creo que ya lo podrías montar, al menos para ir probando. Cuando quieras cambiar la programación solo sería quitarlo del zócalo y enchufarlo en el programador, mucho menos engorroso que tener que desoldar cables.

En cuanto al circuito eléctrico cualquier duda me la pasas, ya sea de puntos o del circuito de alimentación.. que por cierto que vas a usar un 7805?

OFF: El libro me lo estoy leyendo poco a poco y se ve genial aunque me asaltan algunas dudas. Solo es necesario meterle a alimentación y activar el reset para que funcione? Porque pensaba que necesitaría componentes externos tipo condensadores u osciladores...

Tampoco tengo programador, había pensado en montar este, es recomendable?

Imagen

Por último haber si me pudieras recomendar algún sitio donde pillar el material, me he estado mirando rs-online pero no sé como serán...

Ya me comentarás que tal, Saludos
airam1809 escribió:Mira, así tengo yo mi mc (con un leds de esos cuadrados)

El GND es todo lo que indicas con la flecha hasta el patillaje 4 de la MC.

Imagen

En cuanto a las imágenes y a los puntos del puerto de mandos me parece genial. Ya solo queda que te pongas con el programa no?

Hay que comprobar primero que no falle nada de nada antes de programarlo. Lo reviso y te digo.

Si tienes algún zócalo por ahí creo que ya lo podrías montar, al menos para ir probando. Cuando quieras cambiar la programación solo sería quitarlo del zócalo y enchufarlo en el programador, mucho menos engorroso que tener que desoldar cables.

Mejor usar zócalos para tu PCB.

En cuanto al circuito eléctrico cualquier duda me la pasas, ya sea de puntos o del circuito de alimentación.. que por cierto que vas a usar un 7805?

¿Dónde lo vamos a conectar? Dentro de la PS2 o con fuente de alimentación externa. Eso es lo primero que debes preguntarte. Si hay que coger 5V por ahí en la PS2 que no le afecte lo cogeremos, pero debo saber cuando consumen en total. Los Led del LCD consume lo suyo, así que cogeré la tensión en la PS2 corriente por ahí.

OFF: El libro me lo estoy leyendo poco a poco y se ve genial aunque me asaltan algunas dudas. Solo es necesario meterle a alimentación y activar el reset para que funcione? Porque pensaba que necesitaría componentes externos tipo condensadores u osciladores...

Tampoco tengo programador, había pensado en montar este, es recomendable?

Imagen

Por último haber si me pudieras recomendar algún sitio donde pillar el material, me he estado mirando rs-online pero no sé como serán...

Ya me comentarás que tal, Saludos



Mejor comprarte un programador que hacerlo, a veces te sale más barato. El programdor lo puedes conseguir en muchos locales de electrónica o por Internet.

http://www.digital-sa.com/tienda/produc ... ts_id=6663

Esa Web arriba es un pelín caro, los hay de 12 € el mismo. A moverse. Le pide un programdor de PIC JDM, TE20, TE20x o el más nuevo TE20SE. Usted decide.


Imagen

Imagen

Saludo.

EDITO:

Cada vez que quiero medir la tensión del USB que son 5V, se me apaga la PS2. Cosa rara. Es muy sensible.
Koolk escribió:¿Dónde lo vamos a conectar? Dentro de la PS2 o con fuente de alimentación externa. Eso es lo primero que debes preguntarte. Si hay que coger 5V por ahí en la PS2 que no le afecte lo cogeremos, pero debo saber cuando consumen en total. Los Led del LCD consume lo suyo, así que cogeré la tensión en la PS2 corriente por ahí.


Yo lo conectaría directo a la fuente de alimentación, pasando por un fusible y un 7805 para conseguir 5v estables. La fuente puede de sobra con el pic y el lcd (aunque desconozco su consumo)

Ten en cuenta que la fuente está diseñada para aguantar lo suyo, ejemplo de ponerla a tope: Consola con dvd dentro, volcando un juego al hdd, con 8 memorys, 8 mandos, el consumo de los adaptadores, y 2 discos externos usb. Sí, una burrada que no hace nadie, pero lo aguanta. Dudo mucho que el lcd tire más que un hdd, por ejemplo.

En cuanto a la imagen, ese estado sería cerrando, ya que cuando apagas con la bandeja abierta y luego enciendes, la bandeja se cierra (da igual que pulses eject o reset). Es un pelín rebuscao pero son cosas que hay que tener en cuenta. Buen apunte ,jejejej


Los programadores me lo miro a ver que tal, gracias

Saludos

PD: Parece que este hilo sea exclusivamente nuestro, y me consta que aquí hay gente que domina mucho de hardware de ps2, gente que con solo mirar sabrían ayudarnos con nuestros problemas al detectar lectura de mc o giro del motor.. ¿Donde estáis?

EDIT; Ahora que lo pienso serían dos estados, stamby con bandeja abierta (cuando vuelve la luz) y encendida cerrando bandeja (estado 5)
airam1809 escribió:
Koolk escribió:¿Dónde lo vamos a conectar? Dentro de la PS2 o con fuente de alimentación externa. Eso es lo primero que debes preguntarte. Si hay que coger 5V por ahí en la PS2 que no le afecte lo cogeremos, pero debo saber cuando consumen en total. Los Led del LCD consume lo suyo, así que cogeré la tensión en la PS2 corriente por ahí.


Yo lo conectaría directo a la fuente de alimentación, pasando por un fusible y un 7805 para conseguir 5v estables. La fuente puede de sobra con el pic y el lcd (aunque desconozco su consumo)

Lo haremos así como dices.

Ten en cuenta que la fuente está diseñada para aguantar lo suyo, ejemplo de ponerla a tope: Consola con dvd dentro, volcando un juego al hdd, con 8 memorys, 8 mandos, el consumo de los adaptadores, y 2 discos externos usb. Sí, una burrada que no hace nadie, pero lo aguanta. Dudo mucho que el lcd tire más que un hdd, por ejemplo.

Cierto. Entonces no hay problema, querías hasta conectarlo en el USB, que por cierto, cada vez que lo mido con el tester se me apaga la SP2. El LCD lo acaba de comprobar, que los LED de retroiluminación que son muchos, consumen aproximadamente 140 mA a 5V.

En cuanto a la imagen, ese estado sería cerrando, ya que cuando apagas con la bandeja abierta y luego enciendes, la bandeja se cierra (da igual que pulses eject o reset). Es un pelín rebuscao pero son cosas que hay que tener en cuenta. Buen apunte ,jejejej


Los programadores me lo miro a ver que tal, gracias

Eso, pueden dar pistas. ejjeje.

Saludos

PD: Parece que este hilo sea exclusivamente nuestro, y me consta que aquí hay gente que domina mucho de hardware de ps2, gente que con solo mirar sabrían ayudarnos con nuestros problemas al detectar lectura de mc o giro del motor.. ¿Donde estáis?

A ver si vienen algún día gente. Porque se que hay gente que le interesa los LCD.

EDIT; Ahora que lo pienso serían dos estados, stamby con bandeja abierta (cuando vuelve la luz) y encendida cerrando bandeja (estado 5)
La alimentación hay que pillarla directa de la fuente, de reguladores de la placa se son pueden presentar dos problemas: Que en stamby no de voltaje, y que sea mucha carga y petemos algo.

Por cierto, para esa fuente, 140 mA no son NADA, incluso 750mA los llevaría bien, y si me apuras, hasta 1A ajustadito...

Ahora te toca a tí, no sé que más te puede hacer falta. Cualquier cosa me dices

Saludos
Hola:

Imagen

Ahora mismo estoy analizando la Tabla de la Verdad para empezar a programar y si no hay cosas
raras.

Voy estar un rato mirando bien y presentarla como hiciste.

Si no es molestia y cuando puedas, sacas fotos de todos los sensores para hacer como un mapa. Sensores desde la PS2.

Me he dado cuenta que en cada Memory Card hay que usar dos pines de los Led. Entoncen en el LCD se mostraría así:

>MC1* MC2

El símbolo > al lado de MC1 significa que está conectada a la PS2, y el * que parpadea mientras pasa datos al guardar o leer.

Si se te ocurre otra manera mejor avisa desde aquí.

Saludo.
Los sensores están todos por ahí atrás, aunque algo liados.

Lo vuelvo a poner, siguiendo las entradas de esta tabla

Imagen

De momento usaremos solo red (rc6), green (rc5), close (rc3), open (rc2), eject (rc1) y reset (rc0) ¿No? Serian estos:

Imagen

Saludos

EDIT: Has editao así que yo tambien xD

Me he dado cuenta que en cada Memory Card hay que usar dos pines de los Led. Entoncen en el LCD se mostraría así:

>MC1* MC2

El símbolo > al lado de MC1 significa que está conectada a la PS2, y el * que parpadea mientras pasa datos al guardar o leer.

Si se te ocurre otra manera mejor avisa desde aquí.


Me parece bien pero.. como detectas que está conectada?
Imagen

    1) ¿Los botones Reset y Eject en modo normal, sin pulsar está a 1 o a 0?

    2) Los Leds Green y Red habías dicho que están en bajo. ¿Cierto?

    3) ¿Open y Close? Cuando la bandeja está abriéndose y cerrándose está 1 a 1. ¿Realmente es así?

Quiero estar seguro de todo. El ensamblador es muy incómodo rectificar en medio de la programación. Por eso hay que hacer las cosas muy segurias y bien hechas desde el principio.

En cuanto me confirme continuaré una nueva tabla de la verdad.

En cuanto a la memory Card. Lo detecta porque conectaré los pines al PIC. Dos pines por tarjeta de memoria. El Power y el de transferencia de datos.

Imagen
Veo cosas raras en la primera imagen.. mc3? mc4? mc5? :S

1) ¿Los botones Reset y Eject en modo normal, sin pulsar está a 1 o a 0? Sin pulsar = 1, pulsando = 0 (Pero hay que tener en cuenta que el cero lo detecta el pic sin problemas, y el 1 es posible que no, pues el voltaje varia de 3.45 a 4v)

2) Los Leds Green y Red habías dicho que están en bajo. ¿Cierto? Cuando led encendido = bajo, led apagado = alto (pero lo mismo de los voltajes)

3) ¿Open y Close? Cuando la bandeja está abriéndose y cerrándose está 1 a 1. ¿Realmente es así? Debes programar esa parte como open = x ,close = x, por el mismo problema de los voltajes de siempre

--
Lo de soldar el power al puerto de mandos no creo que funcione, ten en cuenta que ahí hay un voltaje siempre, este conectada la memory o no.

Saludos
metiendo la cucharota donde no me llaman, pero....

... asi como yo, hay muchos que no usan discos (DVDs), solo usamos pendrives o discos duros externos, los cuales conectamos por medio de los puertos (2) USB que tiene el PS2.
pueden tomarlos en cuenta (si es que ustedes quieren) para alguna programacion, o tambien para que cuando se conecte un pendrive o DD externo, con un led, indicar que esta leyendo o que esta conectado.

yo utilizo un DD externo y el volante conectado a los puertos usb, se veria muy bien leds parpadeando constantemente cuando la informacion fluye.

bueno, es una idea, asi como la idea de las memory cards, pero colocar los leds en la carcasa del PS2.

4 leds, uno para la memory card 1, otro para la memory card 2, otro para el puerto usb 1 y el otro para el puerto usb 2.

http://i34.servimg.com/u/f34/12/64/46/27/jnsyoy10.gif

http://i34.servimg.com/u/f34/12/64/46/27/usb1al10.png

http://i34.servimg.com/u/f34/12/64/46/27/usb-di10.png

Ruddi.

salu...

PD EDITO ¿como puedo poner la foto para que se vea?
Bienvenido eres vita1911 ;)

vita1911 escribió:yo utilizo un DD externo y el volante conectado a los puertos usb, se veria muy bien leds parpadeando constantemente cuando la informacion fluye.


Se me ocurre que esa información se podría mostrar en el lcd de la misma manera que hacemos con las memorys, lastima que por google no encuentro nada para monitorizar el puerto usb... Esperemos a que se pase el jefe a ver que nos dice

PD: Hacer eso con el hdd ide interno si sería posible además de fácil, pues la consola ya lleva un testigo para eso...

Saludos
vita1911 escribió:metiendo la cucharota donde no me llaman, pero....

... asi como yo, hay muchos que no usan discos (DVDs), solo usamos pendrives o discos duros externos, los cuales conectamos por medio de los puertos (2) USB que tiene el PS2.
pueden tomarlos en cuenta (si es que ustedes quieren) para alguna programacion, o tambien para que cuando se conecte un pendrive o DD externo, con un led, indicar que esta leyendo o que esta conectado.

Lo tendremos en cuenta. Hay que hacerlo paso por paso y si es que realmente se puede hacer y logro hacerlo.

yo utilizo un DD externo y el volante conectado a los puertos usb, se veria muy bien leds parpadeando constantemente cuando la informacion fluye.

bueno, es una idea, asi como la idea de las memory cards, pero colocar los leds en la carcasa del PS2.

4 leds, uno para la memory card 1, otro para la memory card 2, otro para el puerto usb 1 y el otro para el puerto usb 2.

Imagen

Imagen

Imagen

Ruddi.

salu...

PD EDITO ¿como puedo poner la foto para que se vea?


En el enlace para fotos se pone introduciendo por medio esta estiqueta. [img]y%20cerrarla%20con[/img]. Justa arriba hay un botón a la hora de postear que se llama Img.

airam1809 , lo de la MC3, MC4 y MC5 es un error mío, jejeje.
una pregunta...

... de que voltaje es el ventilador de la ps2 fat?
veo que tiene unos cablecitos sumamente pequeños.
aguantara 12V?
no digo que se caliente mucho, pero mejor que sobre y no que falte.

Ruddi.

salu...
@vita1911, Aguanta 12v sin problemas. En cuanto a leds usb a ver si tienes alguna información

@Koolk, hdd interno lo he estado mirando es es facil de implementar. Hay un punto en la placa que cuando se lee/escribe el hdd = 0

Saludos
airam1809 escribió:@vita1911, Aguanta 12v sin problemas. En cuanto a leds usb a ver si tienes alguna información


Aguanta 12V, 0.16 Amp. Consume muy poquito, alguno ventiladores de PC consumen idéntico al de la PS2, lo normal para PC son 12V, 0.26A. Si saco energía de esos ventiladores, el ventitador ventila poco. jejejeje. Suena gracioso pero es así. Mejor no tocarlo.


@Koolk, hdd interno lo he estado mirando es es facil de implementar. Hay un punto en la placa que cuando se lee/escribe el hdd = 0

No sabía eso del disco duro. Es bueno saberlo. Voy a volver hacer otra tabla de la verdad. Es bueno sacar esquemas de esto y fotos.

Saludos
Foto del punto en cuestión:


Imagen


Es sacado de los esquemas de un modchip, de ahí tanta letrita...

Saludos
¿Has comprobado que ahí es el punto exacto para el Led del disco duro?

Lo tendré en cuenta.
Puedes comprobarlo tu mismo para más seguridad. Te tiene que dar continuidad con el cátodo del led del hdd

Imagen

El lo mismo soldar en un lado que en otro, solo te señalé ese punto (el de arriba) porque pensé que te sería más fácil de soldar

Saludos
airam1809 escribió:@vita1911 En cuanto a leds usb a ver si tienes alguna información

Saludos


yo decia, asi como los leds de las memory card, que se tomara la "corriente" o energia, desde la misma tarjeta del ps2 fat.
lo que no se, es si afecta la perdida de energia (por consumo del led) la informacion que fluye.

tomar la energia de "por aqui" (no se de donde XD)

http://i34.servimg.com/u/f34/12/64/46/27/dibujo10.jpg

@Koolk: yo decia para poner el ventilador directo.
creo que tiene alguna resistencia que lo hacer girar muy lento.

@airam1809 y @Koolk:
el ventilador de la ps2 slim, tiene 3 cables, rojo, negro y amarillo. rojo (+), negro (-), amarillo (?).

Ruddi.

salu...
71 respuestas
1, 2