Autor Tema: Reloj digital de Ajedrez con LCD (finalizado)  (Leído 19953 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #15 en: 12 de Agosto de 2010, 21:06:15 »
.


Ya tengo pensada y espero poder tener lista para fin de año la nueva versión del reloj. No quiero adelantar nada para no arruinar la sorpresa  ;-)
Así que si alguien está por hacer su reloj, tal vez quiera esperar unos meses más.

¡Saludos!

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado JJKANON

  • PIC10
  • *
  • Mensajes: 5
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #16 en: 18 de Agosto de 2010, 14:39:26 »
Felicidades aunq soy algo nuevo en lo que es programacion en Pic, yo programo mas en PicBasic Pro, seria mucha molestia si alguien me explica como programar lo mismo en PicBasic  Pro

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #17 en: 19 de Agosto de 2010, 14:24:27 »
.


Mm.. Yo de Basic no se nada. Pero como es de alto nivel seguramente el programa ocupe más memoria que en asm.. Y para este proyecto, con ese uC, me sobraron 20 bytes de memoria nomás. Así que no creo que pueda hacerse en un 16F628A en Basic. Sí con algún otro.

¡Saludos!

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado JJKANON

  • PIC10
  • *
  • Mensajes: 5
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #18 en: 21 de Agosto de 2010, 09:40:18 »
.


Mm.. Yo de Basic no se nada. Pero como es de alto nivel seguramente el programa ocupe más memoria que en asm.. Y para este proyecto, con ese uC, me sobraron 20 bytes de memoria nomás. Así que no creo que pueda hacerse en un 16F628A en Basic. Sí con algún otro.

¡Saludos!




Gracias por responder, yo tengo pensado usar un Pic16F877A con lo que el problema de memoria se puede resolver... :)            Lo q no logro hacer son el manejo de interrupciones, o podria explicarnos la logica del programa de detener uno y poner el otro reloj a funcionar, yo vi un cronometro q usa interrupciones y yo trate de hacerlo asi solo q dos cronometros en retroceso pero no me funciona bien... Bueno agradeceria cualquier forma que me pueda apoyar...
De nuevo gracias por responder               

Desconectado JJKANON

  • PIC10
  • *
  • Mensajes: 5
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #19 en: 21 de Agosto de 2010, 10:05:44 »
Y ya q usted como varios q pasamos por este foro, amamos al ajedrez, que tal el proyecto de hacer un tablero con comunicacion a la PC de alta velocidad para captar todas las movidas incluso en la modalidad de ping-pong, asi hasta 3 minutos la partida, si usamos como una matriz se necesitaria 16 salidas y creo q un pic 16f877a soporta las 16 salidas, ahora para nuestra comunicacion con Pc un pic18f4550 me se las funciones de los pic mas no me se la forma de comunicarlos pic a pic ni pic a pc... Que tal si es usted asi de mucha mas experiencia q varios de nosotros puede usted proponer el tema y a ver si se interesan los expertos en comunicacion Pic-Pc y logramos nuestro tablero de ajedrez para retransmisiones o cosas por el estilo...

Salu2...

Y gracias por responder...

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #20 en: 21 de Agosto de 2010, 14:22:18 »
.

Citar
(...) podria explicarnos la logica del programa de detener uno y poner el otro reloj a funcionar (...)

Al iniciar la programación tuve que optar por 2 maneras de controlar los tiempos: una era tener registros en la ram que almacenaran los tiempos actuales de cada jugador en todo momento, y la otra era leer del módulo LCD los tiempos a medida que los necesitaba. Elegí esta última porque presentaba una ventaja: todo lo que tenía que hacer para cambiar de reloj era leer y escribir en posiciones distintas de la pantalla del LCD. Entonces lo que tengo guardadas son las direcciones desde donde tengo que leer/escribir:

LCDH1   ; VARIABLES PUNTERO A TIEMPO EN EL LCD.
LCDM10   ; GUARDAN LA INSTRUCCION PARA ACCEDER A LA DIRECCION DEL DDRAM DEL LCD CORRESPONDIENTE AL
LCDM1   ; JUGADOR AL CUAL SE LE ESTA MODIFICANDO EL TIEMPO).
LCDS10  ; POR EJ, SI SE LE ESTA RESTANDO TIEMPO AL DERECHO, EL REGISTRO LCDS1 GUARDARA 0x8F.
LCDS1

Cuando se pulsa para terminar el turno, lo único que hay que hacer es modificar estos registros y poner en ellos las direcciones correspondientes al reloj de la derecha o al de la izquierda. El programa hace siempre lo mismo, simplemente va a las direcciones indicadas por estos registros sin preguntarse nunca de cuál reloj está leyendo.
De esta forma, el uC nunca sabe cuánto tiempo tiene cada reloj, pero realmente no es necesario que lo sepa  ;-)
Es más, aunque no esté implementado en esta versión, es posible retomar el programa sin problemas en caso de un reset, dado que los valores de tiempo están seguros en la memoria del LCD.

Sobre la posibilidad de un proyecto para una interfaz para PC con forma de tablero real.. Debo admitir que ya lo vengo pensando hace tiempo. La idea es tener un pequeño brazo robótico que mueva por el oponente, para poder jugar por internet de manera un poco más real. Ayer estuve viendo unos videos y se me ocurrió que podría empezarse con un tablero sin brazo, conectado a la PC (por USB, o lo que sea.. incluso podría ser bluetooth) que tenga casilleros más o menos transparentes y que, por medio de luces debajo de ellos, indiquen los movimientos contrarios. Lo más desafiante sería la implementación del soft para PC  :?
Aunque por ahora no tengo planeado empezar con esto.. porque tengo varias cosas que terminar primero jajaja. Pero seguro lo haré pronto..

¡Saludos!
When you see a good move, look for a better one (Emanuel Lasker)

Desconectado JJKANON

  • PIC10
  • *
  • Mensajes: 5
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #21 en: 23 de Agosto de 2010, 11:20:02 »
Gracias por el apoyo, cuando logre armarlo con el picbasic pro te lo paso... Salu2

Desconectado prodas

  • PIC10
  • *
  • Mensajes: 11
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #22 en: 31 de Agosto de 2010, 11:09:40 »
 mtristan si fueras tan amable de colgar le .hex porque he probado tu programa y se me cuelga creo que tengo alguna configuración mal colocada

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #23 en: 31 de Agosto de 2010, 12:40:50 »
.


Perdón, fue una torpeza no haber subido el hex en el primer mensaje  :oops: Ahí lo adjunto (reloj_lcd.hex... si mal no recuerdo es éste  :mrgreen:).
¿Cómo es eso de que se te cuelga? ¿Al compilar o ejecutándolo en el pic?

¡Saludos!

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado prodas

  • PIC10
  • *
  • Mensajes: 11
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #24 en: 20 de Octubre de 2010, 16:52:14 »
Se me colgaba ejecutando nunca iniciaba voy a probar con el hex que pones

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #25 en: 21 de Octubre de 2010, 16:09:34 »
.

Ok. Una duda ¿estabas simulando o probando en un uC real?

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado seniorpic

  • PIC10
  • *
  • Mensajes: 2
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #26 en: 25 de Junio de 2012, 11:33:13 »
mtristan .....eres un G E N I OOOOOOOOOO.................... , Gracias

Desconectado PulKon

  • PIC12
  • **
  • Mensajes: 70
Re: Reloj digital de Ajedrez con LCD (finalizado)
« Respuesta #27 en: 28 de Septiembre de 2012, 15:59:44 »
Muy bueno, lo voy a armar, gracias por compartirlo.
La felicidad no consiste en tener lo que quieres, sino en querer lo que tienes.