מורס קוד היא מערכת של תקשורת כדי לקודד כל תו בשני משכי זמן שונים של אותות שנקרא נקודות ו מקפים . קוד מורס פותח על ידי סמואל FB ומשמש עוד יותר בטלגרפיה להעברת מידע סודי. זה היה בשימוש הגבוה ביותר בזמן מלחמת העולם השנייה. ניתן לבצע קוד מורס על ידי הקשה, אור מהבהב או כתיבה. קוד מורס זמין בשתי גרסאות, המקור והקוד מורס בינלאומי. בקוד המורס הבינלאומי, הגרסה המקורית משתנה על ידי הסרת רווחים ועיצוב המקפים באורך מסוים. קוד המורס זמין לקידוד אלפבית ומספרים. משתמשים בו בעיקר בתקשורת רדיו ואוקיאנוס וגם חלק מההדרכה לחיילים.
השפה תמיד הייתה המחסום עבור קוד המורס, מכיוון שקשה לבצע את הקוד עבור תווים דיאקריטים בשפה אחרת. יש כמה מילים מפורסמות שנחשבות לתכונה חשובה בקוד מורס כמו 'SOS'. הטופס המלא של SOS הוא Save Our Souls שנוצר כאות מצוקה אוניברסלי מייצג סכנה.
בתמונה למטה מוצג קוד מורס לאלפבית מ- A עד Z.
היום במדריך זה נבנה מתרגם קוד מורס באמצעות Arduino שייקח כל תו כקלט ממוניטור סדרתי וימיר אותו לצפצופים מקבילים של מורס על ידי זמזם.
רכיבים נדרשים
- ארדואינו אונו
- זַמזָם
- קרש לחם
- חוטי מגשר
תרשים מעגל
חבור את הסיכה החיובית של הבאזר 8 th הסיכה של UNO Arudino ואת הסיכה השלילית לקרקע של Arduino. העלה את הקוד באמצעות Arduino IDE והקלד את התווים בצג הטורי ליצירת הצליל. ניתן להוסיף LCD עם Arduino גם כדי להציג את המקף והנקודות.
הסבר על תכנות
הקוד השלם למחולל קוד Arseino Morse ניתן בסוף, כאן אנו מסבירים את התוכנית להבנת עבודתו של הפרויקט.
הקוד שלהלן משמש לקבלת מחרוזת התווים ואז להמיר אותה לקוד מורס.
char stringToMorseCode = "";
לאחר מכן הגדירו את הסיכה לזמזם המחובר לארדואינו ואת גובה הצליל שנוצר על ידי אותו זמזם. ואז אנו מגדירים את אורך הנקודה והמקף.
int audio8 = 8; // פלט שמע על סיכה 8 int הערה = 1200; // תו מוסיקה / המגרש int dotLen = 100; // אורך קוד המורס 'dot' int dashLen = dotLen * 3; // אורך קוד המורס 'מקף'
ב לולאת החלל () הפונקציה, אם נתוני סדרתי נגישים, זה יחסוך לתוך משתנה indata . ואז הוא קורא את הדמות אחת אחת באמצעות הפקודה inData . משתנה הפקודה. toUppercase () משמש כדי לשנות את התווים הקטנים לרישיות. ואז זה יוצר צליל לפי כל דמות.
לולאה בטלה () { char inChar = 0; char inData = ""; // אורך נתונים של 6 תווים משתנה מחרוזת = ""; משתנה מחרוזת 1 = ""; אינדקס int1 = 0; אם (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); עבור (בתים i = 0; i <100; i ++) { variable.concat (String (inData)); } עיכוב (20);
למטה פונקציות MorseDot ו- MorseDash משמשים ליצירת הצליל עבור נקודה ומקף בהתאמה.
בטל MorseDot () { טון (audio8, note, dotLen); // התחל לנגן עיכוב בטון (dotLen); // החזק בעמדה זו } בטל MorseDash () { טון (audio8, הערה, dashLen); // התחל לנגן עיכוב בטון (dashLen); // החזק בתפקיד זה }
Getchar פונקציה יש את הקוד של כל אלפבית. לכן, בכל פעם שאנחנו מקלידים אלפבית כלשהו, קוד מורס בהתאמה נלקח מהפונקציה הזו כדי ליצור את הצליל המסוים.
בטל GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); עיכוב (100); מורסדאש (); עיכוב (100); לשבור; ... ... ... ברירת מחדל: הפסקה; } }
כעת העלה את הקוד לארדואינו באמצעות Arduino IDE והקלד כל תו לצג הטורי ולחץ על כפתור Enter כדי לשלוח את הדמויות לארדואינו.
כאן הקלדנו 'SOS' שהוא אות מצוקה אוניברסלי, כדי ליצור את הצליל לאותו דבר.
ההפגנה לכך ניתנת בסרטון להלן.