TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: lucho_asd en 03 de Diciembre de 2007, 17:16:31
-
Hola, alguien sabe como se podria hacer un tablero con sensores y comunicacione al pc via serie para emular el DGT BOARD q sale unos $3000 argentinos?
el q esta en esta pagina
http://www.ventajedrez.com/dgteasy/dgteasy.html
yo no encontre mucho material al respecto alguien conoces algo?
Muchas gracias y espero q no se pinche esto :P
-
me olvidaba tengo un pdf de un proyecto de uno para ciegos q se conecta tambien por puerto serie pero lo unico q hace es guardar la partida en PNG no habla nada de poder conectarlo con fritz ni nada
esta echo con un 16f877 si alguien lo quiere avisen y asi desmantelamos todo
Saludos
-
http://cobweb.ecn.purdue.edu/~dsml/ece477/Webs/F06-Grp05/index.html
-
?
-
?
Creo que Jesus quiere que mires el sitio que ha linkado. En el veras una mesa de poker que funciona de manera similar a tu tablero de ajedrez, y dice por ahi.....RFiD. Que es el secreto detras de la posicion de las fichas ! :)
Saludos!
-
si, puede ser :? lastima q no tiene mucho q ver, igualmente gracias
-
Hola Lucho!
Al contrario...tiene MUCHO que ver.
Poniendo TAGS RFiD a cada pieza y sensores en las casillas (mas un poquito de hard y soft) , tienes resuelto el problema.
Saludos!
-
Perdón por mi mensaje críptico; me surgió un contratiempo.
Me refería precisamente a lo que dice aitopes: identificar las piezas mediante etiquetas RFID, pero claro, ¿habría que poner un lector en cada casilla del tablero? Iba a salir un poco caro.
Otra alternativa podría ser colocar ibuttons (http://www.maxim-ic.com/products/ibutton/) en las bases de las piezas para identificarlas, y de este modo los lectores nos saldrían más económicos.
-
A mi se me ocurre usar pulsadores para cada posicion del tablero , y detectar cuando un pulsador es liberado o cuando es presionado, me explico. Al inicio 32 pulsadores debera estar presionados, y necesitariamos un boton aparte de START para indicarle al uControlador que comenzara la partida, entonces si se quiere mover el peon del rey este sera levantado, esto liberara el pulsador correspondiente a esa casilla y el microcontrolador sabra que se mueve el peon del rey , Como? al inicio el microcontrolador deberia tener la informacion de la posicion inicial de cada ficha, luego cuando el peon sea colocado el PIC vera que pulsador ha sido cerrado y estara en condicion de enviar la informacion a la computadora.
Posicion (Fila Columna) del pulsador liberado
Ficha que se encontraba anteriormente ahi
Posicion (Fila Columna) del nuevo pulsador presionado.
Debido a que la computadora tiene mas capacidad de procesamiento , esta podria hacerse cargo de revisar si la ficha ha sido movida correctamente, bueno esa la solucion que a se me ocurre , espero que ayude.
-
A mi se me ocurre usar pulsadores para cada posicion del tablero , y detectar cuando un pulsador es liberado o cuando es presionado, me explico. Al inicio 32 pulsadores debera estar presionados, y necesitariamos un boton aparte de START para indicarle al uControlador que comenzara la partida, entonces si se quiere mover el peon del rey este sera levantado, esto liberara el pulsador correspondiente a esa casilla y el microcontrolador sabra que se mueve el peon del rey , Como? al inicio el microcontrolador deberia tener la informacion de la posicion inicial de cada ficha, luego cuando el peon sea colocado el PIC vera que pulsador ha sido cerrado y estara en condicion de enviar la informacion a la computadora.
Posicion (Fila Columna) del pulsador liberado
Ficha que se encontraba anteriormente ahi
Posicion (Fila Columna) del nuevo pulsador presionado.
Debido a que la computadora tiene mas capacidad de procesamiento , esta podria hacerse cargo de revisar si la ficha ha sido movida correctamente, bueno esa la solucion que a se me ocurre , espero que ayude.
Es una muy buena idea. Sobre todo economica. Incluso podria hacerse sin partes mecanicas, simplemente poniendo un iman en la base de cada ficha y un sensor hall o algun tipo de sensor magnetico dentro del tablero.
Saludos!
-
Yo creo que el principal problema es saber el protocolo de comunicación con el PC.
Un saludo
-
gracias por las ideas! ya tengo por donde agarrame!! pero tiene toda la razon jfh900 el principal problema es EL PROTOCOLO!! yo hice lo siguiente:
cree un puerto virtual serie como para monitorear los mensajes q envia el programa al tablero! los pude ver, pero si el tablero no le envia nada a este puerto virtual entonces nunca dice q esta conectado! esta complicado pero voy a seguir investigando!
Muchas Graciass!!
-
Por lo que veo es un protocolo serial, no es asi???
Para estos casos yo utilizo el software Port Monitor, que permite ver en ASCII o HEXA lo que viene y va por el puerto...
Luego, papel, lapicera, paciencia y saliva (como el elefante con la hormiga) y a descular el protocolo!!!! :mrgreen: :mrgreen:
-
Hola Amigos, yo no colocaria pulsadores, lo que haria son colocar reed swich en cada casilla, y un iman en la base de cada pieza :mrgreen:, luego la aplicacion como manifesto Sander
Un abrazo
Norberto
-
Tambien apoyo la idea de los imanes y los reedswitchs, creo que incluso si la superficie del tablero es metalica las piezas quedarian inmoviles evitando caidas accidentales y demas. Respecto a lo del protocolo eso si va a ser una tarea que implique paciencia, espero no teminemos como la hormiga de MGLSOFT, jaja
-
sigo agradeciendo voy a ponerme con el port monitor y luego les cuento la idea mia es ponerlo como proyecto y empesar a desmantelarlo! MUCHAS GRACIAS
-
Hola! estuve usando el portmonitor y barbaro veo todos los datos q va para el "tablero q no lo tengo" pero lo q va del tablero al puerto serie jamas lo voy a poder ver si no tengo el tablero! a alguien se le ocurre alguna idea?
MUCHAS GRACIAS!
-
La primera idea que puse se referia a realizar ambos, el tablero y el programa para la computadora, cuando lei que tenia que ser compatible con un programa ya hecho pense en conseguir un tablero y monitorear la comunicacion , a falta de tablero , no que mas que buscar el protocolo.
Se podria empezar en la empresa que desarrollo el software con el que quieras que sea compatible , talvez tengan alguna informacion sobre el protocolo , por lo menos averiguar el nombre, otra es que coloques algunas de las tramas en este foro , talvez a algun forista se le haga conocido.
Saludos
-
Hola me presento, saludos a todos
Este tema está muy interesante. Ojalá cambiara a crear un sistema propio para jugar ajedrez con el PC de este modo.
De hecho algún día haré mi propio sistema que juegue con un brazo robótico moviendo las piezas. De hecho hay software libre que entrega las fuentes que permiten hacer su propio programa para jugar ajedrez competitivamente.
Pero de acuerdo al tema:
Lo de poner solo switches en las casillas no me parece porque habría que reconocer las piezas y el color de estas para la precisión que merece el sistema. Si bien se podría llevar la cuenta, ¿ que pasaría con los movimientos erróneos y cuando un peón corona en caballo por ejemplo?
Son solo 6 piezas distintas de cada color, 12 en total, bastaría una información de 4 bits.... o esa precisión. Ya estoy pensando en un método que no sea muy caro.
Respecto a lograr descifrar la comunicación que usan con el PC, parece una batalla perdida si al menos no se cuenta con un equipo funcionando.
-
Por lo poco que sé de ajedrez, el tema de los movimientos erróneos podría resolverse al detectar un movimiento igual al último, pero en sentido inverso. Obviamente no serviría para deshacer movimientos erróneos una vez que ha jugado el siguiente turno, pero creo que esto tampoco sirve en la realidad.
Y para coronar un peón en caballo, creo que basta con que llegue a la última fila. También esto se puede saber llevando la cuenta de las posiciones.
-
nada por el momento :(
-
que tal este tablero que presentaron en la CES 2008
-
tengo un dato quiza pueda servir!
los movimientos por lo menos con fritz o chessbase (de lo mejor de ajedrez) se pueden hacer via cordenada sin necesidad de presionar el ENTER del teclado por ej
empiesan blancas si tecleas tal cual asi ---> e2e4 el peon avanza 2 en el centro! y asi con cualquier movimiento valido
ahora la pregunta es hay una forma de enviar caracteres ascii a la pc con un pic?
Muchas gracias!!
-
Por supuesto que si!!
Solo deberias describir cuales serian todas las posibilidades que se pueden enviar... :mrgreen: :mrgreen:
-
letras serian de la "A" hasta la "H" y numeros del "1" al "8" es decir 64 conbinaciones posibles con numeros y letras!
Como seria el tema de ingresar caracteres entonces?
Saludos.
-
Averigua si es posible enviarle datos por el puerto serial, sino la opcion es emular un teclado y alli hay un proyecto genial, creo que de Redpic... :mrgreen:
-
Hola claro q si! osea el tablero en realidad se conecta via puerto serial , analiza las posicion cada 5 segundos , la muestra en pantalla! con la idea de poner la posicion q uno quiere y listo (de la manera de las cordenadas de teclado seria para empesar una partida de 0 y jugarla) no se si me explico, pero buee es una buena alternativa para jugar con la pc ademas se podria poner la posicion q uno quiere por "hardware" y por soft de forma manual , luego mover f3f6 por decir algo!
Por lo que lei el DGT BOARD funciona asi cada 5 segundos sabe que pieza y en que casillero esta (cada pieza tiene un ID propio) pero el tema es el protocolo q jamas lo sabremos :(
Asique basicamente lo q se me ocurre es por ej :
primera fila segunda columna esta el caballo entonces cuando se levanta el caballo q el pic diga b2 (en caracteres de teclado) a la pc y luego a donde va a parar cuando apolle en el casillero q diga c3 (tercera fila tercera columna) y se estaria moviendo!
Si saben como hacer eso avisen por favor!! muchas gracias a todossssss
-
Hola claro q si! osea el tablero en realidad se conecta via puerto serial , analiza las posicion cada 5 segundos , la muestra en pantalla!
5 segundos no es una eternindad en una partida de ajedrez? Creo haber visto partidas rapidas donde en ese tiempo se hacen 3 o 4 movidas (sino mas). En ese caso el tablero se desactualizaria... Quizas sean 5 lecturas por segundo, y no una cada cinco segundos...no?
Saludos!
-
Hola a todos.
Para el tema del protocolo mira esta dirección: http://www.dgtprojects.com/develop.htm
DGT Electronic Board Protocol Description (h - 29 Kb - updated: 1998)
The description of single and multiboard communcation in a C header file.
BDComm (zip - 253 Kb - updated: ??)
Application for testing PC communication with the DGT Chessboard
CommDemo (zip - 198 Kb - updated: ??)
· C-language unit and source code for communication with DGT Electronic Chessboard.
· A simple demonstration program, with source code.
Uses two Win32 API functions to access the COM port.
PGN Clock Times Extension (txt - 15 Kb - updated: ??)
Info on a development group's proposal for a PGN extension to add clock information to each move. DGT Projects supports this proposal, and encourages developers who use PGN to enhance their programs to support the newly-defined functions.
Saludos 8)