Morseova abeceda je systém komunikace ke kódování libovolného znaku ve dvou různých dobách trvání signálů nazývaných Dots and Dashes . Morseův kód vyvinul Samuel FB a dále se používá v telegrafii pro přenos tajných informací. To bylo nejvíce používáno v době druhé světové války. Morseovu abecedu lze provést klepnutím, blikáním světla nebo psaním. Morseova abeceda je k dispozici ve dvou verzích, původní a mezinárodní morseovka. V mezinárodním Morseově abecedě je původní verze upravena odstraněním mezer a navržením pomlček v konkrétní délce. Pro kódování abeced a čísel je k dispozici Morseova abeceda. Používá se hlavně v rádiové a oceánské komunikaci a také jako součást výcviku vojáků.
Jazyk byl vždy bariérou pro Morseovu abecedu, protože je těžké provést kód pro diakritiku v jiném jazyce. Některá slavná slova jsou považována za důležitou vlastnost Morseovy abecedy, například „SOS“. Plná forma SOS je Save Our Souls vytvořená jako univerzální nouzový signál představuje nebezpečí.
Níže uvedený obrázek ukazuje Morseovu abecedu pro abecedy od A do Z.
Dnes v tomto tutoriálu sestavíme Překladač Morseovy abecedy pomocí Arduina, který převezme jakoukoli postavu jako vstup ze sériového monitoru a převede ji na pípnutí ekvivalentní morseovskému kódu pomocí bzučáku.
Požadované komponenty
- Arduino Uno
- Bzučák
- Nepájivá deska
- Propojovací vodiče
Kruhový diagram
Připojte kladný pin bzučáku je na 8 -tého kolíku Arudino OSN a záporný pin důvodu Arduino. Nahrajte kód pomocí Arduino IDE a vytvořte zvuk zadáním znaků na sériovém monitoru. K Arduinu lze také přidat LCD displej pro zobrazení pomlčky a teček.
Vysvětlení programování
Celý kód pro Arduino Morse Code Generator je uveden na konci, zde vysvětlujeme program, abychom porozuměli fungování projektu.
Níže uvedený kód se používá k přijetí řetězce znaků a následnému převodu na morseovku.
char stringToMorseCode = "";
Poté definujte kolík bzučáku připojeného k Arduinu a výšku tónu zvuku generovaného tímto bzučákem. Pak definujeme délku tečky a pomlčky.
int audio8 = 8; // výstup zvuku na pin 8 int note = 1200; // nota / výška tónu dotLen = 100; // délka morseovky 'dot' int dashLen = dotLen * 3; // délka morseovky 'dash'
Pokud jsou ve funkci void loop () k dispozici sériová data, uloží se do proměnné indata . Potom načte znak po jednom pomocí příkazu inData . Příkaz variable.toUppercase () se používá ke změně malých znaků na velká. Poté vytváří zvuk podle každé postavy.
void loop () { char inChar = 0; char inData = ""; // délka dat 6 znaků Řetězcová proměnná = ""; Řetězcová proměnná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)); } zpoždění (20);
Níže uvedené funkce MorseDot a MorseDash slouží k vytvoření zvuku pro tečku a pomlčku.
void MorseDot () { tone (audio8, note, dotLen); // zahájení přehrávání tónového zpoždění (dotLen); // držet na této pozici } void MorseDash () { tone (audio8, note, dashLen); // spustit přehrávání tónového zpoždění (dashLen); // držet na této pozici }
Funkce GetChar má kód pro všechny abecedy. Takže kdykoli napíšeme jakoukoli abecedu, je z této funkce převzat příslušný morseový kód, aby se vytvořil konkrétní zvuk.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); zpoždění (100); MorseDash (); zpoždění (100); přestávka; ... ... ... default: zlomu; } }
Nyní nahrajte kód do Arduina pomocí Arduino IDE a zadejte jakýkoli znak do sériového monitoru a stiskněte klávesu Enter pro odeslání znaků do Arduina.
Zde jsme zadali „SOS“, což je univerzální nouzový signál, abychom vytvořili stejný zvuk.
Ukázka toho samého je uvedena ve videu níže.