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

المنبه الأساسي 3: 9 خطوات
المنبه الأساسي 3: 9 خطوات

فيديو: المنبه الأساسي 3: 9 خطوات

فيديو: المنبه الأساسي 3: 9 خطوات
فيديو: telling the time شرح السؤال والجواب عن الساعة والوقت باللغة الانجليزية 2024, شهر نوفمبر
Anonim
ساعة منبه Basys 3
ساعة منبه Basys 3

ينشئ مشروعنا منبهًا باستخدام لوحة Basys 3 FPGA و Arduino ولوحة تشغيل مكبر الصوت. يمكن للمستخدم إدخال الوقت الحالي على اللوحة باستخدام 11 مفتاح إدخال على Basys 3 وقفل القيمة باستخدام الزر الأوسط على اللوحة. يمكن للمستخدم بعد ذلك إدخال وقت التنبيه باستخدام نفس المفاتيح ولكن الضغط على الزر الأيسر لقفل وقت التنبيه. إذا تم إدخال الوقت الخطأ ، يمكن الضغط على زر إعادة الضبط (الزر العلوي) وسيتم ضبط وقت الساعة الحالي ووقت التنبيه على 00:00. يمكن للمستخدم بعد ذلك بدء تشغيل الساعة باستخدام مفتاح التبديل الموجود في أقصى اليسار وتشغيل المنبه باستخدام المفتاح التالي. عند تشغيل المنبه ، ستصدر المنبه صوتًا عند تطابق وقت الساعة وتعيين وقت التنبيه.

الخطوة 1: مخطط الصندوق الأسود

مخطط الصندوق الأسود
مخطط الصندوق الأسود
مخطط الصندوق الأسود
مخطط الصندوق الأسود

بدأنا مشروعنا برسم مخطط الصندوق الأسود لتصور المدخلات والمخرجات المطلوبة في برنامجنا. تم تهيئة المدخلات التالية لبرنامجنا مثل إدخال 5 بت (Hour_in) لتحديد وقت 24 ساعة ، إدخال 6 بت (Min_in) لعرض ما يصل إلى 60 دقيقة ، زر إعادة تعيين (Rst_b) للسماح للمستخدم تغيير إدخال الوقت ، إدخال 1 بت (alm_en) الذي يقوم بتحميل إدخال التنبيه ، إدخال 1 بت (alarm_sw) لإيقاف تشغيل المنبه عند تنشيطه ، إدخال 1 بت (e_sec) يتحكم في وقت العداد من الثواني ، إدخال 1 بت (Led_btn) يحدد الوقت الحالي ، وأخيرًا إدخال 1 بت (clk) يتحكم في الوقت المعروض بواسطة لوحة Basys 3. المخرجات هي (alm_on) التي ترسل الإشارة إلى Arduino ، ومخرج sseg الذي يعرض وقت الإدخال على Basys 3 ، ومخرج الأنود الذي يتحكم في مكان عرض المدخلات على عرض المقاطع السبعة.

الخطوة 2: الساعة البطيئة

الساعة البطيئة
الساعة البطيئة

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

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

عداد
عداد
عداد
عداد

عداد المكون (الدقائق والثواني):

الوظيفة الأساسية للدقائق والثواني هي أنها عدادات. يأخذ عداد الدقائق الإدخال (Vin) وهو إشارة من المدخلات (Min_in) ، ثم يعد حتى يصل إلى الإدخال المطلوب المدخل. تستغرق الثواني فقط إدخال المفتاح (e_Sec) لأنه لا يمكن عرضها على المقطع السابع ، ويتم احتسابها في الخلفية بمجرد أن يكون المفتاح مرتفعًا "1". كلاهما ينتج قيمة إلى (Qout) ، ثم يتم تخزينها في (البيانات) التي ترسلها إلى SSEG والتي تتم في ملف الربط. أيضًا ، عندما تصل الدقائق والثواني إلى قيم 59 ، يتم إعادة تعيينها ، ويكون ناتجها "1" لزيادة الدقائق / الساعة. يمكن أيضًا تعيينها باستخدام إعادة تعيين (rst_b) لمدخلاتها.

