Morseova abeceda je komunikačný systém na kódovanie ľubovoľných znakov v dvoch rôznych časoch trvania signálov nazývaných Dots and Dashes . Morzeov kód vyvinul Samuel FB a ďalej sa používa v telegrafii na prenos tajných informácií. Najpoužívanejší bol v čase druhej svetovej vojny. Morseovu abecedu je možné vykonať klepnutím, blikaním svetla alebo písaním. Morseova abeceda je k dispozícii v dvoch verziách, pôvodnej a medzinárodnej morzeovke. V medzinárodnom Morseovom kóde je pôvodná verzia upravená odstránením medzier a navrhnutím pomlčiek v konkrétnej dĺžke. Morseova abeceda a číslice sú k dispozícii na kódovanie. Používa sa hlavne v rádiovej a oceánskej komunikácii a tiež ako súčasť výcviku vojakov.
Jazyk bol vždy bariérou pre morzeovku, pretože je ťažké vykonať kód pre diakritiku v inom jazyku. Existuje niekoľko slávnych slov považovaných za dôležitú vlastnosť morseovej abecedy, napríklad „SOS“. Celá forma SOS je Save Our Souls vytvorená ako univerzálny tiesňový signál predstavuje nebezpečenstvo.
Nasledujúci obrázok zobrazuje Morseovu abecedu pre abecedy od A do Z.
Dnes v tomto výučbe zostavíme prekladač morseových kódov pomocou Arduina, ktorý prevezme akýkoľvek znak ako vstup zo sériového monitora a pomocou bzučiaka ho prevedie na ekvivalentné pípnutia morseovky.
Súčasti sú povinné
- Arduino Uno
- Bzučiak
- Nepál
- Prepojovacie vodiče
Schéma zapojenia
Pripojte kladný pin bzučiaka je na 8 -tého kolíku Arudino OSN a záporný pin dôvodu Arduino. Nahrajte kód pomocou Arduino IDE a vytvorte zvuk zadaním znakov na sériovom monitore. K Arduinu je možné pridať aj LCD na zobrazenie pomlčiek a bodiek.
Vysvetlenie programovania
Celý kód pre Arduino Morse Code Generator je uvedený na konci, tu vysvetľujeme program, aby sme pochopili fungovanie projektu.
Nasledujúci kód slúži na prijatie reťazca znakov a jeho následnú konverziu na morzeovku.
char stringToMorseCode = "";
Potom definujte pin pre bzučiak pripojený k Arduinu a výšku tónu zvuku generovaného týmto bzučiakom. Potom definujeme dĺžku bodky a čiarky.
int audio8 = 8; // výstup zvuku na pin 8 int note = 1200; // nota / rozteč int dotLen = 100; // dĺžka morseovej abecedy 'dot' int dashLen = dotLen * 3; // dĺžka morseovky „dash“
Ak sú vo funkcii void loop () k dispozícii sériové údaje, uložia sa do premennej indata . Potom číta príkaz jeden po druhom pomocou príkazu inData . Príkaz variable.toUppercase () slúži na zmenu malých znakov na veľké. Potom vytvorí zvuk podľa každej postavy.
void loop () { char inChar = 0; char inData = ""; // dĺžka dát 6 znakov String variable = ""; Reťazcová premenná1 = ""; 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 (); for (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } oneskorenie (20);
Ďalej uvedené funkcie MorseDot a MorseDash sa používajú na vytvorenie zvuku pre bodky a pomlčky.
void MorseDot () { tone (audio8, note, dotLen); // spustiť prehrávanie tónového oneskorenia (dotLen); // držať v tejto polohe } void MorseDash () { tone (audio8, note, dashLen); // spustiť prehrávanie tónového oneskorenia (dashLen); // držať na tejto pozícii }
Funkcia GetChar má kód pre všetky abecedy. Takže kedykoľvek napíšeme ľubovoľnú abecedu, z tejto funkcie sa prevezme príslušný morzeovský kód, ktorý vytvorí konkrétny zvuk.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); oneskorenie (100); MorseDash (); oneskorenie (100); prestávka; ... ... ... default: zlomu; } }
Teraz nahrajte kód do Arduina pomocou Arduino IDE a zadajte akýkoľvek znak do sériového monitora a stlačte kláves Enter na odoslanie znakov do Arduina.
Tu sme napísali „SOS“, čo je univerzálny tiesňový signál, aby sme vytvorili rovnaký zvuk.
Ukážka toho istého je uvedená vo videu nižšie.