جدول المحتويات:

رسالة إلى مترجم شفرة مورس: 5 خطوات
رسالة إلى مترجم شفرة مورس: 5 خطوات

فيديو: رسالة إلى مترجم شفرة مورس: 5 خطوات

فيديو: رسالة إلى مترجم شفرة مورس: 5 خطوات
فيديو: التمرين 8 - تمرين الدرس التاسع - لعبة ترجمة شيفرة مورس #python 2024, شهر نوفمبر
Anonim
رسالة إلى مترجم شفرة مورس
رسالة إلى مترجم شفرة مورس

إن رؤية تمثيلات مورس على الإنترنت لمعرفة ذلك مفيد ، ولكن لا يمكن مقارنتها برؤيتها شخصيًا بأضواء / أصوات ساطعة حقيقية. سيسمح لك هذا المترجم باختيار الحرف الذي تريد تعلمه في Morse Code ، وترجمته مباشرة أمام عينيك عن طريق وميض LED في النمط الذي يمثله لهذا الحرف المحدد! يأخذ هذا المترجم تمثيلًا ثنائيًا لحرف في الأبجدية ، (يمكن رؤية الرسم البياني لاحقًا لكل حرف مكافئ ثنائي ، لكن افترض أن A - 01 ، B - 10 ، C - 11 ، وما إلى ذلك) ويحول إلى ما يعادله في شفرة مورس عن طريق وميض الأضواء للمستخدم. يتم أيضًا عرض الإصدار العشري للرقم على شاشة عرض من سبعة أجزاء ، لإعلامك بأنك تقوم بإنشاء المكافئ الثنائي الصحيح.

