Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Tech-TicTacToe

Composants et fournitures

Arduino UNO
Arduino
× 1
Matrice de points LED MAX7219
× 1
Clavier à interrupteur à membrane
× 1

Outils et machines nécessaires

Pistolet à colle chaude (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

Salut la communauté Hackster.

Je suis Simone Adobs et c'est mon troisième projet que je sors sur Hackster. C'est mon premier projet où je crée une structure avec du carton, du papier et un pistolet à colle chaude, qui contient Arduino et d'autres composants.

Voici une courte vidéo qui vous montre comment fonctionne le Tris :

Ici vous pouvez voir le projet de toutes les vues :

J'espère qu'il vous plaira, car j'y ai passé quelques heures ! Commençons maintenant par le projet.

Comment fonctionne le Tris ?

La réponse est très simple :lorsque vous cliquez sur un numéro du clavier, Arduino allume le carré correspondant.

  • Puis-je changer de joueur ?

Lorsque vous activez un carré, Arduino passe instantanément au tour du joueur suivant.

  • Arduino reconnaît-il quand je gagne ?

Lorsqu'un joueur gagne, Arduino écrit sur la matrice de points LED :

  • "1" si le gagnant est le joueur 1 ;
  • "2" si le gagnant est le joueur 2.

Une fois le jeu terminé, puis-je redémarrer Arduino à partir d'un bouton ?

Vous pouvez redémarrer le jeu si vous cliquez sur le bouton "0" du clavier - Arduino redémarre tout seul.

Comment reconnaître un joueur ?

Vous pouvez facilement reconnaître un joueur car, bien que la matrice de points LED ne soit que rouge, chaque joueur a un motif spécifique formé par 2x2 LED :

  • Le joueur 1 a ce modèle :"\"
  • Le joueur 2 a cet autre modèle :"/"

Pour toute question, suggestion, critique ou explication de code, n'hésitez pas à commenter ci-dessous. Si vous aimez ce projet, laissez un like et jetez un œil à mes autres projets !

Essayez de faire une autre structure ou personnalisez ma structure et envoyez-moi une photo !

Bonne journée !

Simone d'Italie <3

Code

  • Tech-Tris
Tech-TrisC/C++
#include #include #include #include #define Reset_AVR() wdt_enable(WDTO_30MS); while(1) {} LedControl lc=LedControl(12,10,11,1);bool player1=true,q1=false,q2=false,q3=false,q4=false,q5=false,q6=false,q7 =false,q8=false,q9=false;int row,col,rowPlays,colPlays,result,player,winner;char hexaKeys[4][3] ={ {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'}};int joue[3][3 ] ={ {0,0,0}, {0,0,0}, {0,0,0}};byte rowPins[4] ={8, 7, 6, 5};byte colPins[3] ={4, 3, 2};Clavier customKeypad =Keypad( makeKeymap(hexaKeys), rowPins, colPins, 4, 3); void setup() { lc.shutdown(0,false); lc.setIntensity(0,0); lc.clearDisplay(0);}void loop() { int customKey =customKeypad.getKey(); peinture(customKey); gagner (résultat); if (gagnant==1) { lc.clearDisplay(0); while (winner==1) { char customKey =customKeypad.getKey(); if (customKey=='0') { Reset_AVR(); } lc.setLed(0,1,4,true); lc.setLed(0,2,5,true); lc.setLed(0,3,6,true); lc.setLed(0,4,7,true); lc.setLed(0,4,6,true); lc.setLed(0,4,5,true); lc.setLed(0,4,4,true); lc.setLed(0,4,3,true); lc.setLed(0,4,2,true); lc.setLed(0,4,1,true); lc.setLed(0,4,0,true); lc.setLed(0,5,0,true); lc.setLed(0,6,0,vrai); lc.setLed(0,3,0,true); lc.setLed(0,2,0,true); } } else if (gagnant==2) { lc.clearDisplay(0); while (winner==2) { char customKey =customKeypad.getKey(); if (customKey=='0') { Reset_AVR(); } lc.setLed(0,2,0,true); lc.setLed(0,3,0,true); lc.setLed(0,4,0,true); lc.setLed(0,5,0,true); lc.setLed(0,2,1,true); lc.setLed(0,2,2,true); lc.setLed(0,2,3,true); lc.setLed(0,2,4,true); lc.setLed(0,3,4,true); lc.setLed(0,4,4,true); lc.setLed(0,5,4,true); lc.setLed(0,5,5,true); lc.setLed(0,5,6,true); lc.setLed(0,5,7,vrai); lc.setLed(0,4,7,true); lc.setLed(0,3,7,true); lc.setLed(0,2,7,true); } }}int round_player() { if (player1) { player1=false; résultat=1 ; } else { player1=true; résultat=2 ; } return result;}void win(int player) { if (plays[0][0]==player &&play[0][1]==player &&play[0][2]==player) { winner=joueur; } else if (joue[1][0]==joueur &&joue[1][1]==joueur &&joue[1][2]==joueur) { gagnant=joueur; } else if (plays[2][0]==player &&play[2][1]==player &&play[2][2]==player) { winner=player; } else if (plays[0][0]==player &&Plays[1][0]==player &&Plays[2][0]==player) { winner=player; } else if (plays[0][1]==player &&Plays[1][1]==player &&Plays[2][1]==player) { winner=player; } else if (plays[0][2]==player &&Plays[1][2]==player &&Plays[2][2]==player) { winner=player; } else if (plays[0][0]==player &&Plays[1][1]==player &&Plays[2][2]==player) { winner=player; } else if (plays[0][2]==player &&Plays[1][1]==player &&Plays[2][0]==player) { winner=player; }} void switch_on_led(int col, int row, int colPlays, int rowPlays) { if (player1) { lc.setLed(0,col,row,true); lc.setLed(0,col+1,row-1,true); } else { lc.setLed(0,col,row-1,true); lc.setLed(0,col+1,row,true); } play[rowPlays][colPlays]=round_player();}void painting(int bottone) { switch (bottone) { case 49:if (!q1){ switch_on_led(0,7,0,0); q1=vrai ; } Pause; cas 50 :si (!q2) { switch_on_led(3,7,0,1) ; q2=vrai ; } Pause; cas 51 : si (!q3) { switch_on_led(6,7,0,2) ; q3=vrai ; } Pause; cas 52 : si (!q4) { switch_on_led(0,4,1,0) ; q4=vrai ; } Pause; cas 53 : si (!q5) { switch_on_led(3,4,1,1) ; q5=vrai ; } Pause; cas 54 : if (!q6) { switch_on_led(6,4,1,2) ; q6=vrai ; } Pause; cas 55 : if (!q7) { switch_on_led(0,1,2,0) ; q7=vrai ; } Pause; cas 56 : si (!q8) { switch_on_led(3,1,2,1) ; q8=vrai ; } Pause; cas 57 : si (!q9) { switch_on_led(6,1,2,2) ; q9=vrai ; } Pause; cas 48 : Reset_AVR(); Pause; }}

Schémas

tris_1Nd6QnEjNE.fzz

Processus de fabrication

  1. Créer un moniteur Ambilight à l'aide d'Arduino
  2. Jeu Arduino Pong - Écran OLED
  3. Giant Animatronics Lego Minfig Operation Game
  4. Détecteur de fréquence audio
  5. clone Arduino Tamagotchi - animal numérique
  6. Manipulateur d'interrupteur d'éclairage sans fil
  7. Pistolet à eau à détecteur de mouvement
  8. compte à rebours Arduino
  9. Appareils Bluetooth à commande vocale avec OK Google