Morse-kode er et kommunikationssystem, der koder ethvert tegn i to forskellige varighed af signaler kaldet Dots and Dashes . Morse-kode er udviklet af Samuel FB og bruges yderligere i telegrafi til overførsel af hemmelig information. Det blev mest brugt på tidspunktet for Anden Verdenskrig. En morse-kode kan udføres ved at banke på, blinke eller skrive. Morse-koden fås i to versioner, den originale og den internationale morse-kode. I den internationale morskode ændres den originale version ved at fjerne mellemrum og designe bindestregerne i en bestemt længde. Morse-koden er tilgængelig til kodning af alfabeter og tal. Det bruges hovedsageligt i radio- og havkommunikation og også en del af træning for soldater.
Sproget har altid været barrieren for Morse-koden, da det er svært at udføre koden for diakritiske tegn på et andet sprog. Der er nogle berømte ord, der betragtes som et vigtigt træk ved morse-kode som 'SOS'. SOS fuld form er Save Our Souls oprettet som et universelt nødsignal repræsenterer fare.
Nedenstående billede viser morse-koden for alfabeterne fra A til Z.
I dag i denne vejledning vil vi opbygge en Morse Code Translator ved hjælp af Arduino, som tager et hvilket som helst tegn som input fra seriel skærm og konverterer det til Morse-kode ækvivalente bip med summer.
Komponenter, der kræves
- Arduino Uno
- Summer
- Brødbræt
- Jumper ledninger
Kredsløbsdiagram
Forbind summeren positive pin til 8 th pin af Arudino UNO og den negative pin til jorden af Arduino. Upload koden ved hjælp af Arduino IDE, og skriv tegnene på den serielle skærm for at skabe lyden. En LCD kan også tilføjes med Arduino for at vise bindestreg og prikker.
Programmering Forklaring
Den komplette kode til Arduino Morse Code Generator er givet i slutningen, her forklarer vi programmet for at forstå projektets funktion.
Nedenstående kode bruges til at modtage tegnstrengen og derefter konvertere den til morskode.
char stringToMorseCode = "";
Definer derefter stiften til summeren, der er forbundet med Arduino, og tonehøjden for den lyd, der genereres af den summer. Derefter definerer vi længden på prik og bindestreg.
int audio8 = 8; // output lyd på pin 8 int note = 1200; // musiknote / tonehøjde int dotLen = 100; // længden af morskoden 'dot' int dashLen = dotLen * 3; // længden af morskoden 'dash'
I void loop () -funktionen, hvis serielle data er tilgængelige, gemmes de i en variabel indata . Derefter læser det tegnet en efter en ved hjælp af kommandoen inData . Kommandovariablen.toUppercase () bruges til at ændre små bogstaver til store bogstaver. Derefter skaber det lyd i henhold til hver karakter.
ugyldig sløjfe () { char inChar = 0; char inData = ""; // datalængde på 6 tegn Stringvariabel = ""; Strengvariabel1 = ""; int indeks1 = 0; hvis (Serial.available ()> 0) { mens (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); for (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } forsinkelse (20);
Nedenfor bruges MorseDot og MorseDash til at skabe lyden for henholdsvis punkt og bindestreg.
ugyldig MorseDot () { tone (audio8, note, dotLen); // start afspilning af en toneforsinkelse (dotLen); // hold i denne position } ugyldig MorseDash () { tone (audio8, note, dashLen); // start afspilning af en toneforsinkelse (dashLen); // hold i denne position }
Den getchar funktionen har koden for alle alfabeter. Så når vi skriver et hvilket som helst alfabet, tages den respektive morskode fra denne funktion for at skabe den bestemte lyd.
ugyldigt GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); forsinkelse (100); MorseDash (); forsinkelse (100); pause; … ... … standard: pause; } }
Upload nu koden til Arduino ved hjælp af Arduino IDE, og skriv et hvilket som helst tegn i den serielle skærm, og tryk på Enter-knappen for at sende tegnene til Arduino.
Her har vi skrevet 'SOS', som er et universelt nødsignal, for at skabe lyden til det samme.
Demonstrationen for det samme er givet i videoen nedenfor.