Morsekod är ett system för kommunikation för att koda alla tecken i två olika varaktigheter av signaler som kallas prickar och streck . Morse-kod är utvecklad av Samuel FB och används vidare i telegrafi för överföring av hemlig information. Det användes mest vid andra världskrigets tid. En morsekod kan utföras genom att knacka, blinka ljus eller skriva. Morse-koden finns i två versioner, originalet och den internationella morse-koden. I den internationella morse-koden modifieras originalversionen genom att ta bort mellanslag och designa streck i en viss längd. Morse-koden är tillgänglig för kodning av alfabet och siffror. Det används främst i radio- och havskommunikation och också en del av träningen för soldater.
Språket har alltid varit barriären för Morse-koden, eftersom det är svårt att utföra koden för diakritiska tecken på andra språk. Det finns några kända ord som anses vara viktiga inslag i Morse-kod som 'SOS'. SOS fullform är Save Our Souls skapad som en universell nödsignal representerar fara.
Bilden nedan visar Morse-koden för alfabet från A till Z.
Idag i den här guiden kommer vi att bygga en Morse Code Translator med Arduino som tar vilken karaktär som helst som en ingång från seriell bildskärm och konverterar den till Morse-kod motsvarande ljudsignal med en summer.
Komponenter krävs
- Arduino Uno
- Summer
- Bakbord
- Bygeltrådar
Kretsschema
Anslut summerns positiva stift till den åttonde stiftet på Arudino UNO och den negativa stiftet till marken på Arduino. Ladda upp koden med Arduino IDE och skriv in tecknen på den seriella bildskärmen för att skapa ljudet. En LCD kan också läggas till med Arduino för att visa streck och prickar.
Programmeringsförklaring
Den kompletta koden för Arduino Morse Code Generator ges i slutet, här förklarar vi programmet för att förstå hur projektet fungerar.
Koden nedan används för att ta emot teckensträngen och sedan konvertera den till morskod.
char stringToMorseCode = "";
Definiera sedan stiftet för summern som är ansluten till Arduino och tonhöjden för ljudet som genereras av den summern. Sedan definierar vi längden på punkt och streck.
int audio8 = 8; // mata ut ljud på stift 8 int not = 1200; // musiknot / tonhöjd int dotLen = 100; // längden på morskoden 'dot' int dashLen = dotLen * 3; // längden på morskoden "streck"
I void loop () -funktionen, om seriell data är tillgänglig, sparas den i en variabel indata . Sedan läser den karaktären en efter en med kommandot inData . Kommandovariabeln.toUppercase () används för att ändra gemener till versaler. Då skapar det ljud enligt varje karaktär.
void loop () { char inChar = 0; char inData = ""; // datalängd på 6 tecken Strängvariabel = ""; Strängvariabel1 = ""; 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)); } fördröjning (20);
Nedanstående funktioner MorseDot och MorseDash används för att skapa ljud för punkt respektive streck.
ogiltig MorseDot () { ton (audio8, not, dotLen); // börja spela en tonfördröjning (dotLen); // håll i denna position } ogiltig MorseDash () { ton (audio8, not, dashLen); // börja spela en tonfördröjning (dashLen); // håll i denna position }
Den getchar funktionen har koden för alla alfabet. Så, när vi skriver något alfabet, tas respektive morsekod från denna funktion för att skapa det specifika ljudet.
ogiltig GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); fördröjning (100); MorseDash (); fördröjning (100); ha sönder; ... ... ... standard: bryta; } }
Ladda nu upp koden till Arduino med Arduino IDE och skriv valfri karaktär i den seriella bildskärmen och tryck på Enter-knappen för att skicka tecknen till Arduino.
Här har vi skrivit 'SOS' som är en universell nödsignal för att skapa ljudet för samma.
Demonstrationen för detsamma ges i videon nedan.