Inhaltsverzeichnis:

Arduino Henker in Morse - Gunook
Arduino Henker in Morse - Gunook

Video: Arduino Henker in Morse - Gunook

Video: Arduino Henker in Morse - Gunook
Video: Arduino LED Lauflicht - Knight Rider - mit Source Code 2024, Juni
Anonim
Arduino Henker in Morse
Arduino Henker in Morse

In diesem Tutorial zeige ich Ihnen, wie Sie Ihr eigenes Arduino einrichten, um Hangman zu spielen, indem Sie Morsecode mit einer einfachen Taschenlampe oder der Taschenlampenfunktion von Ihrem Telefon senden.

Alles, was Sie dazu brauchen, sind: Ein Arduino-Board.10 LED-LichterWires, um alles zu verbinden. Extra: Ein Piezo-Element (um Sound hinzuzufügen).

Schritt 1: Einrichten der LED-Leuchten

Aufstellen der LED-Leuchten
Aufstellen der LED-Leuchten

Dieses Morsespiel verwendet 4 Lichter, um die 4 Buchstaben des Wortes anzuzeigen, die erraten werden müssen, und 5 Lichter, um die Leben anzuzeigen, die der Spieler noch zu erraten hat -Licht in gewohnter Weise, wie auf dem Bild zu sehen ist.

Schritt 2: Fügen Sie einen provisorischen Lichtsensor hinzu

Wir können nicht herumlaufen und Geld in Elektrogeschäfte werfen, also habe ich beschlossen, dieses Projekt billig zu halten, indem ich ein einfaches LED-Licht als provisorischen Lichtsensor verwende.

Alles, was Sie tun müssen, ist die Plus-Seite des LED-Lichts an einen Ihrer analogen Ports (in meinem Fall A0) und die Minus-Seite an Ihre Masse anzuschließen.

Schritt 3: Fügen Sie Ihr Wörterbuch hinzu

Fügen Sie Ihr Wörterbuch hinzu
Fügen Sie Ihr Wörterbuch hinzu

Das Wichtigste zuerst, fangen wir damit an, eine Art Wörterbuch hinzuzufügen, um Buchstaben in ihre entsprechenden Morsecodes zu übersetzen. Dazu erstellen wir einfach ein Array von 26 mal 5, wobei der erste Slot jedes sekundären Arrays den Buchstaben und die 4 nächsten Slots den entsprechenden Morsecode oder ein Leerzeichen haben, wenn kein Code übrig ist. So hat zum Beispiel beim Buchstaben s der erste Steckplatz ein 's', der zweite, dritte und vierte Steckplatz ein '.' und der letzte Slot hat ' '.

Schritt 4: Lassen Sie die Lichter standardmäßig leuchten

Lassen Sie die Lichter standardmäßig leuchten
Lassen Sie die Lichter standardmäßig leuchten
Lassen Sie die Lichter standardmäßig leuchten
Lassen Sie die Lichter standardmäßig leuchten

In diesem Schritt stellen wir sicher, dass die Lichter leuchten, sobald das Programm startet, und den Buchstaben, den sie darstellen, morsieren, sobald der Benutzer sie richtig erraten hat (der Code dafür wird in Schritt 6 geschrieben). Wir stellen auch sicher, dass nur so viele Lichter für die Leben brennen, wie der Spieler noch Leben hat.

Stellen Sie zuvor sicher, dass Sie ein Array mit den Port-Nummern und Integern auf 0 gesetzt haben, um die Zeit darzustellen, zu der das Licht an- und ausgehen soll und welchen Teil des Morse das LED-Licht gerade anzeigt.

Schritt 5: Hinzufügen der Eingabe

Hinzufügen des Eingangs
Hinzufügen des Eingangs

Jetzt schreiben wir den Code, um zu überprüfen, ob der Player die LED-Leuchte, die an unserem analogen Port A0 angeschlossen ist, beleuchtet und ob er ihn in den richtigen Buchstaben übersetzen soll.

Um sicherzustellen, dass der Messwert korrekt ist, berechnen wir alle 20 Messwerte des LED-Lichts und verwenden diese Zahl, um zu verfolgen, ob das Licht aus oder an ist. Dazu setzen wir beim Start des Programms NUM_AVG auf die Anzahl, wie oft das Licht überprüft werden soll, bevor es gemittelt wird. Je höher diese Zahl ist, desto genauer ist die Ablesung, es kann jedoch auch zu Verzögerungen kommen.

msBtnPushed stellt die Zeit dar, die das Licht an war. lastPressed ist ein boolescher Wert, der festhält, ob das Licht in der vorherigen Schleife an war.

Schritt 6: Umgang mit der Eingabe

Umgang mit der Eingabe
Umgang mit der Eingabe
Umgang mit der Eingabe
Umgang mit der Eingabe

Für diesen Schritt schauen wir uns an, was zu tun ist, wenn genug Zeit vergangen ist, um davon auszugehen, dass kein Morse mehr hinzugefügt wird, und wir müssen überprüfen, ob der Morse in Formularen einen Brief geschickt hat und ob es ein richtiger Brief ist.

Dazu müssen wir die Zeichenfolge wordToGuess auf das Wort setzen, das unsere Spieler erraten sollen. Ich persönlich habe einen Zufallszahlengenerator, um es am Anfang auf ein zufälliges Wort einzustellen, aber Sie könnten es auch einfach auf ein einzelnes Wort setzen.

Wir müssen auch sicherstellen, dass der Zähler bei jeder Schleife um eins nach oben geht, sonst würde das gesamte Programm nichts tun. Außerdem habe ich die Delay-Funktion hinzugefügt, um sicherzustellen, dass jede Millisekunde eine Schleife stattfindet.

PS: Alle Funktionen von Serial.println dienen nur zu Testzwecken. Sie können nach Abschluss gelöscht werden.

GoodTimer und badTimer sind lediglich Werte für den Fall, dass Sie ein Piezo-Element zum Hinzufügen von Ton verwenden möchten. Wenn Sie dies möchten, müssen Sie auch den Code im zweiten Bild hinzufügen, der die Sounds abspielt.

Schritt 7: Morsing der richtig erratenen Buchstaben

Morsing die richtig erratenen Buchstaben
Morsing die richtig erratenen Buchstaben

Wie zuvor versprochen, werden wir in diesem Schritt die Lichter, die die richtig erratenen Buchstaben darstellen, zu ihrem Buchstaben machen.

Dafür habe ich zwei Funktionen geschrieben: morseThis und nextLetter. It verwendet die Zahlen, die wir zuvor in unserem Timer-Array eingestellt haben und ändert sie, je nachdem, welcher Teil des Morse-Codes gerade leuchtet.

Wenn der Timer die Zeit erreicht, zu der das Licht angehen soll, schaltet er einfach das Licht ein und führt den Code aus, um neue Timer einzustellen, um das Licht aus- und wieder einzuschalten. Wenn der Timer den Teil erreicht, an dem das Licht zurückgehen soll aus, es schaltet das Licht aus und stellt dann den Code ein, um den nächsten Teil des Buchstabens darzustellen. Wenn kein nächster Teil vorhanden ist, wird er auf den ersten Teil zurückgesetzt.

Schritt 8: Überprüfung unserer Einrichtung und Zurücksetzung

Überprüfung unserer Einrichtung und Zurücksetzung
Überprüfung unserer Einrichtung und Zurücksetzung

Natürlich läuft das Programm nicht, wenn die Lichter nicht auf Ausgang und Eingang eingestellt sind. Ich füge auch einen Zufallszahlengenerator hinzu, um ein Wort aus einer Liste von Wörtern hinzuzufügen, die ich in ein Array namens wordsToGuess eingefügt habe.

Außerdem sollten wir die Reset-Funktion hinzufügen und sicherstellen, dass alle Werte auf die Standardwerte zurückgesetzt werden.

Schritt 9: Alle Variablen in einem Bild

Alle Variablen in einem Bild
Alle Variablen in einem Bild

Schließlich können Sie damit überprüfen, ob Sie alle erforderlichen Variablen richtig eingerichtet haben.

Jetzt viel Spaß beim Spielen von Hangman in Morse!

Empfohlen: