پروژه بازی مین روب با میکروکنترلر AVR در نرم افزار Proteus
پروژه بازی مین روب با میکروکنترلر AVR را در نرم افزار Proteus همراه با گزارش کار آماده کردیم که در ادامه به معرفی پروژه پرداخته و جزئیات آن بیان شده است.
معرفی پروژه بازی مین روب با میکروکنترلر AVR :
روش بازی به این ترتیب است که 64 خانه داریم که به صورت تصادفی در 15 خانه آن مین ها قرار گرفته اند. حال اگر کاربر خانه ای را انتخاب کرد که مین در آن وجود داشت بازنده بازی خواهد بود و پیام متناسب با بازنده بودن کاربر روی سون سگمنت ها نمایش داده می شود. اما اگر خانه انتخابی کاربر پوچ بود یعنی به مین برخورد نکرد یک امتیاز روی سون سگمنت به امتیاز کاربر اضافه خواهد شد. در نهایت اگر کاربر در ده مرتبه متوالی خانه هایی را از این 64 خانه انتخاب کند و به هیچ مینی برخورد نکرده باشد، برنده بازی خواهد بود و پیام متناسب با برنده شدن کاربر بر روی سون سگمنت ها نمایش داده می شود.
تولید اعداد تصادفی :
در این پروژه از تولید اعداد تصادفی به صورت نرم افزاری (برنامه نویسی در محیط کدویژن) توسط حلقه های استفاده کردیم، بدین ترتیب که در این حلقه ها یک عدد به صورت تصادفی انتخاب می شود. هر میکروکنترلر AVR چهار بیت را به طور تصادفی انتخاب می کنند. پس برای 15 بیت و برای 15 بمب جدول باید از 5 میکروکنترلر استفاده کنیم. چهار بیت تصادفی انتخاب شده توسط هر میکروکنترلر با کلید انتخاب شده توسط کاربر مقایسه می گردد. اگر کاربر کلیدی را فشرد که در آن بمب وجود داشت بازی را باخته و پیام LOSE بر روی سون سگمنت ها نمایش داده می شود. اما اگر کلید فشرده شده توسط کاربر به بمبی برخورد نکرد یک امتیاز بر روی سون سگمنت ثبت می گردد. در صورتی که کاربر ده بار متوالی به بمب برخورد نکرد باشد، کاربر برنده بازی است و پیام SUCC روی سون سگمنت ها ثبت می شود.
زمانی که کلید RESET فشرده شود دو رقم اخر شماره دانشجویی اعضا گروه به نمایش در می آید و بعد از فشردن دکمه RESET دکمه START را می زنیم تا سون سگمنت ها همگی عدد صفر را نشان دهند و بازی شروع می شود. در این حالت اعداد تصادفی انتخاب می شوند و درون خانه های جدول قرار می گیرند. سون سگمنت ها از نوع کاتد مشترک هستند که از هیچ ایسی واسطی بین میکرو و سون سگمنت استفاده نکردیم و کد ها را مستقیم به سون سگمنت ها اعمال کردیم.
در شکل بالا میبینیم که از 4 دیکودر به منظور تولید 4 عدد تصادفی استفاده شده که ورودی های انها به پایه های میکروکنترلر متصل است که با فشردن دکمه START یک عدد تصادفی به ورودی های دیکودر تخصیص داده می شود و متناظر با این ورودی ها خروجی تصادفی روی هر دیکودر تولید می شود و در خانه های جدول ذخیره می گردد. فعالساز دیکودر ها را با مقدار صفر منطقی فعال کردیم. بدیهی است برای تولید 15 عدد تصادفی باید از 5 میکروکنترلر به شیوه مشابه استفاده کنیم. از گیت OR هم بدین منظور استفاده می کنیم که وقتی عمل کلید توسط کاربر فشرده شد پیغام مناسب بر روی سون سگمنت ثبت شود که آیا کاربر به بمب اشاره کرده یا خیر. خروجی گیت OR به ورودی وقفه میکروکنترلر متصل است. توضیحات بالا برای 4 میکروکنترلر دیگر نیز عینا تکرار می شود.
در تصویر بالا قسمتی از جدول 64 تایی کلید ها رو مشاهده می کنیم.
در شکل بالا میکروکنترلر ها و مدارات جانبی پروژه توسط SUBCIRCUIT پوشش داده شده است و فقط 64 کلید – سون سگمنت های وضعیت بازی و دو کلید RESET و START مشخص هستند که هم از شلوغ بودن صفحه بازی کاسته شود و هم بازی برای کاربر مشخص تر باشد.
هیچ نظری ثبت نشده است