يتم إنشاء الرقم الثنائي باستخدام المفاتيح الموجودة على الجانب الأيمن ، ويصعد من أقل قيمة بت ، كما تتوقع كثيرًا عند إنشاء رقم ثنائي. يتم عرض الرقم الذي تقوم بإنشائه على الشاشة المكونة من سبعة أجزاء كما هو مذكور من قبل ويقع على يسار اللوحة ، وسوف يخبرك ببساطة ما إذا كنت قد ارتكبت خطأ أم لا في تمثيل الرقم الثنائي مع المفاتيح ، أو تأكيد أنك قمت بذلك الرقم الصحيح. يستغرق الأمر حرفًا واحدًا في كل مرة ، ويخزنه في الذاكرة ، ثم يطبع رمز مورس عندما يكون المستخدم جاهزًا عن طريق تنشيط "مفتاح الطباعة" الموجود في أقصى يسار لوحة BASYS3 (هذا مجرد مفتاح آخر نقوم به نحن تم تعيينه ليكون "مفتاح الطباعة" ، أو مفتاح آخر إذا كنت تستخدم نوعًا مختلفًا من لوحة FPGA وقم بتعيين مفتاح تبديل مختلف (انظر الخطوة 3) يوصى باستخدام لوحة BASYS3 للبساطة ، ولكنها غير مطلوبة.

الخطوة 1: الخطوة 1: اجمع المواد الخاصة بك

بالنسبة لهذا المشروع ، ستحتاج فقط إلى ما يلي:

الأجهزة- Basys3 Board (أو FPGA مكافئ يمكنك توصيله وفقًا لذلك)

- (اختياري) الأسلاك إذا كنت تخطط لتوصيل مصابيح LED إضافية أو مفاتيح مختلفة بـ FPGA بديل

Software-Vivado Design Suite (نوصي 2014+)

الخطوة 2: الخطوة 2: إنشاء ملف

هذا هو الملف المكتوب في VHDL لتشغيل مترجم مورس 1 بت في فيفادو. يعمل هذا الملف مع جميع إصدارات Vivado. إذا كانت هناك مشاكل في تنزيل الملف ، فيمكن العثور على تمثيل نصي للرمز في ملف آخر أدناه ويمكن بسهولة نسخه ولصقه في مجلد الملف الذي تقوم بإنشائه. تأكد من وجود كل من المصدر الرئيسي وملف القيود وفي مصادر منفصلة خاصة بهما قبل محاولة إنشاء دفق بت أو توليف أي شيء. بالنسبة لأولئك الذين يرغبون في فهم شرح أكثر تعمقًا للشفرة وما يفعله حقًا ، تحقق من الخطوة 3. إذا كنت تريد ببساطة الوصول إلى النقطة والبدء في الترجمة ، فانتقل إلى القسم 4.

الخطوة 3: الخطوة 3: الكود

يتميز الكود الخاص بنا بـ 4 عمليات منفصلة تعمل جميعها في وقت واحد. كل قسم من الأقسام الفرعية التالية في هذه الخطوة سوف يتعمق أكثر في ما يفعله كل منهم.

العملية 1:

استخدمت العملية الأولى التي أنشأناها مقسم الساعة لجعل عرض الأجزاء السبعة يعمل لقطعتين من أجل إظهار المكافئ الثنائي للحرف الذي كان الشخص يقوم بإنشائه. كنا بحاجة للتأكد من أن الساعة تعرض الرقم بشكل صحيح لأقسام الأجزاء السبعة الصحيحة التي أردناها. قمنا بتعيين المقاطع وفقًا لذلك ، بحيث يعرضون أرقامًا معينة عندما سألناهم أيضًا ، وجعلناهم يتنقلون عبر آخر رقمين لأننا احتجنا فقط إلى 2 لإظهار جميع الأرقام في الأبجدية. لقد جعلنا الجزء السبعة معروضًا في نظام الأرقام العشري بحيث كان من السهل على الأشخاص رؤية الحرف الذي كانوا يحاولون تمثيله ، نظرًا لأن غالبية السكان يستخدمون أنظمة الأرقام العشرية الأساسية.

العملية 2:

تُنشئ العملية الثانية ساعتنا لتشغيل مصابيح LED ، حتى نتمكن من رؤية النبضات بوضوح والتمييز بين Dot و Dash ، إلى جانب الحصول على وقت كافٍ بين كل قسم من أقسام شفرة مورس. استخدمنا إشارة لتمرير حافلة مليئة بمخرجات Morse Code LED خارج العملية وعلى مصابيح LED الموجودة على اللوحة حتى نتمكن من إضاءة عدة إشارات في وقت واحد ، بدلاً من استخدام فلاش LED واحد فقط.

العملية 3:

تنظر عمليتنا الثالثة في حالات التبديل الحالية ، وتخصيص الحرف لأي تمثيل ثنائي يتم عرضه في ذلك الوقت. يمر هذا عبر كل حرف ، إلى جانب مسافة ونقطة وفاصلة. تنتهي هذه العملية هنا ، ويتم تجميع جميع الأجزاء في العملية الرابعة لإنهاء الترجمة.

العملية 4:

العملية الرابعة هي عملية "المترجم" ، والتي تأخذ جميع المعلومات التي جمعناها حتى الآن ، مثل ما إذا كان زر المتجر قد تم تنشيطه أم لا ، وما إذا كان مفتاح الطباعة قيد التشغيل أم لا ، وما الرقم الذي يتم تشغيله ممثلة بالمفاتيح. يبحث هذا بعد ذلك في مصفوفة أنشأناها ، والتي تحتوي على تمثيلات شفرة مورس لما سيكون الناتج مع أوامر 1 و 0 التي تساوي أوامر التشغيل / الإيقاف لمصابيح LED. بدلاً من استخدام ساعتين منفصلتين لدورة عمل ، صنعنا ساعة دورة عمل واحدة بنسبة 50٪ شعرنا أنها سرعة جيدة لرمز مورس ، وجعلناها تؤدي نقطة ذات "نبضة" عالية واحدة وشرطة لمدة 3 درجات عالية " نبضات." لتبسيط الشفرة وجعلها تعمل بشكل أسرع ، أنشأنا نقطة تساوي "010" وداش تساوي "01110".

الخطوة 4: الخطوة 4: إنشاء Bistream والتنفيذ

من السهل جدًا إعداد هذا المشروع إذا كان لديك BASYS3 Board نظرًا لأن جميع المفاتيح والأزرار المطلوبة موجودة بالفعل على اللوحة لتستخدمها ، إلى جانب القيود المحددة مسبقًا على المسامير التي تريدها. إذا كنت تستخدم FPGA مختلفًا ، فستحتاج إلى الدخول في الكود والعثور على القيود وإعادة توجيهها إلى القيود الصحيحة لـ FPGA الخاص بك. هذا صحيح أيضًا إذا كنت تخطط لتوصيل مصابيح LED ومفاتيح أخرى باللوحة الخاصة بك لاستخدامها. لن ندخل في أمثلة على ذلك ، ولكن استخدام دليل التعليمات الخاص بـ FPGA الخاص بك سيكون مفيدًا جدًا في تحديد كيفية توصيل كل شيء وتوجيهه إلى المسامير الصحيحة.

في هذه المرحلة ، بمجرد تنزيل الرمز ، وفتح الملف ، ما عليك سوى إنشاء تدفق البتات في Vivado وبرمجة جهازك. بمجرد الانتهاء من ذلك ، ستتمكن من البدء في إدخال الحروف لترجمتها إلى Morse Code! يتمتع!

* ملاحظة: يوجد "مفتاح الطباعة" في أقصى يسار اللوحة (المفتاح R2 للوحة BASYS3) و "زر المتجر" هو الزر U18 (الزر الأوسط في لوحة BASYS3) إذا تم أخذ القيود مباشرة من كود المثال لدينا.

الخطوة 5: المشاكل / استكشاف الأخطاء وإصلاحها

إذا كنت تواجه مشكلات في تنزيل الملف ، فيمكنك نسخ الرمز ولصقه يدويًا من ملف Word هذا. يوجد أيضًا مرفق لك للتحقق من التحويلات السهلة بين ثنائي بالحرف ، وما يجب أن تمثله الرسالة ، لذلك نوصيك بمراجعتها! إذا كنت تستخدم BASYS3 Board ، فيجب أن تكون قادرًا على اتباع هذه التعليمات وتنزيل الكود دون أي مشاكل ، وتنفيذها دون مشاكل بمجرد توصيل اللوحة وبرمجتها.

* ملاحظة: إذا وجدت أن مترجمك يبدو أنه يعمل ببطء ، فهذا أمر طبيعي! هناك تأخير زمني صغير بين وقت الضغط على print ، وعندما ترى تمثيل Morse Code لها. إذا أوقفت الدورة مؤقتًا عن طريق إيقاف تشغيل مفتاح الطباعة ، فسيتعين على الرمز إكمال الدورة قبل طباعة الحرف الجديد ، مما يتركك تنتظر انتهاء الدورة وبدء الحرف التالي.

موصى به: