Morse-koodi on viestintäjärjestelmä, joka koodaa minkä tahansa merkin kahdessa eri pituudessa signaaleille, joita kutsutaan pisteiksi ja viivoiksi . Morse-koodin on kehittänyt Samuel FB, ja sitä käytetään edelleen sähkeessä salaisten tietojen siirtämiseen. Sitä käytettiin eniten toisen maailmansodan aikaan. Morse-koodi voidaan suorittaa napauttamalla, vilkkumalla tai kirjoittamalla. Morse-koodi on saatavana kahtena versiona, alkuperäinen ja kansainvälinen morse-koodi. Kansainvälisessä morse-koodissa alkuperäistä versiota muokataan poistamalla välilyöntejä ja suunnittelemalla viivat tietylle pituudelle. Morse-koodi on käytettävissä aakkosien ja numeroiden koodaamiseen. Sitä käytetään pääasiassa radio- ja valtameriviestinnässä ja myös osa sotilaiden koulutusta.
Kieli on aina ollut este Morse-koodille, koska diakritisten merkkien koodia on vaikea suorittaa muulla kielellä. On joitain kuuluisia sanoja, joita pidetään Morse-koodin tärkeänä ominaisuutena, kuten 'SOS'. SOS: n täydellinen muoto on Pelastakaa sielumme, joka on luotu universaalina hätäsignaalina, joka edustaa vaaraa.
Alla olevassa kuvassa näkyy aakkosten morsekoodi A: sta Z: hen.
Tänään tässä opetusohjelmassa rakennamme Morse Code Translator -sovelluksen käyttämällä Arduinoa, joka ottaa minkä tahansa merkin syötteeksi sarjavalvonnasta ja muuntaa sen summeriksi Morse-koodia vastaaviksi piippauksiksi.
Tarvittavat komponentit
- Arduino Uno
- Summeri
- Leipälauta
- Hyppääjän johdot
Piirikaavio
Kytke summeri myönteiseen pin 8 : nnen pin Arudino UNO miinusliittimellä maahan Arduino. Lataa koodi käyttämällä Arduino IDE: tä ja kirjoita merkit sarjamonitoriin äänen luomiseksi. LCD-näyttö voidaan lisätä myös Arduinon kanssa viivan ja pisteiden näyttämiseksi.
Ohjelmoinnin selitys
Arduino Morse Code Generatorin täydellinen koodi annetaan lopussa, tässä selitämme ohjelmaa ymmärtämään projektin toimintaa.
Alla olevaa koodia käytetään merkkijonon vastaanottamiseen ja sitten sen muuntamiseen morse-koodiksi.
char stringToMorseCode = "";
Määritä sitten Arduinoon liitetyn summerin tappi ja kyseisen summerin tuottaman äänen korkeus. Sitten määritämme pisteen ja viivan pituuden.
int audio8 = 8; // äänen toisto nastalla 8 int nuotti = 1200; // nuotti / sävel int dotLen = 100; // morse-koodin pituus 'piste' int dashLen = dotLen * 3; // morse-koodin pituus 'viiva'
Vuonna void silmukka () funktio, jos sarjaliikenne on käytettävissä, se tallentaa muuttujaan Indata . Sitten se lukee merkin yksitellen komennolla inData . Komennon muuttujaa.toUppercase () käytetään muuttamaan pienet kirjaimet isoiksi. Sitten se luo äänen jokaisen merkin mukaan.
void loop () { char inChar = 0; char inData = ""; // datan pituus 6 merkkiä String muuttuja = ""; Merkkijonomuuttuja1 = ""; int-indeksi 1 = 0; jos (Sarja.käytettävissä ()> 0) { kun (Sarja.käytettävissä ()> 0 && indeksi1 <100) { viive (100); inChar = Serial.read (); inData = inChar; indeksi1 ++; inData = '\ 0'; } muuttuja.toUpperCase (); for (tavu i = 0; i <100; i ++) { muuttuja.concat (String (inData)); } viive (20);
Toimintojen alapuolella MorseDotia ja MorseDashia käytetään äänen luomiseen pisteille ja viivoille .
void MorseDot () { tone (audio8, nuotti, dotLen); // aloita ääniviive (dotLen); // pidä tässä asennossa } void MorseDash () { tone (audio8, note, dashLen); // aloita soittoäänen viive (dashLen); // pidä tässä asennossa }
Getchar toiminta, on koodi kaikille aakkoset. Joten aina kun kirjoitamme aakkoset, vastaava morse-koodi otetaan tästä toiminnosta tietyn äänen luomiseksi.
void GetChar (char tmpChar) { kytkin (tmpChar) { tapaus 'a': MorseDot (); viive (100); MorseDash (); viive (100); tauko; ... ... ... oletus: break; } }
Lataa koodi nyt Arduinoon Arduino IDE: n avulla ja kirjoita mikä tahansa merkki sarjamonitoriin ja paina Enter-näppäintä lähettääksesi merkit Arduinoon.
Täällä olemme kirjoittaneet 'SOS', joka on yleinen hätäsignaali, jotta voimme luoda äänen samalle.
Saman esittely on esitetty alla olevassa videossa.