Arduino schnellstes Reaktionszeitspiel für 1-4 Spieler - Gunook - 2020 - How ToDo Well

Arduino schnellstes Reaktionszeitspiel für 1-4 Spieler - Gunook - 2020 - How ToDo Well

Inhaltsverzeichnis:

Anonim

Einführung

Das offizielle Arduino-Starter-Kit mit Tutorials ist eine fantastische Möglichkeit, die Grundlagen und all die verschiedenen Dinge zu lernen, die Sie tun können, und ich kann es nicht genug empfehlen. Aber als ich LEDs zum Blinken gebracht hatte, Summertöne und Motoren sich drehten, dachte ich darüber nach, wie ich das zu etwas machen könnte, mit dem meine Kinder und ich Spaß haben könnten, und das ist das Ergebnis: eine unterhaltsame, voll ausgestattete und funktionierende 4-Personen schnellste Reaktionszeit Spiel. Dieses Spiel kann nur mit Teilen aus dem Arduino-Starter-Kit erstellt werden. Dieses Tutorial enthält eine wahlweise 74HC595-Chip (ein sehr verbreiteter und kostengünstiger integrierter Schaltkreis, der in fast allen Erweiterungsmodulen oder für sich allein erhältlich ist), der weggelassen werden kann, ohne das Endergebnis wesentlich zu beeinträchtigen. Dies wird in den Schritten näher erläutert.

Eigenschaften

  • 1-4 Spieler
  • Eine zufällige Verzögerung mit pulsierendem gelbem Licht, nachdem die Starttaste gedrückt wurde.
  • Nach der zufälligen Verzögerung ertönt ein weißes Licht, Piezo oder beides signalisiert die verbleibende Zeit. der schnellste Spieler, der seinen Knopf drückt, gewinnt!
  • Die Siegerzeit wird angezeigt und es wird angezeigt, wie lange jeder Spieler hinter dem Sieger steht.
  • Ein Spieler kann alleine spielen, um seine Zeit zu optimieren.
  • Spieler werden disqualifiziert, wenn sie ihren Knopf zu früh drücken :)
  • Bei jedem Schritt werden auf dem LCD vollständige Anweisungen angezeigt, aber die Spieler müssen nicht im Lesealter sein. Meine 3-jährige liebt es zu spielen.

Liste der Einzelteile:
Arduino Uno oder Nano (oder kompatibler Klon). Ich habe einen Nano-Klon für meinen Build verwendet.
Starthilfekabel (verschiedene Farben und Längen)
3x kleine Steckbretter (oder ein paar größere)
8x 220 Ohm Widerstände
6x 10K Ohm Widerstände
2x - Standardtasten. Ich habe einen grünen und einen roten benutzt.
4x - Arcade-Drucktasten mit eingebauten LEDs.

1x LCD alphanumerisch (16x2 Zeichen oder größer)
1x Piezo oder gleichwertiger kleiner Lautsprecher
1x 10K Potentiometer
1x weiße LED
1x gelbe LED
1x Neun Volt Batteriehalter Clip
1x einfacher Zweipunktschalter.
Materialien für Ihren Fall (ich habe Plexiglas, Schrauben und einige Holzabfälle verwendet)

Optionale Teile

1x 74HC595 Chip
4x farbige LEDs (blau, grün, gelb, rot)

Zubehör:

Schritt 1: Laden Sie den Code für das Spiel herunter und kompilieren Sie ihn / laden Sie ihn auf Ihr Arduino hoch

Wenn Sie noch nie einen Code an Ihren Arduino gesendet haben, lesen Sie bitte ein einfaches Tutorial von der Arduino-Website, bevor Sie fortfahren. http://www.arduino.cc/en/Guide/HomePage - lesen Sie weiter, wenn Sie erfolgreich ein einfaches Programm auf Ihrem Board haben oder dies bereits getan haben.

Warum der Code vor der Schaltung?

Es mag so aussehen, als ob Sie den Code zuerst aufsetzen, bevor Sie die Schaltung aufbauen. Dies ermöglicht Ihnen jedoch, Teile der Schaltung aufzubauen und zu testen, während Sie fortfahren. Wenn Sie die gesamte Schaltung aufbauen, dann den Code aufsetzen und testen, ist es schwieriger, Schaltungsprobleme zu isolieren, und die Dinge nicht richtig zu verdrahten, ist ein unvermeidlicher Teil des Spaßes :). Ich habe dem Code eine Routine hinzugefügt, die immer direkt nach dem Booten ausgeführt wird und alle LEDs aufleuchtet, Piezo ertönt und Text auf dem LCD anzeigt, damit Sie wissen, ob die meisten Dinge korrekt verkabelt sind.

Kompatibilitätund IDE-Vorschlag

Ich habe getestet, dass dieser Code auf dem Arduino UNO und NANO funktioniert. Es kann bei anderen funktionieren, aber dies ist nicht getestet. Für IDEs ist der bereitgestellte Code kompatibel mit der Arduino IDE unter http://www.arduino.cc/en/main/software und auch mit PlatformIO http://platformio.org/platformio-ide - wenn Sie eine andere IDE haben dass Sie es verwenden, wird höchstwahrscheinlich funktionieren, ist aber ungetestet.

Wenn Sie nur den Code auf Ihrem Arduino erhalten möchten und nichts über den Programmieraspekt wissen oder wissen möchten, funktioniert die Arduino IDE einwandfrei und ist nett und einfach. Wenn Sie ernsthafte Entwicklungs- oder Bastelarbeiten durchführen möchten, würde ich PlatformIO oder eine andere fortgeschrittenere IDE vorschlagen, da der Arduino IDE einige hübsche Standardfunktionen wie vollständiger Code fehlen und sie wirklich nur für Einzeldatei-Projekte entwickelt wurden, für die dies nicht der Fall ist.

Den Code auf Ihrem Arduino bekommen

Ich habe den Code in einem öffentlichen Github-Repository veröffentlicht. Wenn Sie ein Programmierer sind, können Sie das Spiel verbessern, indem Sie Pull-Anforderungen stellen. http://github.com/plocke/arduino-fastest

Wenn Sie nur loslegen möchten, gehen Sie folgendermaßen vor:

  1. Laden Sie die neueste Version des stabilen Codes unter http: //github.com/plocke/arduino-fastest/archive / … herunter.
  2. Entpacke das Archiv. Dann:
    1. Wenn Sie die Arduino-IDE verwenden, platzieren Sie das einfach 'schnellste' Verzeichnis neben Ihren anderen Projekten und öffnen Sie die schnellste.ino-Datei.
    2. Wenn Sie PlatformIO verwenden, nehmen Sie einfach das gesamte entpackte Archiv als Ihr Projekt.
  3. Laden Sie den Code wie jedes andere Projekt auf Ihren Arduino hoch.

Ein Hinweis zu Treibern für Arduino-Klone

Wenn Sie kein Marken-Arduino verwenden (was bedeutet, dass Sie einen billigen Klon verwenden, was meiner Erfahrung nach nichts Falsches ist), müssen Sie möglicherweise einen Treiber installieren, da für die Kommunikation mit Ihrem Computer ein anderer Chipsatz verwendet wird. Ich habe hier einen Treiber für meine Nano-Klone gefunden (Link von der Teileliste) http: //kig.re/2014/12/31/how-to-use-arduino-nano-m …

Schritt 2: Erstellen Sie einen vollständigen Prototyp-Schaltkreis. Testen Sie, wie Sie gehen.

Der nächste Schritt ist der Aufbau der Schaltung. Sehen Sie sich die beigefügten schematischen Bilder an oder folgen Sie den Links unten. Ich habe die Schaltung praktisch auf circuit.io vollständig aufgebaut, damit Sie sie verfolgen können. Beachten Sie, dass diese Seiten sehr langsam geladen werden. Gib ihnen etwas Zeit.

Breadboard-Ansicht: http: //circuits.io/circuits/3000931-arduino-four -…

Schematische Darstellung: http: //circuits.io/circuits/3000931-arduino-four -…

Teileliste: http: //circuits.io/circuits/3000931-arduino-four -…

Testen Sie jedes Teil, während Sie loslegen, und lassen Sie sich nicht frustrieren - es ist sehr einfach, Verdrahtungsfehler zu machen. Während dieser Phase benötigen Sie keinen Akku, da Sie den Prototyp über Ihren USB-Anschluss mit Strom versorgen können. (Eigentlich brauchst du keinen Akku, wenn du das Spiel die ganze Zeit über ein USB-Kabel mit Strom versorgen willst, aber das macht es weniger tragbar und bedeutet, dass du immer eine USB-Stromquelle oder einen Laptop zum Anschließen brauchst.)

Wie in der Einleitung erwähnt, können Sie diesen Teil der Schaltung mit den 4 "gewinnenden" LEDs weglassen, wenn Sie keinen 74HC595-Chip haben. Das einzige, was Sie nicht bekommen, ist das Aufleuchten der Gewinnertaste (wenn Sie Arcade-Tasten mit eingebauten LEDs verwenden) und es ist überhaupt keine große Sache.

Austauschen der Arcade-Tasten-LEDs

Die Arcade-Tasten, auf die ich in der Teileliste verweise, sind für 12 V ausgelegt.Dies spielt keine Rolle für den Switch-Teil, aber es bedeutet, dass die Lichter sehr schwach sind, da der Arduino nur 5 V an sie sendet. Zum Glück lassen sie sich leicht durch Ihre eigenen LEDs ersetzen: Drehen Sie einfach die Unterseite, öffnen Sie sie, ziehen Sie die 12-V-LEDs heraus und ersetzen Sie sie durch Ihre eigenen

Schritt 3: Denken Sie durch Ihren Fall und härten Sie Ihren Stromkreis mit Heißkleber

Wenn Sie gerne löten, können Sie mit Sicherheit Ihre Schaltung oder Teile davon löten. Angesichts der Kostengünstigkeit kleiner Steckbretter und der Zeitersparnis ziehe ich es jedoch vor, einfach alles an Ort und Stelle aufzukleben, nachdem ich die Schaltung gründlich getestet habe. Es ist schnell, stabil und bedeutet, dass Sie Ihre Schaltung nicht mehr aufbauen müssen, sobald sie funktioniert.

Ich habe ein paar Dinge in meinem Build gelötet, bei denen Überbrückungsdrähte mit Dingen verbunden waren, die nicht über ein Steckbrett verbunden waren, um eine gute Verbindung zu gewährleisten, z. Wenn Sie kein Löt-Kit haben oder nicht gerne löten, stellen Sie sicher, dass der Draht fest mit den Metallanschlüssen der Schalter verbunden ist, bevor Sie einen Tropfen Heißkleber auftragen.

Ein paar Tipps aus meiner Erfahrung: Bevor Sie etwas kleben, entscheiden Sie, wie die Dinge in Ihrem endgültigen Fall angeordnet werden sollen. Ich habe drei Steckbretter benutzt:

  • Einer ist an der Innenseite des Gehäuses angebracht und hält das LCD und die Wait / Go-Lichter, sodass sie zentral und für alle Spieler sichtbar sind
  • Man hat nur den Arduino Nano mit vielen abgehenden Überbrückungskabeln und ist am Rand auf der Unterseite montiert, so dass sein USB-Anschluss verfügbar ist.
  • Einer ist in der Mitte unten montiert und hält alle Verbindungen zu den Arcade-Knöpfen und den Siegerlichtern und dem 74HC595-Chip.

Sie können meinen endgültigen Build im nächsten Schritt aus einigen Blickwinkeln sehen.

Schritt 4: Alles in eine Tasche stecken und genießen!

Dieser Schritt hat viel länger gedauert, als ich gedacht hatte. Nimm dir Zeit. Es gibt eine Reihe von Dingen zu beachten, wenn Sie Ihre Schaltung in Ihren Fall einbauen:

  • Dies ist ein Spiel für bis zu vier Personen. Mach es nicht zu klein
  • Sie möchten die Möglichkeit lassen, Ihr Gehäuse zu öffnen und Ihren Stromkreis zu inspizieren / reparieren, wenn sich etwas löst und nicht mehr richtig funktioniert.
  • Weitere Tipps finden Sie in den Anmerkungen zu meinen Bildern in diesem Schritt

Das Spiel durch Code erweitern

Ich habe einige Ideen für Features, für deren Implementierung ich keine Zeit hatte. Wenn Sie eine dieser Ideen implementieren, stellen Sie sicher, dass Sie Ihren Code über eine Pull-Anfrage an das Projekt zurücksenden:

  • Behalten Sie den Überblick und zeigen Sie die schnellste Zeit seit dem Start an, wenn kein Spiel stattfindet
  • Behalten Sie den Überblick über die Top-3-Zeiten und zeigen Sie diese als Teil einer No-Game-Schleife an (durch EEPROM-Lese- / Schreibvorgänge)
  • Verleihen Sie jeder Farbe ihren eigenen, gewinnenden Klang, zusätzlich zu nur einem Licht

Vielen Dank fürs Lesen. Ich freue mich immer über Kommentare zu den abgeschlossenen Builds anderer und über Feedback, ob etwas verwirrend ist, fehlt oder wie etwas leichter zu verfolgen ist.