فهرست مطالب:
- مرحله 1: نمودار جعبه سیاه
- مرحله 2: ساعت آهسته
- مرحله 3: شمارنده
- مرحله 4: ساعت ضد
- مرحله 5: زنگ هشدار
- مرحله 6: درایور صفحه نمایش Universal Segment Segment
- مرحله 7: پیوند فایل
- مرحله 8: آردوینو
- مرحله 9: مسیریابی کابل
تصویری: ساعت زنگ دار Basys 3: 9 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
پروژه ما با استفاده از برد Basys 3 FPGA ، آردوینو و برد بلندگوی بلندگو ، یک ساعت زنگ دار ایجاد می کند. کاربر می تواند با استفاده از 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) که سیگنال را به آردوینو ارسال می کند ، خروجی sseg که زمان ورودی را در Basys 3 نمایش می دهد ، و خروجی آند است که محل نمایش ورودی ها را در صفحه هفت قسمت نمایش می دهد.
مرحله 2: ساعت آهسته
آهسته ساعت یا فایل clock_div2 ساعتی را ایجاد می کند که فرکانس آن 2 هرتز است. اگر این ساعت را به شمارنده ثانیه خود وارد کنیم ، مقدار ثانیه در هر ثانیه یک افزایش می یابد. ساعت آهسته برای ایجاد یک سیگنال ساعت قابل اعتماد استفاده می شود که یک بار در ثانیه از کم به زیاد تغییر می کند.
مرحله 3: شمارنده
شمارنده اجزاء (دقیقه و ثانیه):
عملکرد اصلی دقیقه و ثانیه این است که شمارنده هستند. شمارنده دقیقه ورودی (Vin) را که سیگنال ورودی است (Min_in) می گیرد و سپس شمارش می کند تا به ورودی مورد نظر وارد شود. ثانیه ها فقط در ورودی سوئیچ (e_Sec) طول می کشد زیرا نمی تواند در قسمت هفتم نمایش داده شود و هنگامی که سوئیچ "1" زیاد شد ، در پس زمینه شمارش می شود. هر دو مقدار (Qout) را در آنجا خروجی می دهند ، و سپس در (data) ذخیره می شود که آن را به SSEG ارسال می کند که در فایل پیوند انجام می شود. همچنین ، وقتی دقیقه و ثانیه به مقادیر 59 برسد بازنشانی می شود و خروجی آنها برای افزایش دقیقه/ساعت 1 است. همچنین می تواند با تنظیم مجدد (rst_b) به ورودی های آنها نقشه برداری شود.
مرحله 4: ساعت ضد
ساعت شمارنده اجزاء
به طور مشابه ، به شمارنده اجزای دقیقه و ثانیه ، م hourلفه ساعت ورودی هایی مانند (Vin) را که سیگنالی از پیوند ورودی فایل (Hour_in) است ، دریافت می کند و دارای خروجی هایی است که به همان ترتیب دقیقه و ثانیه به هم متصل می شوند. وقتی مقدار شمارش ساعت به 24 00 برسد به 00 00 بازنشانی می شود.
مرحله 5: زنگ هشدار
فایل.vhd آلارم از d-flip-flops تشکیل شده است که دستگاه های ذخیره سازی هستند و می توانند داده های دیجیتالی را ذخیره کنند. از فایل هشدار برای ذخیره زمانی که زنگ هشدار فعال می شود استفاده می شود. برای ذخیره داده های ساعت (ورودی 5 بیتی) و دقیقه ها (ورودی 6 بیتی) باید 11 دمپای فلاپ فلاپ را در فایل هشدار خود مهر کنیم. برای انجام این کار ، ابتدا باید منطق حاکم بر عملکرد d-flip-flops را وارد کرده و قطعات را ترسیم کنیم. هر یک از 11 d-flip-flops یک بیت از داده های ورودی را ذخیره کرده و اجازه می دهد داده ها در خروجی های فایل هشدار نقشه برداری شوند. از آنجا که d-flip-flops داده ها را ذخیره می کند ، ما می توانیم از داده ها در زمان بعدی استفاده کنیم حتی اگر سوئیچ های ورودی تغییر کرده باشند.
مرحله 6: درایور صفحه نمایش Universal Segment Segment
درایور صفحه نمایش جهانی هفت بخش ورودی ها را از مجموعه ساعت و ساعت دریافت می کند و قادر است آنها را به صفحه نمایش هفت بخش روی برد خروجی برساند. راننده قادر است دو عدد جداگانه را همزمان روی صفحه نمایش دهد. ما از این تابع برای نمایش زمان ساعت و دقیقه به طور جداگانه استفاده کردیم. نمایشگر هفت قسمتی فقط قادر است یک عدد را در یک زمان فعال کند ، بنابراین فایل sseg باید از multiplexing برای نمایش همزمان همه اعداد آن زمان استفاده کند. سیگنال ساعت تخته ها به sseg وارد می شود تا زمان صحیح برای مالتی پلکس را حفظ کند. برای تبدیل ورودی های فایل به فرمی که می تواند در صفحه نمایش هفت قسمت خروجی داشته باشد ، یک رمزگذار اعشاری کد شده باینری به دودویی ضروری است. خروجی نهایی فایل sseg به صفحه هفت قسمت ترسیم شده و زمان صحیح روی صفحه نمایش داده می شود.
مرحله 7: پیوند فایل
فایل پیوند همه جنبه های دیگر برنامه را متصل می کند و سیگنال ها را به مکان صحیح آنها ترسیم می کند. هر جزء در فایل آورده شده و نمونه سازی می شود. از سیگنال ها برای انتقال داده ها از یک جزء به قسمت دیگر استفاده می شود. نقشه پورت از نمودار جعبه سیاه ذکر شده در بالا پیروی می کند. فایل پیوند همچنین منطقی را که هنگام فعال شدن زنگ هشدار حاکم است ، دارد. بیشتر پروژه تا این مرحله به پایان رسیده است. کار باقی مانده این است که هر سیگنال را به مکان مناسب هدایت می کند.
مرحله 8: آردوینو
آردوینو برای فعال کردن بلندگو و همچنین کنترل لحن و مدت زمان نت پخش شده از طریق بلندگو استفاده می شود. آردوینو یک سیگنال دیجیتالی را از روی برد Basys 3 می خواند. هنگامی که این سیگنال زیاد است ، آردوینو یک سیگنال PWM را کنترل می کند که صدا و مدت زمان زنگ را کنترل می کند. سیگنال خروجی از آردوینو به سیگنال ورودی برد بلندگوی بلندگو متصل می شود که باعث افزایش صدای بلندگو می شود. آردوینو این فرایند را با سرعت زیاد و بارها در ثانیه تکرار می کند.
مرحله 9: مسیریابی کابل
برد آردوینو و Basys 3 باید از نظر فیزیکی برای انتقال سیگنال بین بردها متصل شوند. اولین کابل به سیم ، پایه پایه JA PMOD از Basys 3 تا پایه زمینی آردوینو خواهد بود. سپس سیم را از پایه 1 JA PMOD Basys 3 به پین دیجیتال 7 آردوینو وصل کنید. در مرحله بعد ، دو پایه زمینی از آردوینو را به پایه های پایه راننده بلندگو متصل کنید. در مرحله بعد ، خروجی 3.3 ولت arduino را به پین Vcc درایور بلندگو وصل کنید. سپس ، پایه دیجیتال 9 arduino را به پین In درایور بلندگو متصل کنید.
توصیه شده:
ساعت هوشمند ساعت زنگ دار Upcycled: 8 مرحله (همراه با تصاویر)
چراغ هوشمند ساعت زنگ دار Upcycled: در این پروژه من یک ساعت زنگ دار کاملاً خراب را به صورت کامل تخلیه می کنم. صفحه ساعت با 12 LED جایگزین شده است که توسط یک نوار LED در اطراف لبه ساعت روشن شده است. 12 LED زمان را مشخص می کند و نوار LED طوری برنامه ریزی شده است که به عنوان زنگ خطر عمل می کند و می چرخد
ساعت زنگ دار هوشمند: یک ساعت زنگ دار هوشمند ساخته شده با تمشک پای: 10 مرحله (همراه با تصاویر)
ساعت زنگ دار هوشمند: ساعت زنگ دار هوشمند ساخته شده با تمشک پای: آیا تا به حال به دنبال ساعت هوشمند بوده اید؟ اگر چنین است ، این راه حل برای شما است! من ساعت زنگ دار هوشمند ساختم ، این یک ساعت است که می توانید زمان زنگ ساعت را با توجه به وب سایت تغییر دهید. هنگامی که زنگ هشدار به صدا در می آید ، یک صدا (زنگ) و 2 چراغ
ساعت زنگ دار: زنگ مخصوص ، بسیار م :ثر: 3 مرحله
ساعت زنگ دار: آهنگ زنگ ویژه ، بسیار م :ثر: سلام به همه! این اولین باری است که من یک دستورالعمل ارسال می کنم ، متاسفم برای سطح پایینی که در زبان انگلیسی دارم :) در اینجا بیداری برای کمک به کسانی است که صبح دوباره به خواب می روند. این اصل بسیار ساده است ، نه اینکه با زنگ بیدار شوید یا
ساعت زنگ دار خیابان کنجدی DIY (با زنگ خطر!): 6 مرحله (همراه با تصاویر)
ساعت زنگ دار خیابان کنجدی DIY (با هشدار آتش!): سلام به همه! این پروژه اولین پروژه من است. از آنجایی که اولین تولد پسرعموهایم در راه بود ، می خواستم برای او هدیه ای ویژه تهیه کنم. از عمو و عمه ام شنیدم که او در خیابان کنجد است ، بنابراین با خواهر و برادرهایم تصمیم گرفتم یک ساعت زنگ دار بر اساس
ساعت زنگ دار طلوع LED با زنگ هشدار قابل تنظیم: 7 مرحله (همراه با تصاویر)
ساعت مچی LED طلوع آفتاب با زنگ هشدار قابل تنظیم: انگیزه من در این زمستان دوست دخترم هنگام بیدار شدن از خواب با مشکلات زیادی روبرو شد و به نظر می رسید از SAD (اختلال عاطفی فصلی) رنج می برد. من حتی متوجه می شوم که بیدار شدن در زمستان بسیار سخت تر است زیرا خورشید نیامده است