ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

بازی مار کلاسیک با آردوینو و نمایشگر دات ماتریس

ابزار و گجت
۰ نظر
۴۴ نفر
کد ۳۱۹۷

بازی مار یا همون Snake یکی از نوستالژیک‌ترین و محبوب‌ترین بازی‌های تاریخ محسوب میشه که خیلی از ما خاطرات خوبی باهاش روی گوشی‌های قدیمی داریم. حالا چی میشه اگر این بازی رو خودمون با دستای خودمون بسازیم؟ این ایده نه تنها سرگرم‌کننده‌ست، بلکه یک پروژه عالی برای یادگیری کار با نمایشگرها و ورودی‌ها در دنیای الکترونیکه.

توی این پروژه جذاب از آیسی‌مدار، می‌خوایم بازی مار رو روی یک نمایشگر دات ماتریس اجرا کنیم و با یک جوی‌استیک ساده، حرکت مار رو کنترل کنیم. مغز متفکر این پروژه برد آردوینو Uno هست که با کدهای C++ برنامه‌ریزی میشه تا منطق بازی، مثل بزرگ شدن مار بعد از خوردن غذا و باختن در صورت برخورد با دیوار رو مدیریت کنه.

ساخت این گجت بازی خیلی ساده‌ست و به قطعات کمی نیاز داره، پس حتی اگر تازه‌کار هستی، به راحتی می‌تونی از پسش بربیای. بریم سراغ جمع‌آوری قطعات تا بازی نوستالژیک خودمون رو خلق کنیم!

قطعات موردنیاز

  • برد آردوینو Uno R3
  • ماژول نمایشگر دات ماتریس MAX7219
  • ماژول جوی‌استیک آنالوگ
  • 10 رشته سیم جامپر نری به مادگی
  • کابل USB برای اتصال آردوینو به کامپیوتر
  • شیلد توسعه (می‌تونی به جاش از یک بردبورد معمولی استفاده کنی)
  • یک رشته سیم جامپر نری به نری (فقط در صورتی که از بردبورد استفاده می‌کنی)
مرحله ۱

سیم‌کشی و اتصال نمایشگر دات ماتریس

ماژول دات ماتریس MAX7219 در دو طرف خودش 5 تا پین داره، اما ما فقط با پین‌های ورودی یعنی VCC، GND، DIN، CS و CLK کار داریم. همیشه پیشنهاد می‌کنم برای سیم‌کشی تغذیه از رنگ‌های استاندارد استفاده کنی؛ مثلا سیم قرمز برای VCC (مثبت) و سیم مشکی برای GND (منفی) تا بعدا گیج نشی. بعد از اینکه سیم‌ها رو به ماژول وصل کردی، سر دیگه‌شون رو به پین‌های آردوینو متصل کن. این سیم‌کشی خیلی ساده‌ست:

  1. پین VCC نمایشگر رو به پین 5 ولت آردوینو وصل کن.
  2. پین GND رو به یکی از پین‌های GND آردوینو بزن.
  3. پین CLK رو به پین دیجیتال شماره 10 متصل کن.
  4. پین CS رو به پین دیجیتال شماره 11 وصل کن.
  5. و در نهایت پین DIN رو به پین دیجیتال شماره 12 متصل کن.
مرحله ۲

اتصال جوی‌استیک برای کنترل مار

برای کنترل حرکت مار به یک جوی‌استیک نیاز داریم. از اونجایی که برد آردوینو Uno فقط یک پین خروجی 5 ولت داره و ما قبلا اون رو به نمایشگر وصل کردیم، برای تغذیه جوی‌استیک باید برق رو اشتراک‌گذاری کنیم. می‌تونی از یک شیلد توسعه یا یک بردبورد ساده استفاده کنی تا پایه‌های تغذیه رو پخش کنی. حالا سیم‌های جوی‌استیک رو طبق این راهنما به آردوینو متصل کن:

  1. پین 5 ولت جوی‌استیک رو به خروجی 5 ولت (مشترک شده) وصل کن.
  2. پین GND جوی‌استیک رو به GND آردوینو بزن.
  3. پین VRx (محور افقی) رو به پین آنالوگ A0 متصل کن.
  4. پین VRy (محور عمودی) رو به پین آنالوگ A1 وصل کن.
  5. پین SW (دکمه فشاری جوی‌استیک) رو به پین دیجیتال 2 متصل کن.
مرحله ۳

نحوه استفاده از بردبورد برای تغذیه (اختیاری)

اگر به جای شیلد توسعه از بردبورد استفاده می‌کنی، اتصالات دقیقا مثل مرحله قبله، فقط با یک تفاوت کوچیک. باید سیم VCC نمایشگر و سیم 5 ولت جوی‌استیک رو توی یک ردیف مشترک روی بردبورد قرار بدی. بعد با یک سیم جامپر نری به نری، همون ردیف رو به پین 5 ولت روی برد آردوینو وصل کنی تا برق به هر دو قطعه برسه.

مرحله ۴

شماتیک کلی اتصالات پروژه

مرحله ۵

آپلود کدهای بازی و شروع سرگرمی!

حالا که سخت‌افزار پروژه‌مون تکمیل شد، وقتشه بهش جون بدیم. آردوینو رو با کابل USB به کامپیوتر وصل کن و نرم‌افزار Arduino IDE رو باز کن. قبل از آپلود کد، حتما یادت باشه که کتابخونه LedControl.h رو نصب کنی تا آردوینو بتونه با نمایشگر ارتباط برقرار کنه.

بعد از اون، پورت کام و مدل برد رو انتخاب کن و کدها رو آپلود کن. به همین راحتی بازی مار نوستالژیک تو آماده شد! از بازی کردن با کنسول دست‌ساز خودت لذت ببر.

فایل‌های پیوست

INO Proyecto_Juego_snake.ino

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!