Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Tech-TicTacToe

Komponenten und Verbrauchsmaterialien

Arduino UNO
Arduino
× 1
MAX7219 LED-Punktmatrix
× 1
Membrane Switch Keypad
× 1

Notwendige Werkzeuge und Maschinen

Heißklebepistole (generisch)

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Hallo Hackster-Community.

Ich bin Simone Adobs und dies ist mein drittes Projekt, das ich auf Hackster veröffentlicht habe. Dies ist mein erstes Projekt, bei dem ich mit Pappe, Papier und Heißklebepistole eine Struktur erstelle, die Arduino und andere Komponenten enthält.

Dies ist ein kurzes Video, das Ihnen zeigt, wie der Tris funktioniert:

Hier sehen Sie das Projekt aus allen Ansichten:

Ich hoffe, es wird Ihnen gefallen, denn ich habe einige Stunden damit verbracht! Beginnen wir nun mit dem Projekt.

Wie funktioniert der Tris?

Die Antwort ist ganz einfach:Wenn Sie auf der Tastatur auf eine Zahl klicken, schaltet Arduino das entsprechende Quadrat ein.

  • Kann ich den Spieler wechseln?

Wenn Sie ein Quadrat einschalten, wechselt Arduino sofort zum nächsten Spieler.

  • Erkennt Arduino, wenn ich gewinne?

Wenn ein Spieler gewinnt, schreibt Arduino auf die LED-Punktmatrix:

  • "1", wenn der Gewinner der Spieler 1 ist;
  • "2", wenn der Gewinner der Spieler ist 2.

Wenn das Spiel beendet ist, kann ich Arduino über eine Schaltfläche neu starten?

Sie können das Spiel neu starten, wenn Sie auf der Tastatur auf die Schaltfläche "0" klicken - Arduino startet sich selbst neu.

Wie kann ich einen Spieler erkennen?

Sie können einen Spieler leicht erkennen, denn obwohl die LED-Punktmatrix nur rot ist, hat jeder Spieler ein bestimmtes Muster, das aus 2x2 LEDs besteht:

  • Spieler 1 hat dieses Muster:"\"
  • Spieler 2 hat dieses andere Muster:"/"

Bei Fragen, Anregungen, Kritik oder Codeerklärung können Sie unten einen Kommentar hinterlassen. Wenn dir dieses Projekt gefällt, lass ein Like da und sieh dir meine anderen Projekte an!

Versuchen Sie, eine andere Struktur zu erstellen oder meine Struktur zu personalisieren und senden Sie mir ein Foto davon!

Einen SCHÖNEN TAG!

Simone aus Italien <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 spielt[3][3 ] ={ {0,0,0}, {0,0,0}, {0,0,0}};byte rowPins[4] ={8, 7, 6, 5};byte colPins[3] ={4, 3, 2};Keypad 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(); Malerei (customKey); gewinnen (Ergebnis); wenn (Gewinner==1) {lc.clearDisplay(0); while (Gewinner==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,true); lc.setLed(0,3,0,true); lc.setLed(0,2,0,true); } } Else if (Gewinner==2) {lc.clearDisplay(0); while (Gewinner==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, wahr); lc.setLed(0,5,6,true); lc.setLed(0,5,7,true); 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; Ergebnis=1; aufrechtzuerhalten. Sonst { Spieler1 =wahr; Ergebnis=2; } Ergebnis zurückgeben;}void win(int player) { if (plays[0][0]==Spieler &&spielt[0][1]==Spieler &&spielt[0][2]==Spieler) { Gewinner=Spieler; } else if (spielt[1][0]==Spieler &&spielt[1][1]==Spieler &&spielt[1][2]==Spieler) { Gewinner=Spieler; } else if (spielt[2][0]==Spieler &&spielt[2][1]==Spieler &&spielt[2][2]==Spieler) { Gewinner=Spieler; } else if (spielt[0][0]==Spieler &&spielt[1][0]==Spieler &&spielt[2][0]==Spieler) { Gewinner=Spieler; } else if (spielt[0][1]==Spieler &&spielt[1][1]==Spieler &&spielt[2][1]==Spieler) { Gewinner=Spieler; } else if (spielt[0][2]==Spieler &&spielt[1][2]==Spieler &&spielt[2][2]==Spieler) { Gewinner=Spieler; } else if (spielt[0][0]==Spieler &&spielt[1][1]==Spieler &&spielt[2][2]==Spieler) { Gewinner=Spieler; } else if (spielt[0][2]==Spieler &&spielt[1][1]==Spieler &&spielt[2][0]==Spieler) { Gewinner=Spieler; }}void switch_on_led(int col, int row, int colPlays, int rowPlays) { if (player1) { lc.setLed (0,col,row,true); lc.setLed(0,Spalte+1,Zeile-1,wahr); aufrechtzuerhalten. Else { lc.setLed (0, Spalte, Zeile-1, wahr); lc.setLed(0,Spalte+1,Zeile,wahr); } spielt[rowPlays][colPlays]=round_player();}void painting(int bottone) { switch (bottone) { case 49:if (!q1){ switch_on_led(0,7,0,0); q1=wahr; } brechen; Fall 50:if (!q2) { switch_on_led(3,7,0,1); q2=wahr; } brechen; Fall 51:if (!q3) { switch_on_led(6,7,0,2); q3=wahr; } brechen; Fall 52:if (!q4) { switch_on_led(0,4,1,0); q4=wahr; } brechen; Fall 53:if (!q5) { switch_on_led(3,4,1,1); q5=wahr; } brechen; Fall 54:if (!q6) { switch_on_led(6,4,1,2); q6=wahr; } brechen; Fall 55:if (!q7) { switch_on_led(0,1,2,0); q7=wahr; } brechen; Fall 56:if (!q8) { switch_on_led(3,1,2,1); q8=wahr; } brechen; Fall 57:if (!q9) { switch_on_led(6,1,2,2); q9=wahr; } brechen; Fall 48:Reset_AVR(); brechen; }}

Schaltpläne

tris_1Nd6QnEjNE.fzz

Herstellungsprozess

  1. Erstellen von Monitor-Ambilight mit Arduino
  2. Arduino Pong-Spiel - OLED-Display
  3. Giant Animatronics Lego Minfig Operationsspiel
  4. Audiofrequenzdetektor
  5. Arduino Tamagotchi Klon - Digitales Haustier
  6. Wireless Lichtschalter-Manipulator
  7. Bewegungssensor-Wasserpistole
  8. Arduino-Countdown-Timer
  9. Sprachgesteuerte Bluetooth-Geräte mit OK Google
  10. Arduino Sunflower:Eine elektronische Sonnentänzerin