Inhaltsverzeichnis:

Buchstaben-Morse-Code-Übersetzer - Gunook
Buchstaben-Morse-Code-Übersetzer - Gunook

Video: Buchstaben-Morse-Code-Übersetzer - Gunook

Video: Buchstaben-Morse-Code-Übersetzer - Gunook
Video: Tipps&Tricks: Morse Code einfach & Schnell mit Handy App decodieren – Battlefield 5 Easter Egg 2024, Juli
Anonim
Letter-to-Morse-Code-Übersetzer
Letter-to-Morse-Code-Übersetzer

Es ist hilfreich, Morsecode-Darstellungen online zu sehen, um sie zu lernen, aber nicht damit zu vergleichen, sie persönlich mit echten blinkenden Lichtern / Geräuschen zu sehen. Mit diesem Übersetzer können Sie den Buchstaben auswählen, den Sie im Morsecode lernen möchten, und ihn direkt vor Ihren Augen übersetzen, indem Sie die LEDs in dem Muster blinken lassen, das er für diesen bestimmten Buchstaben darstellt! Dieser Übersetzer nimmt eine binäre Darstellung eines Buchstabens im Alphabet auf (eine Tabelle kann später für das binäre Äquivalent jedes Buchstabens gesehen werden, aber nehmen Sie an, dass A - 01, B - 10, C - 11 usw.) und konvertiert es in ein Morse-Code-Äquivalent durch blinkende Lichter für den Benutzer. Die Dezimalversion der Zahl wird jedoch auch auf einer Siebensegmentanzeige angezeigt, um Sie darüber zu informieren, dass Sie das richtige binäre Äquivalent erstellen.

Die Binärzahl wird mit den Schaltern auf der rechten Seite erstellt und steigt vom niedrigstwertigen Bit an, ähnlich wie Sie es beim Erstellen einer Binärzahl erwarten würden. Die von Ihnen erstellte Zahl wird wie oben beschrieben auf der Sieben-Segment-Anzeige angezeigt und befindet sich auf der linken Seite der Tafel die richtige Nummer. Es nimmt jeweils 1 Buchstaben auf, speichert ihn im Speicher und druckt dann den Morsecode aus, wenn der Benutzer bereit ist, indem er den "Druckschalter" ganz links auf der BASYS3-Platine aktiviert (dies ist einfach ein weiterer Schalter, den wir als "Print Switch" oder einem anderen Schalter zugewiesen werden, wenn Sie einen anderen FPGA-Board-Typ verwenden und einen anderen Schalter zuweisen (siehe Schritt 3) Es wird der Einfachheit halber empfohlen, ein BASYS3-Board zu verwenden, dies ist jedoch nicht erforderlich.

Schritt 1: Schritt 1: Sammeln Sie Ihre Materialien

Für dieses Projekt benötigen Sie nur Folgendes:

Hardware-Basys3-Board (Oder ein gleichwertiges FPGA, das Sie entsprechend verdrahten können)

-(OPTIONAL) Drähte, wenn Sie zusätzliche LEDs oder andere Schalter an ein alternatives FPGA anschließen möchten

Software-Vivado Design Suite (Wir empfehlen 2014+)

Schritt 2: Schritt 2: Erstellen Sie eine Datei

Dies ist die in VHDL geschriebene Datei, um den Morsecode-1-Bit-Übersetzer in Vivado auszuführen. Diese Datei funktioniert mit allen Versionen von Vivado. Bei Problemen mit dem Dateidownload kann eine Textdarstellung des Codes in einer anderen Datei unten gefunden werden und kann einfach in den von Ihnen erstellten Dateiordner kopiert und eingefügt werden. Stellen Sie sicher, dass sowohl die Hauptquelle als auch die Einschränkungsdatei vorhanden sind und sich in ihren eigenen separaten Quellen befinden, bevor Sie versuchen, einen Bitstream zu generieren oder etwas zu synthetisieren. Für diejenigen, die eine eingehendere Erklärung des Codes und seiner wirklichen Funktion erfahren möchten, lesen Sie Schritt 3. Wenn Sie einfach zum Punkt kommen und mit der Übersetzung beginnen möchten, fahren Sie mit Abschnitt 4 fort.

Schritt 3: Schritt 3: der Code

Unser Code umfasst 4 separate Prozesse, die alle gleichzeitig ausgeführt werden. Jeder der folgenden Unterabschnitte in diesem Schritt wird detaillierter darauf eingehen, was jeder von ihnen tut.

Prozess 1:

Der erste von uns erstellte Prozess verwendete einen Taktteiler, damit die Siebensegmentanzeige für zwei Segmente funktioniert, um das binäre Äquivalent des Buchstabens anzuzeigen, den die Person erstellt hat. Wir mussten sicherstellen, dass die Uhr die Zahl der richtigen sieben Segmente, die wir wollten, korrekt anzeigte. Wir haben die Segmente entsprechend zugewiesen, damit sie auch bestimmte Ziffern anzeigen, wenn wir sie gefragt haben, und haben die letzten 2 Ziffern durchlaufen lassen, da wir nur 2 brauchten, um alle Zahlen im Alphabet anzuzeigen. Wir haben die Sieben-Segment-Anzeige im Dezimalzahlensystem erstellt, damit die Leute leichter erkennen können, welchen Buchstaben sie darstellen möchten, da die Mehrheit der Bevölkerung Zahlensysteme zur Basis 10 verwendet.

Prozess 2:

Der zweite Prozess erstellt unsere Uhr für die LEDs, damit wir die Impulse klar sehen und zwischen dem Punkt und dem Strich unterscheiden können und zwischen jedem Abschnitt des Morsecodes ausreichend Zeit haben. Wir nutzten ein Signal, um einen Bus voller Morsecode-LED-Ausgänge außerhalb des Prozesses und auf die LEDs auf der Platine zu leiten, sodass wir mehrere gleichzeitig aufleuchten konnten, anstatt nur einen LED-Blitz zu haben.

Prozess 3:

Unser dritter Prozess betrachtet die aktuellen Zustände der Schalter und weist den Buchstaben der jeweils angezeigten Binärdarstellung zu. Dies geht durch jeden der Buchstaben, zusammen mit einem Leerzeichen, einem Punkt und einem Komma. Dieser Prozess endet hier, und alle Teile werden im vierten Prozess gesammelt, um die Übersetzung abzuschließen.

Prozess 4:

Der vierte Prozess ist der "Übersetzer"-Prozess, der alle bisher gesammelten Informationen aufnimmt, z durch die Schalter dargestellt. Dies untersucht dann ein von uns erstelltes Array, das Morse-Code-Darstellungen davon enthält, was die Ausgabe mit Einsen und Nullen wäre, die den Ein-/Aus-Befehlen für die LEDs entsprechen. Anstatt zwei separate Takte mit Arbeitszyklus zu verwenden, haben wir einen einzigen Takt mit 50% Arbeitszyklus erstellt, der unserer Meinung nach eine gute Geschwindigkeit für Morsecode war, und ließen ihn einen Punkt mit 1 hohen "Impuls" und einen Strich für 3 hohe "" ausführen. Pulse." Um den Code zu vereinfachen und schneller laufen zu lassen, haben wir nur einen Punkt gleich "010" und einen Strich gleich "01110" gemacht.

Schritt 4: Schritt 4: Generieren des Bistreams und Implementieren

Dieses Projekt ist sehr einfach einzurichten, wenn Sie ein BASYS3-Board haben, da alle erforderlichen Schalter und Tasten bereits auf der Platine vorhanden sind, damit Sie sie verwenden können, zusammen mit den auf die gewünschten Pins voreingestellten Einschränkungen. Wenn Sie ein anderes FPGA verwenden, müssen Sie in den Code gehen und die Einschränkungen finden und sie auf die richtigen Einschränkungen für Ihr FPGA umleiten. Dies gilt auch, wenn Sie andere LEDs und Schalter zur Verwendung an Ihr Board anschließen möchten. Wir werden hier nicht auf Beispiele eingehen, aber die Verwendung der Bedienungsanleitung Ihres spezifischen FPGA wäre sehr hilfreich, um zu bestimmen, wie Sie alles zu den richtigen Pins verdrahten und verlegen.

Sobald Sie den Code heruntergeladen und die Datei geöffnet haben, generieren Sie einfach den Bitstream in Vivado und programmieren Sie Ihr Gerät. Sobald Sie dies getan haben, können Sie mit der Eingabe von Buchstaben beginnen, die in den Morsecode übersetzt werden sollen! Genießen!

*HINWEIS: Der "Print Switch" befindet sich ganz links auf der Platine (Switch R2 für das BASYS3-Board) und der "Store Button" ist der Button U18 (der mittlere Button im BASYS3-Board), wenn die Einschränkungen direkt von unser Beispielcode.

Schritt 5: Probleme/Fehlerbehebung

Wenn Sie Probleme beim Herunterladen der Datei haben, können Sie den Code manuell aus dieser Word-Datei kopieren und einfügen. Es gibt auch einen Anhang, den Sie für einfache Konvertierungen zwischen Binär in den Buchstaben und dem, was der Buchstabe darstellen soll, überprüfen können. Wir empfehlen Ihnen daher, sie auszuprobieren! Wenn Sie das BASYS3 Board verwenden, sollten Sie diese Anleitung befolgen und den Code ohne Probleme herunterladen und nach Anschluss des Boards und Programmierung problemlos implementieren können.

*HINWEIS: Wenn Sie feststellen, dass Ihr Übersetzer langsam läuft, ist dies normal! Es gibt eine kleine Zeitverzögerung zwischen dem Drücken von Drucken und dem Anzeigen der Morsecode-Darstellung. Wenn Sie den Zyklus durch Ausschalten des Druckschalters anhalten, muss der Code den Zyklus abschließen, bevor der neue Buchstabe gedruckt wird, sodass Sie warten müssen, bis der Zyklus beendet ist und der nächste Buchstabe beginnt.