Bras Robot Joueur D'échec

Introduction: Bras Robot Joueur D'échec

Bonjour et bienvenue !

Dans ce tutoriel, je vais vous expliquer comment j’ai réalisé le bras robot joueur d’échec afin que vous puissiez en reproduire une version (peut-être meilleure ?) ou pour tout simplement comprendre son fonctionnement.

[Ce projet a été réalisé par Jérémie Donjat au Fab Lab de Brossard à l'été 2018]

Let’s go !

Step 1: Matériel

Voici la liste des matériaux que j'ai utilisé : (le lien du kit arduino est donné à titre d'exemple. Seul quelques modules montrés sur la photo ont été utilisés pour ce projet)

https://www.amazon.ca/Development-Membrane-Joystic...

- 1 Arduino Uno

- 1 Shield arduino avec breadboard intégrée (qui peut être remplacé par une simple breadboard).

- 1 module bluetooth HC-05

- 1 LCD 16*2

- 3 Servomoteur MG995

- 1 Stepper + shield

- 1 Résistance de 220 Ohms

- 1 capteur de fin de course

- 2 potentiomètres

- 1 bouton poussoir

- 1 Breadboard supplémentaire

- 1 prise 6v

- 1 Module prise adapté à la prise 6V utilisée

- 1 prise 9v (ou le câble USB Arduino ou une pile 9v)

- Logiciel Arduino (gratuit) : Arduino IDE https://www.arduino.cc/en/main/software

- Application Arduino Bluetooth Controler (lien dans la partie Code et application)

- Des fils (beaucoup)

- Des vis (beaucoup aussi)

Step 2: Structure Matérielle : L'armature Du Bras

Pour ce projet, je n'ai pas conçu moi-même l'armature du bras, mais j'ai imprimé en 3D le bras MK2 by EEZYbotARM que j'ai par la suite modifié pour qu'il corresponde à mes besoins.

On peut d'ailleurs trouver un instructable très détaillé de l'assemblage du bras fait par l'auteur sur thingiverse

Bras : https://www.thingiverse.com/thing:1454048

Pince : https://www.thingiverse.com/thing:969447

Pour la partie Bras, le modèle original prévoyais une rotation du bras par un engrenage se trouvant à sa base. Le problème, c'est que cette configuration devait prendre en compte beaucoup de variables (les angles du socle, du bras et du «coude») et rendait l'étape du codage beaucoup plus compliquée puisque chaque case du jeu d'échecs devait être codée manuellement.

Ma solution a donc été de substituer cet engrenage et ce socle par une glissière de numériseur afin que le bras se déplace sur un axe latéral. De cette façon, j'ai pu limiter le déplacement du bras à deux variables (latérale pour les rangées de cases et longitudinale pour les colonnes de cases).

Pour la partie Pince, j'ai utilisé un modèle trouvée sur thingiverse que j'ai ensuite collée avec de la colle forte au niveau du bras.

Step 3: Structure Matérielle : La Glissière Du Bras

Pour créer ma glissière, j'ai récupérer un vieux numériseur que j'ai démonté pour extraire la partie qui sert à faire bouger la tête qui numérise les documents (photo de gauche) . J'ai aussi récupéré le support (photo de droite) que j'ai légèrement modifié afin d'y fixer le bras (en collant une plaque en bois).

J'ai aussi remplacé le moteur de la glissière par un moteur 5V (avec shield intégré), car celui que j'avais était défectueux.

Step 4: Structure Matérielle : Le Support

Pour le support, j'avais l'avantage d'être dans un fablab, j'avais donc une découpe laser et une CNC sous la main, ce qui m'a permis de faire l'échiquier et le boitier du LCD facilement (Si ce n'est pas votre cas, vous pouvez toujours envisager utiliser d'autres solutions alternatives comme la bonne vieille scie manuelle).

Pour l'échiquier, j'ai pris une grande plaque de bois de récupération, la taille n'est pas nécessairement au millimètre près mais une planche de 50 cm par 50 cm fera l'affaire.

Ensuite, j'ai pris l'image d'un échiquier sur google que j'ai passée sous format vectoriel dans le logiciel Inkscape (logiciel open source et donc gratuit!). J'ai ensuite utilisé la découpe laser pour graver l'image et la CNC pour couper l'échiquier.

Enfin, j'ai découpé une boite (voir le fichier .svg) pour le boîtier LCD, les potentiomètres et le bouton poussoir avec la découpe laser (les ouvertures pour les potentiomètres et les câbles ont été faites à la perceuse). La boîte originale a été faite sur MakerCase, un logiciel en ligne : http://www.makercase.com/ .

Step 5: Structure Matérielle : Assemblage

Voilà, maintenant que nous avons toutes les pièces nécessaires, nous pouvons les assembler.

J'ai placé puis collé l'échiquier au centre de la plaque support. D'un côté, j'ai collé la boîte du LCD (dans laquelle j'ai collé l'écran LCD, les potentiomètres et le bouton poussoir). De l'autre, le bras robot et sa glissière.

Maintenant que la structure matérielle est prête, nous pouvons passer à la structure électrique.

Step 6: Structure Électrique : Connexion Des Composants

Voici le schéma fritzing de la connexion des composants (le shield n'est pas présent sur le schéma, car il sert juste à gagner de la place dans l'installation et à la rendre plus compacte).

Step 7: Structure Logicielle : Code Et Application

Voici le code que j'ai utilisé. J'ai essayé de mettre un maximum de commentaires pour faciliter sa compréhension.

Voici également le lien de l'application bluetooth pour commander le robot :

https://play.google.com/store/apps/details?id=com.giumig.apps.bluetoothserialmonitor&hl=fr

Step 8: Utilisation

Pour l'utilisation du bras robot, c'est très simple. On met sous tension le robot, on appareille le module bluetooth à son smartphone (nom du module : HC-05 et le code de connexion est "0000" ou bien "1234"). Ensuite on lance l'application Arduino Bluetooth Controler et on passe en mode terminal.

Il faut être deux joueurs pour faire une partie. Le robot ne sert qu'à déplacer les pièces, il ne possède pas l'algorithme pour "être un joueur".

Pour bouger une pièce, on tape sur le terminal : "A1 P C2" avec "A1" la case origine contenant la pièce à bouger, et "C2" la case destination (À noter que le robot ne connait pas le déplacement des pièces, à vous de ne pas tricher ;) ).

En même temps, l'écran LCD décompte le temps imparti pour chaque joueur (il s'arrête quand le robot bouge, ce n'est pas du temps de jeu), et passe la main à l'autre joueur lorsque le temps est écoulé.

On peut passer la main à l'autre joueur en appuyant sur le bouton poussoir, si on a réalisé son mouvement avant la fin du temps.

Le temps imparti peut être réglé grâce au potentiomètre de gauche (le plus loin de l'écran sur les photos) et prendra effet lors du tour du prochain joueur. Le deuxième potentiomètre, quant à lui, sert à régler la luminosité de l'écran LCD.

Step 9: Bilan Et Points D'améliorations

Ce robot sert de maquette de démonstration et il est possible de l'améliorer de plusieurs façons.

On pourrait y ajouter par exemple le mouvement de chaque pièce dans le programme (le robot connait l'appartenance des pièces aux deux joueurs), ou bien y introduire une fonction de reconnaissance vocale (un test avait déjà été réalisé, mais cela ne fonctionnait pas trop bien), ou encore tout simplement en améliorant son apparence par des modifications esthétiques (ici, j'ai choisi de laisser les fils apparents pour montrer les connexions, mais vous pourriez très bien les recouvrir).

As you wish !

Step 10: Démonstration

Voici un aperçu du robot en action.

Share

    Recommendations

    • Metalworking Contest

      Metalworking Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Fix It! Contest

      Fix It! Contest

    Discussions