الخطوة 4: عداد الساعة

ساعة العداد
ساعة العداد
ساعة العداد
ساعة العداد

ساعة عداد المكون

وبالمثل ، بالنسبة للعداد المكون للدقائق والثواني ، يأخذ مكون الساعة مدخلات مثل (Vin) وهي إشارة من ربط إدخال الملف (Hour_in) ، وله مخرجات مرتبطة بنفس طريقة الدقائق والثواني. عندما تصل قيمة العد للساعة إلى 24 00 يتم إعادة تعيينها إلى 00 00.

الخطوة 5: التنبيه

إنذار
إنذار
إنذار
إنذار
إنذار
إنذار
إنذار
إنذار

يتكون ملف المنبه.vhd من d-flip-flops وهي أجهزة تخزين يمكنها تخزين البيانات الرقمية. يتم استخدام ملف التنبيه لتخزين الوقت الذي سيتم فيه تنشيط المنبه. لتخزين بيانات الساعات (إدخال 5 بت) والدقائق (إدخال 6 بت) ، يجب علينا التخلص من 11 d-flip-flops داخل ملف التنبيه الخاص بنا. للقيام بذلك ، يجب علينا أولاً استيراد المنطق الذي يحكم تشغيل d-flip-flops وتعيين المكونات. سيخزن كل من 11 d-flip-flops بت واحدًا من البيانات من المدخلات ويسمح بتعيين البيانات لمخرجات ملف التنبيه. نظرًا لأن d-flip-flops يخزن البيانات ، يمكننا استخدام البيانات في وقت لاحق حتى إذا تم تغيير مفاتيح الإدخال.

الخطوة 6: برنامج تشغيل العرض العالمي المكون من سبعة أجزاء

برنامج تشغيل العرض العالمي المكون من سبعة أجزاء
برنامج تشغيل العرض العالمي المكون من سبعة أجزاء
برنامج تشغيل العرض العالمي المكون من سبعة أجزاء
برنامج تشغيل العرض العالمي المكون من سبعة أجزاء
برنامج تشغيل العرض العالمي المكون من سبعة أجزاء
برنامج تشغيل العرض العالمي المكون من سبعة أجزاء

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

الخطوة 7: رابط الملف

ملف الارتباط
ملف الارتباط
ملف الارتباط
ملف الارتباط
ملف الارتباط
ملف الارتباط

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

الخطوة 8: اردوينو

اردوينو
اردوينو
اردوينو
اردوينو

يتم استخدام اردوينو لتنشيط السماعة وكذلك التحكم في نغمة ومدة الملاحظة التي يتم تشغيلها من خلال السماعة. يقرأ اردوينو إشارة رقمية من لوحة Basys 3. عندما تكون هذه الإشارة عالية ، سيخرج اردوينو إشارة PWM للتحكم في نغمة ومدة التنبيه. تتصل إشارة الخرج من اردوينو بإشارة الإدخال الخاصة بلوحة تشغيل مكبر الصوت مما يزيد من حجم مكبر الصوت. يقوم اردوينو بهذه العملية بسرعة كبيرة تتكرر عدة مرات في الثانية.

الخطوة 9: توجيه الكابل

كابل التوجيه
كابل التوجيه

يجب توصيل لوحة arduino و Basys 3 فعليًا لنقل الإشارات بين الألواح. سيكون أول كبل إلى سلك هو الدبوس الأرضي لـ JA PMOD الخاص بـ Basys 3 إلى الدبوس الأرضي في اردوينو. بعد ذلك ، قم بتوصيل سلك من الطرف 1 من JA PMOD من Basys 3 إلى الدبوس الرقمي 7 من arduino. بعد ذلك ، قم بتوصيل دبابيس أرضية من اردوينو بالمسامير الأرضية لبرنامج تشغيل السماعة. بعد ذلك ، قم بتوصيل خرج 3.3 فولت من arduino بدبوس Vcc لبرنامج تشغيل السماعة. بعد ذلك ، قم بتوصيل الدبوس الرقمي 9 الخاص بـ arduino بمنفذ In من برنامج تشغيل السماعة.

موصى به: