A morzekód egy kommunikációs rendszer, amely bármelyik karaktert kétféle időtartamban kódolja a Pöttyök és Dashek nevű jeleknek. A morze kódot Samuel FB fejlesztette ki, és a távíróban tovább használják titkos információk továbbítására. Leginkább a második világháború idején használták. A Morse kódot koppintással, villogással vagy írással lehet végrehajtani. A morze kód két változatban érhető el, az eredeti és a nemzetközi morze kóddal. A nemzetközi morze-kódban az eredeti változatot a szóközök eltávolításával és a kötőjelek meghatározott hosszúságú kialakításával módosítják. A Morse kód elérhető ábécék és számok kódolására. Főleg a rádió és az óceán kommunikációjában használják, és a katonák kiképzésének is része.
A nyelv mindig is gátja volt a morze-kódnak, mivel nehéz a diakritikus karakterek kódját más nyelven végrehajtani. Van néhány híres szó, amelyet az Morse-kód fontos jellemzőjének tartanak, mint például az „SOS”. Az SOS teljes formája a Mentsd meg a lelkünket, amelyet univerzális vészjelzésként hoztak létre, veszélyt jelent.
Az alábbi képen az A-tól Z-ig terjedő ábécék morzekódja látható.
Ma ebben az oktatóanyagban felépítünk egy Morse Code Translator-t az Arduino segítségével, amely bármely karaktert beveszi a soros monitor bemenetévé, és morze-kódnak megfelelő hangjelzéssé alakítja.
Szükséges alkatrészek
- Arduino Uno
- Berregő
- Kenyérlemez
- Jumper huzalok
Kördiagramm
Csatlakoztassa a berregő pozitív pin a 8 th pin a Arudino UNO és a negatív pin a földre a Arduino. Töltse fel a kódot az Arduino IDE segítségével, és a hang létrehozásához írja be a karaktereket a soros monitorra. LCD is hozzáadható az Arduino-val a kötőjel és a pontok megjelenítéséhez.
Programozási magyarázat
Az Arduino Morse Code Generator teljes kódját a végén adjuk meg, itt elmagyarázzuk a programot, hogy megértsük a projekt működését.
Az alábbi kód használható a karakterlánc fogadására, majd átalakítására morze-kóddá.
char stringToMorseCode = "";
Ezután határozza meg az Arduino-hoz csatlakoztatott hangjelzőcsapot és az adott hangjelző hangmagasságát. Ezután meghatározzuk a pont és a kötőjel hosszát.
int audio8 = 8; // hang kimenete a 8. tűn int jegy = 1200; // kotta / hangmagasság int dotLen = 100; // a morze kód hossza 'dot' int dashLen = dotLen * 3; // a „dash” morze kód hossza
A void loop () függvényben, ha soros adatok állnak rendelkezésre, akkor változó indattá menti őket. Ezután az inData paranccsal egyesével elolvassa a karaktert. A változó.toUppercase () parancs arra szolgál, hogy a kisbetűket nagybetűvé változtassa. Ezután minden karakter szerint létrehozza a hangot.
void loop () { char inChar = 0; char inData = ""; // 6 karakteres adathossz String változó = ""; String változó1 = ""; int index1 = 0; if (Soros.elérhető ()> 0) { míg (Soros.elérhető ()> 0 && index1 <100) { késleltetés (100); inChar = Soros.olvasás (); inData = inChar; index1 ++; inData = '\ 0'; } változó.toUpperCase (); for (byte i = 0; i <100; i ++) { változó.concat (String (inData)); } késleltetés (20);
A függvények alatt a MorseDot és a MorseDash a pont és a kötőjel hangjának létrehozására szolgál.
void MorseDot () { tone (audio8, note, dotLen); // hang késés lejátszásának megkezdése (dotLen); // tartsa ebben a helyzetben } void MorseDash () { tone (audio8, note, dashLen); // hang késés lejátszásának megkezdése (dashLen); // tartsd ebben a helyzetben }
A GetChar függvény rendelkezik az összes ábécé kódjával. Tehát, amikor bármilyen ábécét beírunk, a megfelelő morzekódot ebből a függvényből vesszük, hogy létrehozzuk az adott hangot.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a' eset: MorseDot (); késés (100); MorseDash (); késés (100); szünet; ... ... ... alapértelmezett: törés; } }
Most töltse fel a kódot az Arduino-ba az Arduino IDE használatával, és írjon be bármilyen karaktert a soros monitorba, majd nyomja meg az Enter gombot a karakterek elküldéséhez az Arduino-hoz.
Itt beírtuk az 'SOS' szót, amely egy univerzális vészjelzés, hogy ugyanannak a hangot hozzuk létre.
A bemutatót az alábbi videó tartalmazza.