Morsecode ist ein Kommunikationssystem zum Codieren eines beliebigen Zeichens in zwei verschiedenen Signaldauern, die als Punkte und Striche bezeichnet werden . Der Morsecode wird von Samuel FB entwickelt und in der Telegraphie zur Übertragung geheimer Informationen weiter verwendet. Es wurde am meisten zur Zeit des Zweiten Weltkriegs verwendet. Ein Morsecode kann durch Tippen, Blinken oder Schreiben ausgeführt werden. Der Morsecode ist in zwei Versionen erhältlich, dem Original- und dem internationalen Morsecode. Im internationalen Morsecode wird die Originalversion geändert, indem Leerzeichen entfernt und die Striche in einer bestimmten Länge entworfen werden. Der Morsecode steht zum Codieren von Alphabeten und Zahlen zur Verfügung. Es wird hauptsächlich in der Funk- und Seekommunikation verwendet und ist auch Teil der Ausbildung von Soldaten.
Die Sprache war schon immer die Barriere für den Morsecode, da es schwierig ist, den Code für diakritische Zeichen in einer anderen Sprache auszuführen. Es gibt einige berühmte Wörter, die als wichtiges Merkmal des Morsecodes angesehen werden, wie 'SOS'. Die vollständige Form von SOS ist Save Our Souls, das als universelles Notsignal erstellt wurde und eine Gefahr darstellt.
Das folgende Bild zeigt den Morsecode für die Alphabete von A bis Z.
Heute werden wir in diesem Tutorial einen Morsecode-Übersetzer mit Arduino erstellen, der jedes Zeichen als Eingabe vom seriellen Monitor verwendet und es per Summer in Morsecode-äquivalente Pieptöne konvertiert.
Erforderliche Komponenten
- Arduino Uno
- Summer
- Steckbrett
- Überbrückungsdrähte
Schaltplan
Verbinden Sie den positiven stecknadel Summer an den 8 - ten Stift der Arudino UNO und der negativen Stift auf den Boden von Arduino. Laden Sie den Code mit der Arduino IDE hoch und geben Sie die Zeichen auf dem seriellen Monitor ein, um den Sound zu erstellen. Mit Arduino kann auch ein LCD hinzugefügt werden, um den Strich und die Punkte anzuzeigen.
Programmiererklärung
Der vollständige Code für den Arduino Morse Code Generator ist am Ende angegeben. Hier erklären wir das Programm, um die Funktionsweise des Projekts zu verstehen.
Der folgende Code wird verwendet, um die Zeichenfolge zu empfangen und sie dann in Morsecode umzuwandeln.
char stringToMorseCode = "";
Definieren Sie dann den Pin für den mit dem Arduino verbundenen Summer und die Tonhöhe für den von diesem Summer erzeugten Sound. Dann definieren wir die Länge von Punkt und Strich.
int audio8 = 8; // Audio an Pin 8 ausgeben int note = 1200; // Musiknote / Tonhöhe int dotLen = 100; // Länge des Morsecodes 'dot' int dashLen = dotLen * 3; // Länge des Morsecodes 'dash'
In der Leere Schleife () Funktion, wenn serielle Daten verfügbar ist, wird es in eine Variable speichern indata . Dann liest es das Zeichen einzeln mit dem Befehl inData . Der Befehl variable.toUppercase () wird verwendet, um die Kleinbuchstaben in Großbuchstaben umzuwandeln. Dann erzeugt es einen Ton für jeden Charakter.
void loop () { char inChar = 0; char inData = ""; // Datenlänge von 6 Zeichen String variable = ""; String variable1 = ""; int index1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); für (Byte i = 0; i <100; i ++) { variable.concat (String (inData)); } delay (20);
Die folgenden Funktionen MorseDot und MorseDash werden verwendet, um den Sound für Punkt und Strich zu erstellen.
void MorseDot () { Ton (Audio8, Note, DotLen); // eine Tonverzögerung abspielen (dotLen); // in dieser Position halten } void MorseDash () { Ton (Audio8, Note, DashLen); // eine Tonverzögerung abspielen (dashLen); // in dieser Position halten }
Die GetChar- Funktion enthält den Code für alle Alphabete. Wenn wir also ein Alphabet eingeben, wird der entsprechende Morsecode aus dieser Funktion entnommen, um den jeweiligen Klang zu erzeugen.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); Verzögerung (100); MorseDash (); Verzögerung (100); Unterbrechung; ... ... ... default: break; } }
Laden Sie nun den Code mit der Arduino IDE in Arduino hoch, geben Sie ein beliebiges Zeichen in den seriellen Monitor ein und drücken Sie die Eingabetaste, um die Zeichen an das Arduino zu senden.
Hier haben wir 'SOS' eingegeben, ein universelles Notsignal, um den Sound dafür zu erzeugen.
Die Demonstration dafür finden Sie im Video unten.