Touchscreen-Tic-Tac-Toe auf Arduino Due bauen
Komponenten und Zubehör
- Arduino Due
- 2,8″ TFT LCD mit Touchscreen (ILI9341, 320×240)
- Jumper-Kabel
Apps und Onlinedienste
- Arduino IDE
Projektbeschreibung
Ein Tic-Tac-Toe-Spiel gegen einen Computer-Gegner (KI) auf einem 2,8″-Touchscreen. Basiert auf dem Projekt von nickthegreek82, erweitert um eine unschlagbare Minimax-KI. Benötigte Bibliotheken: Adafruit_GFX, Adafruit_ILI9341, URTouch.
Verdrahtung
Touchscreen → Arduino Due
- T_IRQ → Pin 22
- T_DO → Pin 24
- T_DIN → Pin 26
- T_CS → Pin 28
- T_CLK → Pin 30
Display → Arduino Due
- SDO (MISO) → A.25
- LED → 3,3 V
- SCK → A.27
- SDI (MOSI) → A.26
- DC → Pin 9
- RESET → Pin 8
- CS → Pin 10
- GND → GND
- VCC → 3,3 V
Entwicklungshistorie
- 08/2017: KI-Überarbeitung & Code-Optimierung
- 03/2018: Verbesserte KI (Dank an klauscam / GitHub)
Code-Versionen
Version 1: Klassisches Tic-Tac-Toe mit heuristischer KI
Die KI prüft: Gewinnzug → Blockieren → Zentrum → Ecken → Zufall. Spiellogik über checkOpponent() (Zwei-in-einer-Reihe Erkennung). Touch-Erkennung via waitOneTouch(). Grafik: X (Blau) für Spieler, Kreis (Rot) für CPU. Gewinnlinien werden weiß eingezeichnet.
Version 2: Unschlagbare Minimax-KI (TicTacToe_new)
Implementiert den Minimax-Algorithmus mit Alpha-Beta-Pruning (Tiefe einstellbar über difficulty). Der Computer spielt perfekt – bestenfalls Unentschieden. Codestruktur: minimax() rekursiv, win() prüft 8 Gewinnkombinationen. Touch-Koordinaten werden auf 3×3-Gitter gemappt. Nach Spielende: „Again?“-Button für Neustart.
Schaltplan
Die Verdrahtung ist als Bild im Originalprojekt hinterlegt (Touch- und Display-Pins auf Due).
Herstellungsprozess
- Individuelle 4×4 Tic-Tac-Toe Visitenkarten-Platine – Design, Bau und Programmierung
- K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
- Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
- Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Präzise Solareinstrahlungsmessung mit Arduino UNO & Ethernet Shield
- Kompaktes Arduino-Radar mit HC-SR04 Ultraschallsensor & 1,8″ Display