विषयसूची:

बाइनरी ट्री मोर्स डिकोडर: 7 कदम (चित्रों के साथ)
बाइनरी ट्री मोर्स डिकोडर: 7 कदम (चित्रों के साथ)

वीडियो: बाइनरी ट्री मोर्स डिकोडर: 7 कदम (चित्रों के साथ)

वीडियो: बाइनरी ट्री मोर्स डिकोडर: 7 कदम (चित्रों के साथ)
वीडियो: Introduction to Encoder and Decoder | Digital Electronics 2024, दिसंबर
Anonim
Image
Image
सर्किट आरेख
सर्किट आरेख

यह निर्देशयोग्य बताता है कि Arduino Uno R3 का उपयोग करके मोर्स कोड को कैसे डिकोड किया जाए।

डिकोडर, जो स्वचालित रूप से भेजने की गति को समायोजित करता है, मोर्स को कम से कम 80 शब्द प्रति मिनट तक डिकोड करने में सक्षम है।

आने वाला कोड आपके Arduino सीरियल मॉनिटर पर टेक्स्ट के रूप में प्रदर्शित होता है (या यदि फिट हो तो TFT स्क्रीन)

यदि आप मोर्स भेजने का अभ्यास करना चाहते हैं तो एक टोन ऑसिलेटर शामिल किया गया है।

डिकोडर विशेषताएं:

  • ३२० x २४० टीएफटी डिस्प्ले मॉड्यूल [1]
  • अवांछित संकेतों को अलग करने के लिए एक गोएर्टज़ेल डिजिटल बैंडपास फ़िल्टर।
  • सिग्नल को डिकोड करने के लिए "बाइनरी मोर्स ट्री"
  • ऑटो-स्पीड ट्रैकिंग
  • मोर्स का अभ्यास करते समय एक श्रव्य आउटपुट
  • इनकमिंग और आउटगोइंग दोनों टेक्स्ट प्रदर्शित होते हैं।

निम्नलिखित वर्ण और प्रतीक पहचाने जाते हैं:

  • [ए..जेड]
  • [0..9]
  • [., ? ' ! / () &:; = + - _ " @]

मोर्स डिकोडर शील्ड की अनुमानित लागत, टीएफटी डिस्प्ले से कम, $25 है। [1]

इमेजिस

  • कवर फोटो एक पूरी तरह से इकट्ठी इकाई दिखाता है
  • वीडियो डिकोडर को काम करते हुए दिखाता है

टिप्पणियाँ

[1]

  • TFT डिस्प्ले मॉड्यूल वैकल्पिक है क्योंकि सभी टेक्स्ट आपके Arduino "सीरियल मॉनिटर" को भेजे जाते हैं।
  • TFT मॉड्यूल का वर्णन मेरे निर्देशयोग्य

चरण 1: भागों की सूची

निम्नलिखित भाग https://www.aliexpress.com/ से प्राप्त किए गए थे।

Arduino UNO R3, 2.54mm पिच के लिए केवल 1 प्रोटोटाइप शील्ड

निम्नलिखित भागों को स्थानीय रूप से प्राप्त किया गया था:

  • 1 केवल LM358 दोहरी opamp
  • 1 केवल एलईडी हरा
  • 1 केवल एलईडी क्लिप
  • 1 केवल इलेक्ट्रेट माइक्रोफोन कैप्सूल
  • 1 केवल सामान्य रूप से खुला पुश-बटन
  • 1 केवल 8-पिन डीआईपी सॉकेट
  • 2 केवल 330 ओम प्रतिरोधक
  • 2 केवल 2K2 प्रतिरोधक
  • 5 केवल 10K ओम प्रतिरोधक
  • 2 केवल 56K ओम प्रतिरोधक
  • 2 केवल 1uF संधारित्र
  • 1 केवल 10uF संधारित्र

निम्नलिखित भाग वैकल्पिक हैं:

  • 1 केवल 2.2 इंच TFT SPI LCD डिस्प्ले मॉड्यूल 240*320 ILI9341 Arduino के लिए SD कार्ड स्लॉट के साथ रास्पबेरी पाई 51/AVR/STM32/ARM/PIC [1]
  • मोर्स कुंजी / पुश-बटन
  • 1 केवल BC548 NPN ट्रांजिस्टर
  • १ केवल १ इंच का स्पीकर
  • 1 केवल 33K ओम रोकनेवाला
  • 1 केवल 3.5 मिमी मोनो प्लग (मोर्स कुंजी के लिए)
  • 1 केवल 3.5 मिमी मोनो सॉकेट (मोर्स कुंजी के लिए)
  • 3 केवल 9mm M3 टैप किए गए नायलॉन स्पेसर
  • 1 केवल 130 x 68 x 44 मिमी एबीएस प्लास्टिक बॉक्स
  • 5 केवल 2-पिन समकोण कनेक्टर

मोर्स डिकोडर शील्ड की अनुमानित लागत, वैकल्पिक टीएफटी डिस्प्ले से कम, $25 है। [1]

टिप्पणियाँ

[1]

वैकल्पिक 320 x 240 TFT डिस्प्ले मॉड्यूल के लिए भागों की सूची मेरे निर्देश योग्य

[2]

यदि आप प्रेषक का उपयोग करना चाहते हैं तो एक मोर्स कुंजी या मजबूत पुश-बटन की आवश्यकता होती है।

चरण 2: सर्किट आरेख

सर्किट आरेख
सर्किट आरेख
सर्किट आरेख
सर्किट आरेख
सर्किट आरेख
सर्किट आरेख

इमेजिस

फोटो 1मोर्स डिकोडर के लिए सर्किट आरेख दिखाता है। मोर्स कुंजी के साथ श्रृंखला में 330 ओम रोकनेवाला एक आकस्मिक शॉर्ट टू ग्राउंड की स्थिति में डी 4 आउटपुट करंट को सीमित करता है … इसके मूल्य को बढ़ाने से स्पीकर से ऑडियो आउटपुट कम हो जाता है। इस कारण से मैंने इसे ढाल में नहीं जोड़ा है, लेकिन समायोजन में आसानी के लिए इसे सीधे मोर्स-की जैक से जोड़ दिया है।

फोटो 2 एक मिलान ढाल दिखाता है। ढाल मेरे निर्देश योग्य https://www.instructables.com/id/Arduino-TFT-Grap… से है जिसमें मैंने माइक्रोफ़ोन एम्पलीफायर और टोन ऑसिलेटर जोड़ा है। [1]

फोटो 3 एक Arduino से जुड़ी पूरी ढाल को दिखाता है। यदि टेक्स्ट को आपके Arduino "सीरियल मॉनिटर" पर देखा जाना है तो किसी अन्य घटक की आवश्यकता नहीं है।

फोटो 4 डिकोडर को आंशिक रूप से बॉक्सिंग दिखाता है। डिस्प्ले देखने के लिए ढक्कन में एक छेद काटा गया है। स्पीकर और माइक्रोफोन को केस से जोड़ा गया है। स्पीकर को माउंट करने से पहले ढक्कन में कुछ स्पीकर-होल ड्रिल करें। ढक्कन पर केंद्र सॉकेट एक विस्तार माइक्रोफोन के लिए है … इसके बिना डिकोडर को स्पीकर के पास रखा जाना चाहिए जो हमेशा संभव नहीं होता है।

फोटो 5 टीएफटी स्क्रीन दिखाता है। ब्लैक इलेक्ट्रिकल टेप को डिस्प्ले के किनारों से जोड़ा गया है… यह टेप लाइट लीकेज को रोकता है और डिस्प्ले और ढक्कन में खुलने के बीच किसी भी तरह के मिसलिग्न्मेंट को मास्क करता है।

जरूरी

[1]

बड़े USB कनेक्टर वाले Arduinos को USB कनेक्टर और Arduino शील्ड के बीच विद्युत टेप की एक परत की आवश्यकता होती है। टेप के बिना आकस्मिक शॉर्ट्स संभव हैं क्योंकि निकासी छोटी है। छोटे कनेक्टर वाले Arduinos के लिए टेप की आवश्यकता नहीं होती है।

चरण 3: सिद्धांत

सिद्धांत
सिद्धांत
सिद्धांत
सिद्धांत
सिद्धांत
सिद्धांत

प्रत्येक मोर्स कोड अक्षर में "डॉट्स" और "डैश" नामक छोटी और लंबी अवधि के स्वरों की एक श्रृंखला शामिल होती है।

  • एक बिंदु (।) लंबाई में 1 इकाई है
  • एक डैश (_) लंबाई में 3 इकाई है
  • अक्षर तत्वों के बीच का स्थान 1 इकाई है
  • अक्षरों के बीच का स्थान 3 इकाई है
  • शब्दों के बीच का स्थान 7 इकाई है

हम यह निर्धारित कर सकते हैं कि आने वाली टोन डॉट या डैश है, इसकी अवधि की तुलना लंबाई में 2 इकाइयों के संदर्भ टोन के साथ की जाती है।

  • एक बिंदु 2 इकाइयों से कम है
  • एक पानी का छींटा 2 इकाइयों से बड़ा है

डॉट्स और डैश के आने वाले पैटर्न को डिकोड करने के लिए दो अलग-अलग तरीके हैं:

  • रैखिक खोज
  • बाइनरी ट्री (जिसे द्विपरमाणुक खोज के रूप में भी जाना जाता है)

रैखिक खोज

वर्णों की एक सरणी और उनके मेल खाने वाले मोर्स पैटर्न बनाना एक सामान्य तरीका है। उदाहरण के लिए निम्नलिखित में से प्रत्येक वर्ण को इस प्रकार सहेजा जाएगा:

  • ए । _
  • बी _ ।..
  • सी _ । _।
  • 0 _ _ _ _ _
  • 1. _ _ _ _
  • 2.. _ _ _

प्रत्येक अक्षर के लिए 6 कोशिकाओं की आवश्यकता होती है … 1 अक्षर के लिए और 5 (.) और (_) के लिए। ऐसा करने के लिए हमें कुल २१६ कोशिकाओं के साथ एक अक्षर [३६] [६] वर्ण सरणी की आवश्यकता है। अप्रयुक्त कोशिकाओं को सामान्य रूप से शून्य या रिक्त स्थान से भरा जाता है।

आने वाले बिंदुओं और डैश को डीकोड करने के लिए हमें प्रत्येक आने वाले अक्षर के डॉट/डैश पैटर्न की हमारे संदर्भ चरित्र पैटर्न के साथ तुलना करनी चाहिए।

जबकि यह विधि काम करती है, यह बेहद धीमी है।

मान लें कि हमारे पास 26 अक्षर ('ए',..' जेड') और अंक ('0', … '9') एक सरणी में संग्रहीत हैं, तो हमें 36 खोज करनी चाहिए, प्रत्येक में 5 उप-खोज तक, जो अंक '9' को डिकोड करने के लिए कुल 36*5=180 खोज है।

बाइनरी ट्री

एक द्विआधारी खोज बहुत तेज है क्योंकि किसी खोज की आवश्यकता नहीं है।

रैखिक खोज के विपरीत, जिसमें चरित्र और मोर्स पैटर्न दोनों को संग्रहीत करने की आवश्यकता होती है, बाइनरी ट्री केवल वर्णों को संग्रहीत करता है जिसका अर्थ है कि सरणी का आकार छोटा है।

मैंने इसे और अधिक पठनीय बनाने के लिए अपने बाइनरी ट्री (फोटो 1) को दो हिस्सों (फोटो 2 और 3) में विभाजित किया है।

एक चरित्र को खोजने के लिए हम हर बार एक बिंदु सुनते समय एक पॉइंटर को बाईं ओर ले जाते हैं और हर बार जब हम एक डैश सुनते हैं तो पॉइंटर को दाईं ओर ले जाते हैं। प्रत्येक चाल के बाद हम अगले कदम के लिए सूचक दूरी को आधा कर देते हैं … इसलिए नाम बाइनरी ट्री।

अक्षर '9' (डैश, डैश, डैश, डैश, डॉट) को डीकोड करने के लिए 5 चालों की आवश्यकता होती है … 4 दाईं ओर, और 1 बाईं ओर जो पॉइंटर को सीधे '9' पर छोड़ देता है।

180 खोजों की तुलना में पांच चालें काफी तेज हैं !!!!!

बाइनरी कैरेक्टर एरे भी छोटा है … 26 अक्षर और 10 अंकों के लिए केवल 64 x 1 लाइन एरे की आवश्यकता होती है। मैंने एक 128 वर्ण सरणी बनाना चुना है ताकि मैं विराम चिह्न को डीकोड कर सकूं।

चरण 4: डिजाइन नोट्स

डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स
डिजाइन नोट्स

हस्तक्षेप करने वाले संकेतों की उपस्थिति में मोर्स को डिकोड करना मुश्किल है। अवांछित संकेतों को अस्वीकार कर दिया जाना चाहिए … इसके लिए किसी प्रकार के फ़िल्टर की आवश्यकता होती है।

कई संभावनाएं हैं:

  1. चरण-बंद लूप
  2. प्रारंभ करनेवाला-संधारित्र फिल्टर
  3. प्रतिरोधी-संधारित्र सक्रिय फ़िल्टर
  4. डिजिटल सिग्नल प्रोसेसिंग जैसे फास्ट फूरियर ट्रांसफॉर्म, या गोएर्टज़ेल फ़िल्टर।

विधियों 1, 2, 3 में बाहरी घटकों की आवश्यकता होती है जो भारी होते हैं।

विधि 4 के लिए किसी बाहरी घटक की आवश्यकता नहीं है … गणितीय एल्गोरिदम का उपयोग करके आवृत्तियों का पता लगाया जाता है।

फास्ट फूरियर ट्रांसफॉर्म (एफएफटी)

एक जटिल तरंग में एक स्वर की उपस्थिति का पता लगाने का एक तरीका फास्ट फूरियर ट्रांसफॉर्म का उपयोग करना है

फोटो 1 दिखाता है कि कैसे एफएफटी (फास्ट फूरियर ट्रांसफॉर्म) ऑडियो स्पेक्ट्रम को "बिन्स" में विभाजित करता है।

फोटो 2 से पता चलता है कि एफएफटी "डिब्बे" सिग्नल का जवाब कैसे देते हैं … इस मामले में 800 हर्ट्ज। यदि 1500Hz का दूसरा संकेत मौजूद होता तो हमें दो प्रतिक्रियाएँ दिखाई देतीं … एक 800Hz पर और दूसरी 1500Hz पर।

सिद्धांत रूप में एक विशेष एफएफटी आवृत्ति बिन के आउटपुट स्तर की निगरानी करके एक मोर्स कोड डिकोडर बनाया जा सकता है … एक बड़ी संख्या एक डॉट या डैश की उपस्थिति का प्रतिनिधित्व करती है … एक छोटी संख्या बिना सिग्नल का प्रतिनिधित्व करती है।

फोटो 2 में "बिन 6" की निगरानी करके ऐसा मोर्स कोड डिकोडर बनाया जा सकता है, लेकिन इस दृष्टिकोण में कई चीजें गलत हैं:

  • हम केवल एक फ़्रीक्वेंसी बिन चाहते हैं … बाकी व्यर्थ गणनाएँ हैं
  • आवृत्ति डिब्बे ब्याज की आवृत्ति पर बिल्कुल प्रकट नहीं हो सकते हैं
  • यह अपेक्षाकृत धीमा है (20mS प्रति Arduino लूप ()

एक अन्य तरीका गोएर्टज़ेल फ़िल्टर का उपयोग करना है।

गोएर्टज़ेल फ़िल्टर

गोएर्टज़ेल फ़िल्टर एफएफटी के समान है लेकिन इसमें केवल एक आवृत्ति बिन है।

Photo3 ऑडियो चरणों को अलग करने के लिए एक गोएर्टज़ेल फ़िल्टर की आवृत्ति प्रतिक्रिया दिखाता है।

फोटो 4 समान फ़्रीक्वेंसी रेंज पर एक ही फ़िल्टर का स्वीप है।

मैंने गोएर्टज़ेल एल्गोरिथ्म के साथ "जाने" का फैसला किया:

  • Arduino "fix_FFT" लाइब्रेरी का उपयोग करके FFT समाधान के लिए Goertzel एल्गोरिथम का उपयोग करते हुए Arduino लूप () समय 14mS (मिलीसेकंड) बनाम 20mS (मिलीसेकंड) था।
  • गोएर्टज़ेल बैंडपास फ़िल्टर की केंद्र आवृत्ति सेट करना आसान है।
  • बैंडविड्थ लगभग 190Hz है।

जब टोन का पता लगाया जाता है तो फोटो 5 900Hz गोएर्टज़ेल फ़िल्टर से संख्यात्मक आउटपुट दिखाता है। मैंने अपनी टोन थ्रेशोल्ड को ४००० के मान पर सेट किया है … ४००० से ऊपर के मान एक स्वर को इंगित करते हैं।

सिद्धांत रूप में आपको बस अपने फ़िल्टर को एक आरामदायक सुनने की आवृत्ति पर ट्यून करने की आवश्यकता है। दुर्भाग्य से मेरे 1 इंच मॉनिटरिंग स्पीकर से ऑडियो आउटपुट तेजी से 900Hz से नीचे चला जाता है। किसी भी समस्या से बचने के लिए मैं 950Hz की फ़िल्टर आवृत्ति का उपयोग कर रहा हूँ। वैकल्पिक फ़िल्टर आवृत्तियों की गणना के लिए आवश्यक सूत्र मेरे कोड हेडर में पाए जाते हैं।

डिकोडिंग

डॉट्स और डैश को डिकोड करना उतना आसान नहीं है जितना पहले दिखता है।

परफेक्ट मोर्स को इस प्रकार परिभाषित किया गया है:

  • बिंदु = 1 इकाई
  • अक्षर के अंदर रिक्त स्थान = 1 इकाई
  • डैश = 3 यूनिट
  • अक्षरों के बीच का स्थान = 3 इकाई
  • शब्दों के बीच का स्थान = 7 इकाई

परफेक्ट मोर्स को डिकोड करने के लिए हमें केवल 2 यूनिट्स की रेफरेंस टोन अवधि की आवश्यकता होती है

  • डॉट <2 इकाइयां
  • तत्व स्थान <2 इकाइयां
  • डैश> 2 इकाइयां
  • पत्र _स्पेस > 2 इकाइयां
  • word_space > 6 इकाइयां (अर्थात 3 x संदर्भ इकाइयां)

यह मशीन मोर्स के लिए काम करता है लेकिन "वास्तविक दुनिया" में:

  • भेजने की गति भिन्न होती है
  • प्रत्येक बिंदु की अवधि भिन्न होती है
  • प्रत्येक डैश की अवधि भिन्न होती है
  • अक्षर ई, आई, एस, एच, 5 में केवल बिंदु होते हैं जो औसत अवधि के लिए औसत होते हैं
  • अक्षर T, M, O, 0 में केवल डैश होते हैं जो औसत डैश अवधि के लिए होते हैं
  • शब्द अंतराल नहीं आ सकता है
  • लुप्त होती त्रुटियां पैदा करती हैं जिससे डिकोडर को पुनर्प्राप्त करना होगा।
  • हस्तक्षेप के कारण भ्रष्ट संकेत

केवल डॉट्स और डैश वाले अक्षरों को आंशिक रूप से हल किया जाता है यदि:

हम संदर्भ अवधि का अनुमान तब तक लगाते हैं जब तक हमें एक मान्य बिंदु और एक मान्य डैश प्राप्त नहीं हो जाता। मैं 200 मिलीसेकंड का उपयोग करता हूं जो मान्य है यदि भेजने की गति 6 WPM (शब्द प्रति मिनट) और 17 WPM के बीच है। यदि आप मोर्स सीख रहे हैं तो आपको इस मूल्य को बढ़ाने की आवश्यकता हो सकती है। सॉफ्टवेयर में एक स्पीड टेबल शामिल है।

गति भिन्नताएं हल की जाती हैं यदि:

  • हम प्रत्येक बिंदु और प्रत्येक डैश पर एक रोलिंग औसत करते हैं और
  • प्रत्येक प्रतीक प्राप्त होने के बाद संदर्भ अवधि की पुनर्गणना करें

शब्द अंतराल और शब्द अंतराल नहीं आ रहे हैं यदि हम हल कर रहे हैं:

  • अंतिम अनुगामी-किनारे (टोन टू नो-टोन) संक्रमण के समय को याद रखें,
  • प्रत्येक अक्षर के बाद एल्गोरिथ्म को पुनरारंभ करें,
  • अगले अग्रणी-किनारे (नो-टोन टू टोन) संक्रमण की प्रतीक्षा करते हुए बीता हुआ समय की गणना करें और
  • यदि 6 समय इकाइयों को पार कर लिया गया है तो एक स्थान डालें।

मोर्स थरथरानवाला

मैंने शुरुआत में कुछ पीजो बज़र्स की कोशिश की लेकिन पाया:

  • आवृत्ति तय की गई थी
  • लंबे समय तक सुनने के लिए आउटपुट आवृत्ति बहुत अधिक थी
  • पाइज़ोस गोएर्टज़ेल पासबैंड से बाहर निकलने की प्रवृत्ति रखते थे

मैंने तब 750Hz स्क्वेयरवेव के साथ एक ध्वनिक ट्रांसड्यूसर चलाने की कोशिश की, लेकिन पाया कि इसमें एक प्रतिध्वनि थी जिसने 1 और 3 हार्मोनिक्स को फ़िल्टर किया। फोटो 6 माइक्रोफोन एम्पलीफायर आउटपुट को 750Hz स्क्वायर-वेव में दिखाता है … हम 5 वां हार्मोनिक देख रहे हैं !!!

फिर मैंने एक छोटे स्पीकर का उपयोग किया। फोटो 7 माइक्रोफ़ोन आउटपुट को 750Hz स्क्वायरवेव में दिखाता है जो एक छोटे स्पीकर को भेजा गया था … इस बार हम मौलिक देख रहे हैं … 5 वाँ हार्मोनिक नहीं। गोएर्टज़ेल फ़िल्टर किसी भी हार्मोनिक्स को अनदेखा करता है।

टिप्पणियाँ

[1]

en.wikipedia.org/wiki/Goertzel_algorithm

www.embedded.com/the-goertzel-algorithm/

चरण 5: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर
सॉफ्टवेयर

इंस्टालेशन

  • संलग्न फ़ाइल डाउनलोड करें MorseCodeDecoder.ino [1]
  • इस फ़ाइल की सामग्री को एक नए Arduino स्केच में कॉपी करें
  • स्केच को "MorseCodeDecoder" के रूप में सहेजें (उद्धरण के बिना)
  • स्केच को संकलित करें और अपने Arduino पर अपलोड करें

सॉफ्टवेयर अपडेट 23 जुलाई 2020

संलग्न फ़ाइल "MorseCodeDecoder6.ino" में निम्नलिखित विशेषताएं जोड़ी गई हैं

  • एक "सटीक ब्लैकमैन" विंडो [2]
  • एक "Noise_blanker"

समायोजन:

  • अपने रिसीवर ऑडियो स्तर को तब तक बढ़ाएं जब तक कि एलईडी झिलमिलाहट शुरू न हो जाए और फिर वापस बंद हो जाए
  • अब अपने रिसीवर को तब तक ट्यून करें जब तक कि आने वाले मोर्स के साथ एलईडी फ्लैश न हो जाए
  • Noise_blanker को 8mS (एक लूप समय) तक के शोर को नज़रअंदाज़ करने के लिए सेट किया गया है
  • Debug=true सेट करके और अपने सीरियल प्लॉटर को देखकर शोर सीमा को समायोजित किया जा सकता है

ध्यान दें

[1]

यदि आप भी टेक्स्ट देखना चाहते हैं तो अपने Arduino सीरियल मॉनिटर को 115200 बॉड पर सेट करें।

[2]

  • फोटो 1 … सटीक ब्लैकमैन विंडो
  • फोटो 2 … सटीक ब्लैकमैन विंडो के बिना गोएर्टज़ेल फ़िल्टर
  • सटीक ब्लैकमैन विंडो के साथ फोटो 3, गोएर्टज़ेल फ़िल्टर लागू

चरण 6: ऑपरेशन

डिकोडर

मोर्स सुनते समय यूनिट को स्पीकर के बगल में रखें।

  • इलेक्ट्रेट माइक्रोफोन कैप्सूल आपके स्पीकर से मोर्स सिग्नल लेता है।
  • प्रसंस्करण के लिए Arduino को पास करने से पहले इलेक्ट्रेट माइक्रोफोन के आउटपुट को 647 गुना (56dB) बढ़ाया जाता है।
  • एक गोएर्टज़ेल डिजिटल बैंडपास फ़िल्टर शोर से मोर्स सिग्नल निकालता है।
  • डिकोडिंग एक बाइनरी ट्री का उपयोग करके किया जाता है।
  • डिकोडर आउटपुट 320 x 240 पिक्सेल TFT डिस्प्ले पर टेक्स्ट के रूप में प्रदर्शित होता है। यदि आप डिस्प्ले का उपयोग नहीं करना चाहते हैं तो यह आपके Arduino "सीरियल मॉनिटर" को भी भेजा जाता है।

मोर्स प्रेषक

एक मोर्स भेजने वाले को भी शामिल किया गया है। यह आपको मोर्स भेजने का अभ्यास करने की अनुमति देता है और निम्नानुसार काम करता है:

  • Arduino पिन 4 पर एक निरंतर श्रव्य स्वर उत्पन्न होता है।
  • जब भी हम मोर्स-की दबाते हैं तो हम डिकोडर के लाउड-स्पीकर के माध्यम से इस स्वर को सुनते हैं।
  • टोन को गोएर्टज़ेल फ़िल्टर के समान आवृत्ति पर सेट किया गया है जो डिकोडर को यह सोचने में मूर्ख बनाता है कि वह असली मोर्स को सुन रहा है … आप जो कुछ भी भेजते हैं वह डिस्प्ले पर मुद्रित टेक्स्ट के रूप में दिखाई देगा।

आपके भेजने में सुधार होगा क्योंकि डिकोडर सामान्य त्रुटियों को उठाता है जैसे:

  • प्रतीकों के बीच बहुत अधिक स्थान। (उदाहरण: क्यू को एमए के रूप में पिन किया गया)
  • अक्षरों के बीच बहुत अधिक स्थान (उदाहरण: अब NO W के रूप में मुद्रित)
  • गलत कोड़

चरण 7: सारांश

डिकोडर

यह निर्देशयोग्य वर्णन करता है कि मोर्स डिकोडर कैसे बनाया जाता है जो मोर्स कोड को मुद्रित पाठ में परिवर्तित करता है।

  • डिकोडर कम से कम 80 WPM (प्रति मिनट शब्द) तक मोर्स को डिकोड करने में सक्षम है
  • डिकोडर स्वचालित रूप से प्राप्त प्रेषण-गति में भिन्नताओं को ट्रैक करता है।
  • टेक्स्ट आपके सीरियल मॉनीटर पर प्रदर्शित होता है (या 320 x 240 टीएफटी डिस्प्ले मॉड्यूल पर यदि फिट किया गया हो) [1]

प्रेषक

एक मोर्स भेजने वाले को भी शामिल किया गया है

  • प्रेषक आपके मोर्स भेजने की गुणवत्ता में सुधार करने में आपकी सहायता करता है।
  • डिकोडर पुष्टि करता है कि आपने जो भेजा है वह सही है

भागों की लागत

मोर्स डिकोडर शील्ड की अनुमानित लागत, वैकल्पिक टीएफटी डिस्प्ले से कम, $25 है।

मेरे अन्य अनुदेशों को देखने के लिए यहां क्लिक करें।

ऑडियो चैलेंज 2020
ऑडियो चैलेंज 2020
ऑडियो चैलेंज 2020
ऑडियो चैलेंज 2020

ऑडियो चैलेंज 2020 में दूसरा पुरस्कार

सिफारिश की: