Inhaltsverzeichnis:

Mastermind Star Wars mit Arduino MEGA - Gunook
Mastermind Star Wars mit Arduino MEGA - Gunook

Video: Mastermind Star Wars mit Arduino MEGA - Gunook

Video: Mastermind Star Wars mit Arduino MEGA - Gunook
Video: Microcontroller Arduino Mega 2560 Erste Melodie: Imperial March, Darth Vader Theme, Star Wars 2024, November
Anonim
Mastermind Star Wars mit Arduino MEGA
Mastermind Star Wars mit Arduino MEGA
Mastermind Star Wars mit Arduino MEGA
Mastermind Star Wars mit Arduino MEGA
Mastermind Star Wars mit Arduino MEGA
Mastermind Star Wars mit Arduino MEGA

Dies sind ungünstige Zeiten für die Rebellion. Obwohl der Todesstern zerstört wurde, verwenden die imperialen Truppen kostenlose Hardware und Arduino als Geheimwaffe.

Das ist der Vorteil freier Technologien, jeder Mensch (ob gut oder schlecht) kann sie nutzen.

In einer versteckten Basis auf dem Planeten Anoat bauen sie einen 3D-Drucker, der Imperial Destroyer nachbilden kann.

Die einzige Lösung, um das Imperium zu besiegen, besteht darin, dass eine Gruppe von Rebellen unter dem Kommando von Luke Skycuartielles und Obi-Wan Banzi die imperialen Truppen besiegen und den Schlüssel erhalten, der Zugang zu den Plänen zur Zerstörung der Geheimwaffe ermöglicht.

Dieser Schlüssel besteht aus 4 Farben und Sie haben 10 Versuche, ihn zu entziffern. Es gibt nur vier Regeln:

  1. Die Farben können wiederholt werden
  2. Ein weißes Licht zeigt an, dass Sie die richtige Farbe und Position getroffen haben
  3. Ein violettes Licht zeigt an, dass Sie die Farbe getroffen haben, aber nicht die Position
  4. Wenn kein Licht vorhanden ist, haben Sie die Farbe oder die Position nicht erraten.

Sie müssen sich beeilen, denn im anderen Extrem wird der böse Darth Ballmer versuchen, den Schlüssel vor Ihnen zu bekommen. In diesem Fall können Sie nicht herausfinden, was es ist, und Sie haben keinen Zugriff auf die Pläne der Geheimwaffe. Ihre Mission wird gescheitert sein.

Kleiner Padawan, möge die Macht dich begleiten, um den Schlüssel zu entschlüsseln und so die Galaxis retten zu können.

Schritt 1: Material

Material
Material

Das Material, das benötigt wird, um das Mastermind Star Wars mit Arduino zu erstellen, ist in drei Teile unterteilt.

  • Tischlerei und Schreibwaren für die Realisierung des Gehäuses
  • Komponenten, Kabel und Arduino für die gesamte Elektronik
  • Werkzeuge

Beginnen wir mit der Tischlerei. Folgendes Material wird benötigt:

  • 2 x MDF-Platten von 90x60
  • 1 x Blatt Gemüsepapier

Im elektronischen Teil wird folgendes Material benötigt:

  • 1 x NeoPixel-Streifen 5 Meter
  • 1 x Arduino MEGA
  • 1 x Kondensator 100 µF
  • 4 x Widerstand 470 Ω
  • 5 x schwarzer Knopf
  • 5 x weißer Knopf
  • 1 x Strom 5V-5A
  • 1 x Strom 5V-2A

Schließlich haben wir im Werkzeugteil Folgendes verwendet:

  • Silikonpistole heiß
  • Laser CNC von MxN
  • Elektroschweißgerät
  • Schweißerdose

Schritt 2: Design

Entwurf
Entwurf
Entwurf
Entwurf
Entwurf
Entwurf

Einer der wichtigsten Teile dieses Projekts ist die Gestaltung des Gehäuses. Es besteht aus 3 Teilen, die mit Laserschneider geschnitten wurden.

Die Basis ist aus einem 90x60 Stück in MDF genommen. Berücksichtigen Sie die Abmessungen des Materials, da Sie einen ausreichend großen Laserschneider benötigen.

Sie finden die SVG-Datei am Ende dieses Schrittes.

Die obere Abdeckung enthält die thematischen Zeichnungen von Star Wars sowie die Löcher für die Knöpfe und die Pixel.

Es hat die gleiche Form wie die Basis.

Die Seitenwände wurden mit einer Laserschneidtechnik namens Kerf hergestellt. Dadurch kann das Material flexibel sein. Um die Wände zu platzieren, wurden einige Stücke als Orientierungshilfe entworfen.

Schließlich hat jede NeoPixel-Matrix ein Raster, auf dem auf einer Seite die NeoPixel befestigt sind und auf der anderen Seite ein Pflanzenpapier befestigt ist, um das Licht des NeoPixels zu streuen. Hier haben Sie alle SVG-Dateien, damit Sie sie selbst schneiden und herstellen können.

Schritt 3: Elektronische Baugruppe

Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe
Elektronische Baugruppe

Die erste Phase der Montage der Elektronik bestand darin, den 5 Meter langen NeoPixel-Streifen in 8 Streifen mit 10 Pixeln und 4 separate Pixel für jeden Player zu schneiden. Insgesamt 84 Pixel pro Player. Auf der einen Seite werden die 10 Streifen nacheinander montiert, so dass genug Kabel übrig bleibt, um jeden Streifen auf einige Millimeter parallel zu legen. Diese Pixelmatrix dient dazu, jedes Spiel und das Ergebnis anzuzeigen. 4 Pixel zeigen die vier Farben des Schlüssels und die anderen vier Pixel zeigen das Ergebnis. Ich erinnere Sie daran, dass wir daher:

  • Wenn das Pixel weiß ist, wurden Position und Farbe erfolgreich ausgeführt.
  • Ist das Pixel violett, stimmt die Farbe, aber nicht die Position.
  • Wenn das Pixel ausgeschaltet ist, sind weder Farbe noch Position korrekt.

Einer der Fehler, die wir gemacht haben, ist die Stromverkabelung und GND. Es hätte einfacher sein können, aber wir haben es später gemerkt. Das Datenkabel muss einer Reihenfolge folgen, da die Nummerierung der Pixel von unten nach oben geht.

Auf der anderen Seite haben wir 4 separate Pixel, die zwischen ihnen verbunden werden müssen. Diese Pixel zeigen uns die Farbe, die wir mit den Schaltflächen auswählen.

In Reihe zu jedem Streifen ist ein 470Ω Widerstand zum Schutz der Daten geschaltet. Das Datenkabel jedes Pixelstreifens ist mit einem digitalen Pin verbunden. Die im Arduino MEGA ausgewählten Pins sind 6, 7, 8 und 9.

Zum Beispiel sind 6 und 7 für Spieler 1 und 8 und 9 für Spieler 2.

Die von uns verwendeten Tasten sind die typischen Tasten der Arcade-Automaten. Wir dachten, sie würden gut aussehen und so war es.

Es können auch andere Drucktasten verwendet werden, jedoch muss berücksichtigt werden, dass bei kleineren oder größeren Tasten die DXF-Datei vor dem Schneiden mit der Laser-CNC modifiziert werden muss.

Um die Spieler zu unterscheiden, sind einige Tasten weiß und andere schwarz.

Jeder Spieler hat 4 Tasten nach oben und 1 Taste nach unten. Die 4 oberen Tasten dienen zur Auswahl der Farbe jeder Position der Taste.

Die untere Schaltfläche dient der Validierung, dh sie sendet den Schlüssel zum Erscheinen in der Pixelmatrix mit der entsprechenden Überprüfung, ob Farbe und Position erfolgreich waren.

Vor dem Zusammenbau haben wir alle Kabel gelötet. Sie benötigen also viel Kabel. Es hängt von der Größe des Spiels ab. In unserem Fall war es ziemlich groß.

Sie können es beispielsweise mit einem Ethernet-Kabel öffnen und die internen Kabel entnehmen. Es ist eine gute Lösung. Versuchen Sie, sie so geordnet wie möglich zu haben, da dann die Verbindungen mit dem Arduino MEGA hergestellt werden müssen, wie Sie im Schaltplan sehen.

Sobald Sie alle Soldat sind, müssen Sie es versuchen, bevor Sie es besteigen. Es wird getestet, denn wenn es in das Gehäuse eingebaut wird, wird es mit heißem Silikon verklebt und wenn es versagt, wird es kompliziert, es dann abzunehmen. Um die Pixelmatrizen zu platzieren, wurde ein Gitter mit den gleichen Abmessungen wie das Gitter des Deckels entworfen, auf dem auf der einen Seite die Pixel und auf der anderen Seite ein Pflanzenpapier aufgeklebt ist.

Dieses Papier streut das Licht jedes Pixels, wodurch ein viel schönerer Effekt entsteht. Dann klebt diese Struktur innen am oberen Teil. Es ist etwas kompliziert, aber mit Sorgfalt wird ein gutes Ergebnis erzielt.

Die Fütterung war etwas kompliziert. Im Prinzip und mit Blick auf das Schema wollten wir nur ein einziges Ladegerät verwenden. Nach den ersten Tests und dem NeoPixel-Verbrauch haben wir jedoch gesehen, dass es zwei Ladegeräte braucht.

Jedes Pixel kann maximal 60 mA verbrauchen. Wenn wir mit 168 Pixel multiplizieren, erhalten Sie einen Verbrauch von etwa 10 A.

Obwohl dies im schlimmsten Fall wäre. Bei der Programmierung haben wir bereits darauf geachtet, die Intensität des NeoPixels nicht zu maximieren.

Wir erreichen also nicht einmal 50%, mit einem 5V- und 5A-Ladegerät ist mehr als genug.

Andererseits verfügt der Arduino MEGA über ein separates Ladegerät, das über den Klinkenstecker oder über den USB-Anschluss angeschlossen werden kann. Eine mögliche Verbesserung wäre ein einziges Ladegerät für das gesamte System.

Schritt 4: Spielprogrammierung

Spielprogrammierung
Spielprogrammierung
Spielprogrammierung
Spielprogrammierung

Die Programmierung erfolgte mit zwei Bibliotheken: OneButton und Adafruit_NeoPixel.

Die OneButton-Bibliothek ermöglicht es, die Schaltflächen auf einfache Weise mit Unterbrechungen zu steuern.

Die Adafruit_NeoPixel-Bibliothek hat es uns ermöglicht, den NeoPixel-Streifen auf sehr einfache Weise zu steuern.

Die Programmierung basiert auf verschiedenen Zuständen, in denen sich das Softwareprogramm befinden kann:

Starten des Spiels. Zustand = 0

In diesem Zustand wird das Spiel gestartet und es gibt eine Reihe von Lichtern bei beiden Spielern, die anzeigen, dass das Spiel beginnen wird. In diesem Zustand reagieren die Drucktasten nicht.

Ausgangszustand. Zustand = 1

Warten Sie im Ausgangszustand, bis einer der beiden Spieler auf die Bestätigungsschaltfläche (die fünfte Schaltfläche) doppelklickt. Mit dieser Aktion kann das Spiel gestartet werden.

Spiel vorbereiten. Zustand = 2

Im Vorbereitungszustand des Spiels werden alle Variablen zurückgesetzt und die zufällige Auswahl der Farben für die Taste gestartet.

Spielstatus = 3

Im Zustand 3 beginnt das Spiel. Jeder Spieler wählt mit den Tasten eine Taste aus und bestätigt diese durch Klicken auf die Bestätigungstaste. Dieser Zustand kann auf zwei Arten enden: wenn ein Spieler den Schlüssel entdeckt oder wenn die beiden Spieler ihre 10 Versuche verbrauchen.

Ein Gewinnerstaat = 4

Wenn ein Spieler gewinnt, wird ein grünes Häkchen auf seinem Brett und die Gewinnkombination und ein rotes Kreuz auf dem Verlierer angezeigt.

Gebundenes Spiel. Zustand = 5

Bei Gleichstand wird auf keinem Brett und die Gewinnkombination auf den Brettern beider Spieler angezeigt.

Ob es einen Gewinner oder ein Unentschieden im Spiel gibt, der nächste Zustand ist der erste, der auf einen Doppelklick wartet.

Sie finden den gesamten Code unten. Das einzige was auf Spanisch ist:)

Schritt 5: Tests und Verbesserungen

Das Spiel wird durch Spielen getestet. Im Video oben seht ihr ein komplettes Spiel.

Von hier aus können wir uns mehrere Verbesserungen vorstellen, die dem Mastermind Star Wars mit Arduino hinzugefügt werden können.

Als nächstes liste ich sie auf.

  • Abwechselnd mit insgesamt 10 Versuchen für die beiden Spieler spielen zu können. Wenn ein Spieler einen Schlüssel versucht, wird der andere Spieler das Spiel sehen.
  • Ein individueller Spielmodus, damit nur eine Person spielen kann.
  • Modus jeweils mit seinem Schlüssel.
  • Fügen Sie einen OLED-Bildschirm hinzu.
  • Verwenden Sie ein einziges Ladegerät für alles.
  • Verbinden mit einem NodeMCU ESP8266

Ich bin mir sicher, dass viele Leute viele Verbesserungen finden werden. Ich warte auf die Kommentare unten.

Und möge die Macht mit dir sein.

Empfohlen: