پروژه آردوینو, توصیه شده

اجرای بازی “تی-رکس” یا “دینو” مرورگر کروم روی آردوینو و lcd کاراکتری همراه با صدا

اجرای بازی "تی-رکس" یا "دینو" مرورگر کروم روی آردوینو و lcd کاراکتری همراه با صدا

از زمانی که آردوینو به وجود آمد، پروژه‌های بسیار زیادی برای آن به‌صورت متن باز و رایگان منتشر شد. آردوینو این قابلیت را به افراد می‌دهد تا با کمترین دانش برنامه نویسی و بدون درگیر شدن با موضوعات مختلف الکترونیکی ایده‌های خودشان را با کمترین هزینه و دردسر پیاده سازی کنند. همین امر باعث علاقه‌مندی افراد زیادی به الکترونیک می‌شود. یکی از این ایده‌ها می‌تواند ایده‌ی ساخت بازی به‌وسیله این برد محبوب باشد. اما چطور می‌توان تنها با استفاده از آردوینو و بدون استفاده از آی سی جانبی یک بازی جذاب همراه با افکت‌های صوتی ساخت؟ در این قسمت از پروژه های آردوینو قصد داریم تا به‌وسیله برد آردوینو و ال سی دی کاراکتری 2*16 بازی دینو یا T-rex را به همراه افکت‌های صوتی، در کمتر از 5 دقیقه راه اندازی کنیم. بازی دینو یا تی-رکس T-rex همان بازی است که شرکت گوگل در مرورگر کروم و در مواقع قطعی اینترنت آن را نمایش می‌دهد.

در ادامه با سیسوگ همراه باشید.

بازی دینو (تی-رکس)

گوگل در مرورگر کروم خود به‌صورت مخفی بازی دایناسوری را قرار داده است که تنها هنگام آفلاین بودن اینترنت نمایش داده می‌شود. در مواقعی که ارتباط اینترنتی شما برقرار نباشد، کروم عبارت unable to connect to the internet را برای شما نمایش می‌دهد. در این صفحه یک دایناسور سیاه و سفید پیکسلی قابل مشاهده است. اگر شما دکمه‌ی Space را از روی کیبرد فشار دهید، وارد بازی می‌شوید. حال شما یک دایناسور را می‌بینید که در حال دویدن در یک بیابان است! به محض اینکه یک کاکتوس به سمت شما نزدیک شد، با فشار دادن مجدد دکمه Space باید از روی آن بپرید. در غیر این صورت با کاکتوس برخورد کرده و شما می‌بازید! بازی بسیار ساده، ولی در عین حال اعتیاد آور و جذاب است. اگر مرورگر کروم ندارید، می‌توانید از اینجا آنلاین بازی کنید.

بازی تی-رکس دینو کروم

 

خب، برویم سراغ ساخت بازی:

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

  1. برد آردوینو UNO یا NANO
  2. برد بورد
  3. نمایشگر کاراکتری 2×16
  4. کلید فشاری یا میکرو – یک عدد
  5. مقداری سیم یا جامپر وایر (برای بردبرد)
  6. بازر یا بیزر ( از نوع پسیو)
  7. مقاومت متغیر 5 کیلو اهم (پتانسیومتر) – جهت تنظیم وضوح صفحه نمایش

ممکن است هنگامی که شما این بازی را می‌سازید، به قطعاتی کمتر و یا بیشتر نیاز داشته باشید.

 

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

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

کدنویسی بازی تیرکس

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

کد ها‌ی مربوط به راه‌اندازی نمایشگر کاراکتری:

 

قسمت کد مربوط به تعریف کلید بازی و پین ملودی

توجه داشته باشید که برای تولید ملودی، باید از پایه‌ای استفاده کنید که قابلیت تولید امواج pwm را داشته باشد.

 

نحوه تولید صدا

در مورد نحوه تولید ملودی و صدا در آردوینو به‌وسیله بازر، قبلاً مطلبی در سیسوگ منتشر کرده‌ایم. در این مقاله همچنین روش‌های معمول تولید صدا در مدار را بررسی کرده‌ایم. به همین خاطر مطالعه این مقاله را به شما حتماً توصیه می‌کنیم. در این بازی فرکانس نت‌ها درون فایل pitches.h قرار گرفته‌اند. ملودی و تمپو ها نیز درون فایل melody.h ذخیره شده‌اند.

 

نحوه تعریف کاراکتر دلخواه برای ال سی دی

LCD های کاراکتری، حافظه‌ای به نام CGRAM دارند که شما می‌توانید در آن تنها 8 کاراکتر دلخواه تعریف نمایید. برای این کار ابتدا می‌بایست به‌وسیله نرم افزار LCD custom character کاراکتر دلخواه خود را طراحی کرده، سپس کد آن را خروجی گرفته و به‌وسیله آردوینو به ال سی دی معرفی کنید. این نرم افزار در انتهای مطلب به‌صورت رایگان قابل دانلود می‌باشد.

تولید کاراکتر دلخواه (دایناسور) برای lcd کاراکتری

کاراکتر کاکتوس برای ال سی دی کاراکتری

در قسمت سمت راست تصویر بالا، یک قسمت شطرنجی سبز وجود دارد. با کلیک کردن داخل هر مربع می‌توانید آن‌ها را خاموش و روشن نمایید. در نهایت و پس از ساخته شدن کاراکتر دلخواه شما، با فشردن دکمه GENERATE کاراکتر به‌صورت آرایه‌ای از اعداد و در سه زبان C، پاسکال و بیسیک به شما تحویل داده می‌شود. شما به کدهای قسمت C و آرایه‌ی آن نیاز دارید. در فایل bitmaps.h کاراکترهای لازم برای این بازی (dino، cacti، bird و block) تعریف شده‌اند.

در setup اولیه آردوینو این کاراکترها به ال سی دی معرفی می‌شوند. همان‌طور که پیش‌تر هم اشاره شد، شما تنها می‌توانید 8 کاراکتر را به ال سی دی خود معرفی کنید. این 8 خانه، از خانه صفر تا هفتم توسط تابع lcd.createChar(num, data) در آردوینو قابل دسترسی هستند.

 

در ابتدای شروع بازی، تابع ()showCrashScreen صدا زده می‌شود تا آهنگ و متن‌های اولیه را مشاهده کنید. سپس در این تابع، برنامه منتظر زدن دکمه شروع بازی توسط کاربر می‌ماند. بعد از زدن کلید شروع توسط کاربر، وارد حلقه‌ی اصلی برنامه یعنی loop می‌شویم. سپس الگوریتم برنامه با استفاده از توابع مختلفی که تعریف شده است، بازی را هدایت می‌کند. برای مثال:

یک کاراکتر را به‌صورت تصادفی روی صفحه نمایش ظاهر می‌کند.

امتیاز کسب شده تا این لحظه را در وسط خط اول نمایشگر چاپ می‌کند.

 

هنگامی که کاربر بازی را می‌بازد، این تابع روی صفحه پیام “!Game Over” را نشان داده و ملودی سوختن بازی را پخش می‌نماید. سپس امتیاز کسب شده و بهترین امتیاز را روی صفحه نشان می‌دهد.

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

نحوه نصب و اجرای بازی

تنها کافی ست پس از بستن مدار مطابق سیم کشی‌های تعریف شده، کابل آردوینو را به کامپیوتر متصل کرده و کد را به‌وسیله نرم افزار آردوینو روی آن آپلود کنید! کد آردوینو و نرم افزار Custom character در انتهای مطلب به‌صورت رایگان قابل دانلود می‌باشد.

تبریک، هم اکنون می‌توانید بازی کنید!

دانلود سورس برنامه

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

6 دیدگاه در “اجرای بازی “تی-رکس” یا “دینو” مرورگر کروم روی آردوینو و lcd کاراکتری همراه با صدا

  1. Avatar for رشیدی رشیدی گفت:

    این پروژه رو برای برد UNOبزازید

  2. Avatar for امیرحسین مرادیان امیرحسین مرادیان گفت:

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

    1. Avatar photo Digi Boy گفت:

      سلام.
      ممنون از توجهتون، بررسی می کنم.

    2. Avatar photo Digi Boy گفت:

      سلام.
      ایراد برطرف گردید.

  3. Avatar for محمود محمود گفت:

    ایول خییلی باحال بووود تا حالا بازی رو اردوینو نریخته بودم

  4. Avatar for کامبیز کامبیز گفت:

    خیلی با مزه بود ممنون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *