Projets:Perso:2011:Echiquier
Interface de jeu | |
---|---|
Auteur | Jeff |
Date de proposition | 28/08/2011 |
Tags du projet | PPC |
Lieu d'utilisation final | Anywhere |
Utilisateur final | Youngsters |
Type de projet
Projet personnel de Jeff |
Jouer (et se faire écraser) aux échecs contre un ordinateur, c'est bien ; mais avec des vraies pièces plutot que sur un écran, c'est mieux.
|
Introduction
Donne un appercu des tenants et aboutissants du projet.
Objectifs
Fabriquer un plateau d'échecs électronique pas cher (moins de 150 euros) et :
- rendre ce plateau compatible avec les logiciels actuels (compatible DGT : http://digitalgametechnology.com/site/index.php/Electronic-Boards/)
- en faire également un plateau autonome, avec un logicel libre adapté au microcontroleur retenu ; élo visé de 1600 (jouer de club) sur Arduino à 2400+ (grand maitre) sur carte plus performante
- participer au tournoi français d'échiquier électroniques de Paris-Saints en 2012 (http://www.zanchetta.net/default.aspx?Categorie=ECHIQUIERS&Page=paris-saints)
- mettre les plans, schémas, logiciels nécessaire à la construction sur un site collaboratif (in english)
- en profiter pour apprendre quelques trucs en electronique vu que je pars de zéro :p
Principe
- Les pièces sont dotées d'aimants et le plateau est équipé de 64 interrupteurs ILS (reed switch) ; ces interrupteurs sont organisés avec une matrice de diodes de manière à ce que seulement 16 pins soient nécessaires à la lecture de l'échiquier
- Le lien entre un PC et l'échiquier est effectué via l'interface série émulée de l'Arduino
- La logique du jeu et la validation des coups légaux avant transmission au PC se fait dans l'Arduino
- On ajoute un écran LCD permattant le paramétrage ainsi qu'en offrant un fonction de pendule
Fonctionnalités
Le plateau doit avoir 3 modes de fonctionnement :
1: Mode émulation DGT
Il s'agit d'un mode ou le plateau est complètement esclave d'un PC (pour jouer sur internet, ou contre un logiciel tournat sur le PC). Le but est d'émuler du mieux possible un plateau DGT ; (protocole ici : http://digitalgametechnology.com/site/index.php/Download-document/85-DGT-Electronic-Board-Protocol-Description-version-200912.html) On pourra également enregistrer les parties ou gérer l'horloge sur l'écran LCD.
2: Mode plateau autonome
Le but est ici de pouvoir jouer contre le plateau SANS le connecter à un PC. Il s'agit surtout de développer un logiciel adapté à la plateforme (ou sont passés mes gigaoctecs de RAM? :p). Je disopoe d'une bonne base avec mon logicicel maison : http://gaiachess.free.fr
3: Mode module UCI
Le but est de pouvoir faire jouer le plateau comme si c'était un programme 'normal' dans le PC grace au protocole UCI (http://wbec-ridderkerk.nl/html/UCIProtocol.html). On utilisera principalement ce mode pour faire des tests de positions ou contre d'autres programmes lors du développement.
Réalisation
Prototype 1
Réalisation d'un plateau 2x2 cases et détection des pièces
Matériel
- Carte arduino MEGA 2560 (49€) (http://arduino.cc/en/Main/ArduinoBoardMega)
- 4 diodes + 4 interrupeurs ILS (moins de 3€)
- Du carton
Objectifs
- Prise en mains et validation de la plateforme Arduino
- Validation de l'idée de la matrice de diodes
Réalisation
28/08/2001 : Le prototype fonctionne ! Détection OK sur quel que soit le nombre de pièces. Voir photo : http://www.wuala.com/api/preview/jromang/Photos/Public/IMGP7730.JPG
Problèmes rencontrés
- Lecture de valeurs aléatoires sur les entrées de l'Arduinio - solution passage en mode "pullup" sur les précieux conseils de Clem
- "Mais pourquoi ca fait des grosse patates d'étain quand je soude?" - solution demander mardi prochain :p
Prototype 1.5
le même que le 1, mais avec un plateau en bois. L'objectif est de tester si ca fonctionne encore/de trouver un moyen pour que ca fonctionne encore !
Matériel
- cf ci dessus (identique)
- Du bois
- différents aimants, de différentes forces.
- outillage: une défonceuse
Objectifs
- tester la réalisation du plateau en bois (épaisseur max admissible selon aimants, etc)
Réalisation
- TODO
Problèmes rencontrés
- trouver une défonceuse (yen a t il une au lab ? Sinon, est-ce que quelqu'un peut ramener/prêter ca ?)
Prototype 2
Réalisation d'un plateau 8x8 cases et détection des pièces.
Matériel
- Carte arduino MEGA 2560 (49€) (http://arduino.cc/en/Main/ArduinoBoardMega)
- 64 diodes + 64 interrupeurs ILS (~40€)
- Un écran LCD
- Du plastique/plexi transparent
- Un set de pièces magnétiques (facile a bricoler)
Logiciel
- Implémenter un générateur de mouvements légaux dans l'Arduino
- Implémenter le protocole DGT
- Gestion de l'écran LCD (affichage de la position, pendule)
- Implémenter un module simple pour le jeu autonome
Objectifs
Il s'agit ici de construire le plateau interrupteurs/diodes "définitif" qui servira pour tous les protos suivants
Réalisation
En cours ! :)
Questions ouvertes/problèmes
acteurs impliqués dans le projet
- Jeff
- Clem (malgré lui car je vais probablement lui poser plein de questions ^^)
- Toute personne intéressée est bienvenue !
Macro planning
- aout 2011: protoype 1 (FAIT)
- septembre 2011 : partie "hard" du prototype 2
- octobre 2011 : implementation du générateur de mouvements et du protocole DGT
- novembre 2011 : module autonome