Inhaltsverzeichnis:

Verbesserter 'Simon Says'-Code - Gunook
Verbesserter 'Simon Says'-Code - Gunook
Anonim
Verbesserter 'Simon Says'-Code
Verbesserter 'Simon Says'-Code

Ein aktualisiertes 'Simple Simon'-Projekt.

Insbesondere einfacher zu arbeiten mit Software-Implementierung.

Schritt 1: Erste Schritte

Einstieg
Einstieg

Ich begann mit dem instructable bei 'Simple-Simon-Says-Game'

Weitere Informationen zur allgemeinen Hardwareimplementierung finden Sie hier.

Da ich bereits ein eigenes Projekt mit 4 Tasten, 4 LEDs und einem Lautsprecher gemacht hatte, habe ich diese Hardware verwendet (siehe oben). Ich habe die Fotos ein wenig nachgebessert, um einige Aspekte zu ändern, damit sie für die Illustration in diesem Projekt besser geeignet sind.

Es verwendet einen Nano 3.0 und ich habe unterschiedliche Pinbelegungen für die Peripherie verwendet.

Übrigens, Sie könnten auch an einer vereinfachten Hardware-Version interessiert sein, die ich Instructables.com/id/Fast-Easy-Simon gemacht habe

Schritt 2: Anpassung an neue Hardware

Die Simon_Says-Skizze funktionierte bei mir nicht, da der Code auf festen Pinbelegungen beruhte. Außerdem war der Code schwer zu befolgen und hatte einige Fehler.

Also habe ich diese aktualisierte Version erstellt.

  • Fehler bei der Verwendung des Typs 'boolean' für Pin-Nummern behoben
  • Der Code wurde so geändert, dass er für alle LED- und Tastenpinzuordnungen funktioniert.
  • Der Logikfluss war zu kompliziert und an manchen Stellen zu repetitiv, sodass er schwer zu verstehen und zu debuggen war. Also habe ich es größtenteils vereinfacht.
  • Zusammen mit anderen Verbesserungen wie der Tatsache, dass ich den Namen des Klassenobjekts 'Tone' von 'speakerpin' in 'speaker' geändert und eine Bytevariable 'speakerpin' für seine Pin-#-Zuweisung erstellt habe.
  • Okt 2015: erlaubt für schnelle Tasteneingabesequenzen

Ein Download-Link für meine aktualisierte Skizze ist hier enthalten. Sie sollten es leicht finden, mit Ihrer eigenen Hardware loszulegen, indem Sie einfach die Pinbelegung am Anfang des Codes ändern. Laden Sie es herunter und haben Sie Spaß damit.

Schritt 3: Durch die populäre Nachfrage

Da es Fragen dazu gab, wie die Software mit einem Servo verwendet werden kann, um einen Latch zu betreiben, wenn ein erfolgreicher Simon-Mustervergleich durchgeführt wurde. Ich füge hier Versionen von 'Simon_Says' sowie die ähnlichen 'Simon_Sings' ein, die ich angepasst habe, um mit entsprechendem Servocode für weitere Modifikationen geeignet zu sein. Ich habe '@TODO'-Kommentare in den Code jedes einzelnen eingefügt, der anzeigt, wo der Servocode eingefügt werden soll.

Die genaue Codierung hängt von der Hardwareimplementierung und der verwendeten Servobibliothek ab. Ich habe keine Antworten für spezielle Servoprobleme. Dazu empfehle ich, Folgendes zu überprüfen: Video: So steuern Sie servosinstructables.com/id/Arduino-Servo-Motors/instructables.com/id/Access-control-with-Arduino-Keypad-4x4-Servo/For diejenigen, die weitere servobezogene Hilfe benötigen, empfehle ich einen Beitrag zum servobezogenen instructable mit den meisten Ähnlichkeiten zu ihrer Servoimplementierung.

Empfohlen: