Morseova abeceda je sustav komunikacije za kodiranje bilo kojeg znaka u dva različita trajanja signala koji se naziva Točke i Crtice . Morseovu azbuku razvio je Samuel FB, a dalje se koristi u telegrafiji za prijenos tajnih podataka. Najviše se koristio u vrijeme Drugog svjetskog rata. Morseova azbuka može se izvesti tapkajući, trepćući svjetlom ili zapisujući. Morseova šifra dostupna je u dvije verzije, izvornoj i međunarodnoj morse-oznaci. U međunarodnom morseovom kodu izvorna verzija je izmijenjena uklanjanjem razmaka i dizajniranjem crtica u određenoj duljini. Morseov kod je dostupan za kodiranje abeceda i brojeva. Uglavnom se koristi u radijskoj i oceanskoj komunikaciji, a također je dio obuke za vojnike.
Jezik je uvijek bio prepreka za Morseov kod, jer je teško izvesti kod za dijakritičke znakove na drugom jeziku. Postoje neke poznate riječi koje se smatraju važnim obilježjem Morseova koda poput "SOS". SOS puni oblik je Save our Souls stvoren kao univerzalni signal nevolje predstavlja opasnost.
Slika dolje prikazuje Morseovu abecedu za abecede od A do Ž.

Danas ćemo u ovom vodiču izgraditi Morseov prevoditelj pomoću Arduina koji će uzimati bilo koji znak kao ulazni signal serijskog monitora i zvučnim signalom pretvarati ga u Morseov ekvivalentni zvučni signal.
Komponente potrebne
- Arduino Uno
- Zujalica
- Breadboard
- Žice kratkospojnika
Kružni dijagram

Spojite zvučni signal je pozitivan pin na 8 -og pin od Arudino UNO i negativne pin na temelju Arduino. Učitajte kôd pomoću Arduino IDE-a i upišite znakove na serijski monitor da biste stvorili zvuk. LCD se također može dodati s Arduinom za prikaz crtica i točaka.
Objašnjenje programiranja
Kompletni kod za Arduino Morse Code Generator dan je na kraju, ovdje objašnjavamo program za razumijevanje rada projekta.
Sljedeći kod koristi se za primanje niza znakova, a zatim za njegovo pretvaranje u morseov kod.
char stringToMorseCode = "";
Zatim definirajte pin za zujalicu spojenu na Arduino i visinu zvuka koji generira taj zujalica. Tada definiramo duljinu točke i crtice.
int audio8 = 8; // izlaz zvuka na pin 8 int note = 1200; // glazbena nota / visina zvuka int dotLen = 100; // duljina Morseova koda 'točka' int dashLen = dotLen * 3; // duljina morseove šifre 'crtica'
Ako su dostupni serijski podaci, u funkciji void loop () spremit će se u promjenljive podatke. Zatim čita jedan po jedan znak pomoću naredbe inData . Naredba variable.toUppercase () koristi se za promjenu malih slova u velika slova. Tada stvara zvuk prema svakom liku.
void loop () { char inChar = 0; char inData = ""; // duljina podataka od 6 znakova String variable = ""; Niz varijabla1 = ""; int indeks1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; indeks1 ++; inData = '\ 0'; } varijabla.toUpperCase (); for (bajt i = 0; i <100; i ++) { variable.concat (String (inData)); } kašnjenje (20);
Ispod funkcija MorseDot i MorseDash koriste se za stvaranje zvuka za točkice i crtice.
void MorseDot () { ton (audio8, bilješka, dotLen); // započinje reprodukcija kašnjenja tona (dotLen); // zadržavanje na ovom položaju } void MorseDash () { ton (audio8, bilješka, crticaLen); // započinje reprodukcija kašnjenja tona (dashLen); // zadržite na ovom položaju }
Funkcija GetChar ima kôd za sve abecede. Dakle, kad god upišemo bilo koju abecedu, odgovarajuća morseova šifra uzima se iz ove funkcije da bi se stvorio određeni zvuk.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); kašnjenje (100); MorseDash (); kašnjenje (100); pauza; ... ... ... zadana: pauza; } }
Sada prenesite kôd u Arduino pomoću Arduino IDE-a i upišite bilo koji znak u serijski monitor i pritisnite tipku Enter za slanje znakova u Arduino.
Ovdje smo upisali "SOS", koji je univerzalni signal za pomoć, kako bismo stvorili zvuk za isti.

Demonstracija istog data je u video ispod.
