TIC-TAC-TOE Robot (4 / 7 étapes)

Étape 4: Le Code

J’ai joint mon code. Je vais essayer de l’expliquer ici afin que vous pouvez l’utiliser avec votre robot et l’adapter si nécessaire. Ce code a été écrit pour l’IDE Arduino version 0022. Il devrait fonctionner dans les versions ultérieures, mais si vous rencontrez des problèmes, puis collent avec 0022 pour ce projet.

Vous aurez besoin d’un magicien de Micro (peu importe quelle version) et la bibliothèque microM qui peut être téléchargée ici : https://sites.google.com/site/daguproducts/home/arduino-libraries

Si vous préférez, que vous pouvez utiliser une autre carte Arduino. Vous aurez probablement besoin d’une maquette et cavalier fils pour raccorder un récepteur IR et vos servos. Vous préférerez peut-être utiliser multiprotocole IR bibliothèque de Ken Shirriff qui peut être trouvé ici : http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

Comme vous pouvez le voir j’ai décomposé mon code en sections logiques et mettez-les dans des onglets différents. Cela le rend beaucoup plus facile de modifier votre code.

[TicTacToe] ce premier onglet est votre code principal. C’est votre fonction Setup() où tous vos initialisation est effectuée et la fonction Loop() où le jeu est joué. La fonction Loop() consistent en 3 sections.

  1. Sélection du mode - le programme cherche à toutes les nouvelles commandes IR et modifie des modes si nécessaire.
  2. Les joueurs se déplacent - quand c’est votre tour cette section vous permet de faire votre déménagement.
  3. Robots se déplacent - selon le niveau de difficulté, différentes stratégies sont sélectionnés ici.

Après qu’un déménagement a été effectué, il est affiché sur le moniteur de la série. Le robot vérifie ensuite si on peut faire plus se déplacer et si tout le monde a gagné.

[IOpins.h] cet onglet est le schéma de câblage vous. Si vous souhaitez changer qui épingle un servo est connecté pour ensuite il suffit de changer le NIP ici.  Comme l’IR récepteur est câblé à D4 n’est pas répertoriée.

[Constants.h] cet onglet contient les constantes utilisées dans le programme. Codes de récepteurs infrarouges et des valeurs prédéfinies pour les servos de mécanisme de pince et épingles sont définies ici. Comme vous le robot sera différent à la mienne, vous devrez modifier ces valeurs en fonction. Toutes les valeurs sont en µS à utiliser avec la commande writeMicroseconds() .

[Calibrate] cette fonction sert à apprendre au robot correspondant à chaque position sur la carte. Au départ tous les postes sont égales aux deux servos de bras étant en position centrale. Que vous enseignez le bras, nouveaux postes sont enregistrés dans les processeurs EEPROM donc que même si l’alimentation est coupée le robot n’oublierons pas ce qui vous a enseigné.

[eepromFunctions] lorsque le programme exécute d’abord l’EEPROM est lue afin que le robot connaissent les positions du Conseil d’administration. Lorsque vous étalonnez le robot les nouvelles positions sont écrits dans l’EEPROM afin que lorsque l’alimentation est coupée le robot n’oubliera pas les positions.

[DisplayGrid] le jeu s’affiche sur le moniteur de la série pour des fins de débogage et permet de jouer les Tic Tac Toe contre le magicien Micro vous utilisez simplement un téléviseur distant. Le robot n’est nécessaire pour impressionner vos amis et votre famille et rendre le jeu plus amusant à jouer. 0 représente une position vide. Les boules de robots sont représentés avec un 1. Tes couilles sont représentés par 2.

[MoveArm] comme son nom l’indique, cette fonction déplace le bras d’un poste au Conseil d’administration à l’autre. mon code décompose le mouvement en petites étapes afin que le bras se déplace lentement et en douceur. Plus grands coups sont divisées en plusieurs étapes afin que tous les déplacements se produisent à peu près la même vitesse.

[CheckForWin] après chaque déplacement le jury est vérifié pour voir si il y a un gagnant. Toutes les lignes, colonnes et diagonales sont vérifiées pour 3 de la même chose.

[ClearBoard] à la fin du jeu pour robot recueille toutes les boules et les remet dans leur chute. Le robot s’appuie sur la mémoire afin de déterminer si le ballon appartient à l’acteur ou le robot et renvoie la balle à la goulotte correcte. Le mécanisme de la goupille déclenche les boules assez élevés pour la pince pour les recueillir et abaisse les boules à nouveau pour que le bras puisse bouger librement.

[RandomMove] au niveau plus facile, tous les mouvements de robots sont aléatoires. Ce mode est conçu pour enseigner aux enfants le jeu pour la première fois. Un mouvement aléatoire est également utilisé par le robot lors de l’échouent d’autres stratégies. Pour rendre le jeu moins prévisibles (plus agréable), quand c’est que les robots transformer de démarrer un jeu, le robot va commencer avec un déplacement aléatoire.

[BlockPlayer] cette fonction est utilisée par le robot pour examiner vos mouvements et déterminer si vous êtes sur le point de gagner. Si le robot détecte vous avez deux boules en ligne avec la troisième position indemnes alors il placera son ballon dans la position libre vous bloquer. Cette fonction ne sert pas dans le niveau plus simple qui a pour but d’enseigner aux enfants comment jouer.

[MakeLine] cette fonction est similaire à [BlockPlayer], sauf qu’il est utilisé par le robot pour obtenir 3 d’affilée. Cette fonction n’est pas utilisée dans les niveaux plus faciles.

[SecondMove] comme un jeu de Tic Tac Toe n’a pas beaucoup se déplace, le deuxième mouvement est souvent où votre stratégie entrera en jeu. Le robot utilise ce fait dans le niveau plus dur d’essayer de vous battre. Je l’avoue, cette partie du code est perfectible. Je ne suis pas bon dans les jeux de stratégie.

Articles Liés

Le bouclier de TIC-TAC-TOE...

Le bouclier de TIC-TAC-TOE...

Il s'agit d'une maison shield pour Arduino. Je peux jouer Tic-Tac-Toe avec le MCU avec ce bouclier attaché.Les gens me demandent, « Hé, que faites-vous tout le temps dans votre établi? », ou « Hey, nous montrer quelque chose vous avez fait. » Et pour
Tic Tac Toe de voyage

Tic Tac Toe de voyage

Morpion est un jeu de voyage génial qui peut garder des enfants et des adultes, occupées pendant les heures d'un voyage sur la route. Avec un peu de feutre et de créativité, j'ai pu faire un impressionnant voyage réutilisables tic tac plinthe qui se
Comment écrire un programme de TIC-TAC-TOE en Java

Comment écrire un programme de TIC-TAC-TOE en Java

Introduction :TIC-TAC-TOE est un jeu très commun qui est assez facile à jouer. Les règles du jeu sont simples et bien connus. À cause de ces choses, TIC-TAC-TOE est assez facile de code vers le haut. Dans ce tutoriel, nous allons regarder comment cod
TIC-TAC-TOE électronique avec LED RGB

TIC-TAC-TOE électronique avec LED RGB

jeu de LED RVB pour jouer TIC-TAC-TOE pour deux joueurs. Utilise 2 AVR microcontrôleurs : Mega16 et Mega8. LED RGB permettent à chaque utilisateur de choisir sa couleur pour représenter / écrou.
TIC-TAC-TOE upcycled

TIC-TAC-TOE upcycled

Ce mois-ci j'ai pris le défi « CENT-SATIONNELLE récupérable » la. Dans le défi, que je suis chargé de transformer un article commun trouvé à mon Habitat local pour restaurer l'humanité Centre en quelque chose de « cent-sationnelle. » Et je ne pouvais
Tic Tac Toe jeu Arduino à l’aide de

Tic Tac Toe jeu Arduino à l’aide de

Tic Tac Toe est un jeu populaire de papier de deux joueurs dans lequel premier joueur à remplir une ligne, colonne ou diagonale de « X » ou ' o ' de victoires. Si personne n'a pas pu réaliser l'exploit, le match est établi.Étape 1: Composants requis1
Comment gagner Tic Tac Toe : Simple !

Comment gagner Tic Tac Toe : Simple !

Bonjour, je suis InstructableUltimate et j'ai aujourd'hui je vais vous montrer comment gagner de Tic Tac Toe en seulement quelques étapes, et c'est vraiment simple !Étape 1: Gagner va première Eh bien, c'est une victoire facile ! Au revoir et j'espèr
TIC-TAC-TOE stratégies gagnantes

TIC-TAC-TOE stratégies gagnantes

Tout le monde aime le simple jeu de TIC-TAC-TOE, mais on dirait un jeu aléatoire. En fait, ce n'est pas !Il semble que les nombreux différends peuvent être résolus par un simple jeu...Maintenant, vous pouvez gagner le prochain tic-tac-tac-toe-off en
Faire Tic Tac Toe en Java

Faire Tic Tac Toe en Java

ce Instructable vous guidera, étape par étape, en faisant Tic Tac Toe en Java ! Ce n'est pas prévu pour être une vue d'ensemble du langage Java, mais plus d'un exemple guidé. La première étape risque de dépasser certains concepts de base pour faire l
Arduino et Touchpad Tic Tac Toe

Arduino et Touchpad Tic Tac Toe

ou, un exercice en entrée et sortie de multiplexage et travail avec des morceaux.  Et une soumission pour le concours de l'Arduino.Il s'agit d'une implémentation d'un jeu de tic tac toe en utilisant un tableau de 3 x 3 de bicolore LED pour un afficha
FPGA Tic Tac Toe

FPGA Tic Tac Toe

"Tic Tac Toe ? Qu'est-ce que c est? J'ai jamais entendu parler de cela. »-Personne ne jamaisPar Ryan Frawley et Derek NguyenCe guide vous montrera comment faire un travail de Tic Tac Toe jeu en VHDL sur une planche de Nexys 2 FPGA. Ce tutoriel a été
Drapeau américain Tic Tac Toe

Drapeau américain Tic Tac Toe

Divertir votre quart de juillet invités à la fête avec ce facile de faire le Conseil d'administration de drapeau américain tic tac toe !Étape 1: Recueillir vos matériaux 10 galetsMarqueur indélébile bleuMarqueur permanent rougeBoîte (double tant que
Tic Tac Toe

Tic Tac Toe

Tic Tac ToeIl s'agit d'un projet vraiment facile que toute personne peut faire, vous pouvez vraiment le faire avec des outils limités.J'ai utiliser et recycler un ancien Conseil Rimu Head, mais vous pouvez utiliser n'importe quoi. (Vous pouvez aussi
K ' NEX TIC-TAC-TOE

K ' NEX TIC-TAC-TOE

qui ne connait pas ce jeu ? TIC-TAC-TOE, un des jeux plus joués jamais. Récemment, j'ai fait le TIC-TAC-TOE qui a fait Daniel662000. J'ai vu qu'il pouvait utiliser l'amélioration, alors j'ai fait cette version. Il est plus petit et a un montant infér