آردوینو آموزش آردوینو پروژه های آردوینو

ساخت بازی سنجش زمان عکس العمل با آردوینو LCD کاراکتری و RGB LED

arduino-reaction-game-with-lcd-and-rgb-led-digispark-
نوشته شده توسط سپهر شیخ الاسلامی

بازی‌های کامپیوتری از سال ۱۹۸۳ تا کنون شهرت زیادی پیدا کرده اند و محبوبیت زیادی دارند. چه آن هایی که رایگان بوده و چه آن هایی که هزینه های سنگینی بر روی دوش خریداران گذاشته‌اند. در آموزش امروز می‌خواهم ساخت یک بازی بسیار جالب و اعتیاد آور را با برد آردوینو، LCD کاراکتری و یک میکروسوئیچ ساده را به شما کاربران به شما آموزش بدهم. بازی سنجش زمان با آردوینو از جمله بازی‌های جذاب است. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


نحوه انجام بازی آردوینو


کل بازی سنجش زمان از آنجا آغاز می شود که بر روی LCD متنی با عنوان«برای شروع بازی کلید را نگه دارید» نمایش داده می شود. با نگه داشتن کلید وارد مرحله جالب بازی می‌شوید. همچنان که کلید را نگه داشته‌اید، LED RGB شروع به تغییر رنگ می‌کند، بازر هم صدای خاصی برای منحرف کردن شما، پخش می‌کند. همچنان که LED در حال تغییر رنگ است ناگهان رنگ آن قرمز شده و ثابت می‌ماند. شما باید به محض دیدن رنگ قرمز دستتان را از روی کلید بردارید. اگر زودتر از زمان اجرا این کار را انجام دهید، متنی با این عنوان بر روی LCD نمایش داده می‌شود. در غیر این صورت مقدار زمان تاخیر یا عکس العمل شما بر روی LCD نمایش داده می‌شود و در پایان رکورد شما بر روی LCD نمایش داده می‌شود. هم اکنون با فشار مجدد کلید بازی از نوع شروع می‌شود. جالب است، نه؟! باید به صورت عملی امتحان کنید.

ساخت بازی سنجش زمان عکس العمل با آردوینو و LCD کاراکتری - دیجی اسپارک

 


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


وسایل لازم برای ساخت بازی با آردوینو Arduino Game Challenge - دیجی اسپارک

 


اتصالات مدار بازی سنجش زمان


اتصالات LCD کاراکتری

اتصالات LCD در بازی سنجش زمان آردوینو - دیجی اسپارک

اتصالات ماژول RGB

اتصالات LED RGB در بازی سنجش زمان آردوینو - دیجی اسپارک

اتصالات بازر

اتصالات بازر در بازی سنجش زمان آردوینو - دیجی اسپارک

اتصالات پوش باتن

اتصالات پوش باتن در بازی سنجش زمان آردوینو - دیجی اسپارک

 

اتصالات ولوم در بازی سنجش زمان آردوینو - دیجی اسپارک

 نکته: برای راه اندازی پتانسیومتر یکی از پایه های کناری را به +۵V و دیگر پایه کناری را به GND متصل کنید.پایه وسط هم همانطور که گفته شد به پین سوم LCD، یعنی VO متصل می شود.

وسایل لازم برای ساخت بازی با آردوینو Arduino Game Challenge - دیجی اسپارک


کدهای پروژه بازی با آردوینو


کدهای زیر را روی نرم افزار آردوینو کپی کرده و سپس آپلود کنید. چنانچه روش آپلود کدها روی آردوین را نمی‌دانید، به آموزش کار با آردوینو و نصب نرم افزار Arduino IDE مراجعه کنید.

 

نرم افزار Arduino IDE را باز کنید.تمام کد های داخل آن را پاک کرده و کد های بالا را جایگزین کنید.برد خود را از منوی Tools –> Board انتخاب کنید و کد را آپلود کنید.اگر چگونگی کار با نرم افزار Arduino IDE را نمی دانید، کافیست به آموزش کار با برد آردوینو و نصب نرم افزار Arduino IDE  مراجعه کنید.

ساخت بازی سنجش زمان عکس العمل با آردوینو و LCD کاراکتری و RGB LED - دیجی اسپارک

 


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


  به دلیل استفاده از LCD کاراکتری، نیاز داریم تا کتابخانه آن را به برنامه اضافه کنیم.کتابخانه LCD کاراکتری به طور پیش فرض در نرم افزار Arduino IDE موجود می باشد و نیازی به نصب آن نیست.برای این کد کتابخانه دیگری نیاز نخواهیم داشت.

شما می توانید با نوشتن خط بالا کتابخانه را به برنامه اضافه کنید یا از منو:

Sketch –> Include Library  –> LiquidCrystal

کتابخانه را ضمیمه برنامه کنید.

 


توضیحات کد بازی سنجش زمان


در ابتدا لازم است تا پین های متصل به LCD را تعیین و با استفاده از آن LCD را راه اندازی کرده و از آن یک شی بسازیم.

حال نوبت به تعیین پین های RGB LED می رسد.

سپس پین متصل به پوش باتن را تعیین می کنیم.

متغییر هایی که برای اجرای برنامه نیاز داریم را نیز، اضافه می کنیم.(مقدار رکورد را در ابتدا در بیشترین حالت قرار می دهیم تا بتوانیم بعدا آن را با مقدار واقعی تاخیر مقایسه کنیم).

در تابع setup() ابعاد LCD را ۱۶×۲ تعیین کرده و به آن دستور شروع کار می دهیم؛ همچنین پین هایRGB LED  به عنوان خروجی تعریف می کنیم.پین متصل به پوش باتن هم به صورت ورودی تعریف می کنیم و تمام رنگ های RGB LED را نیز خاموش می کنیم.

حال دیگر وقت آن رسیده که بنشینیم و از ساخته خود لذت ببریم.قطعات را طبق مدار ارائه شده در بالا به یکدیگر متصل کنید.کد بالا را نیز بر روی آردوینو خود آپلود کنید.حال آردوینو را نیز به مقدار خود اضافه کنید. تغذیه برد را وصل کنید و از بازی لذت ببرید.

وسایل لازم برای ساخت بازی با آردوینو Arduino Game Challenge - دیجی اسپارک

 


نکته ای جالب!!


از نتیجه بازی سنجش زمان، یعنی مقدار تاخیر شما در برداشتن دست از روی کلید می توان نتیجه جالبی گرفت. تا جایی که می توانید سریع عمل کنید و عدد رکورد خود را پایین بیاورید،در این صورت به گونه ای زمان نوشته شده زمان ارسال پیام عصبی از چشم به مغز، مغز به ماهیچه و عمل ماهیچه است.

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

سپهر شیخ الاسلامی

عاشق الکترونیک و رباتیک هستم و برای عقب نماندن از دنیای در حال پیشرفت با سرعت نور تلاش می کنم.امیدوارم بتوانم به شما هم کمک کنم از آن عقب نمانید.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۰ دیدگاه

  • سلام توی وسایل مورد نیاز بورد و‌کابل نبود
    من سفارش ندادم الان اومده لطفا اگه احتیاج حتما تصحیحش کنید کسی دیگه مشکل من رو نداشته باشه؛

    و یه سوال اینکه ال سی رو باید پایه هاش لحیم کنم؟
    چجوری باید ال سی دی رو پایه هاشو وصل کنم؟
    ممنون میشم کمکم کنید

    • سلام.
      برای متصل کردن پایه های LCD می توانید ازهدر پین های ۱۶ تایی نری-نری استفاده کنید. کافیست از لینک زیر پین هدر ۴۰ تایی را خریداری کنید بعد با استفاده از سیم چین ۱۶ تا از آن ها رو جدا کنید و بر روی LCD لحیم کنید.
      https://bit.ly/2D9xsSs
      برای متصل کردن پایه های LCD نیز می توانید از سیم های جامپر نری-مادگی استفاده کنید. برای خرید سیم های جامپر نری-مادگی روی لینک زیر کلیک کنید.
      https://bit.ly/3lqjOeM

  • سلام
    پایه های پوش باتن فرقی نمیکنن؟تشخیصش چجوری هس؟
    و اینکه برای پین های اردوینو از پین دیجیتال فقط استفاده کنم؟
    تغذیه مدار باید چجوری انجام بشه؟

    • با فشردن کلید دوپایه نزدیکتر به هم متصل میشنود. دوپایه ای که فاصله بیشتری دارن به یکدیگر متصل هستند.
      اتصلات مدار به آردوینو در بخش اتصلات مدار بازی سنجش زمان در دسترس می باشد.
      برای تغذیه مدار هم می توانید از کابل USB استفاده کنید. لینک کابل USB =
      https://bit.ly/3lrI0gP
      همچنین می توانید از جک دایره ای و باتری کتابی استفاده کنید.
      باتری کتابی= https://bit.ly/3jj78EB
      کابل تبدیل باتری کتابی به جک دایره ای = https://bit.ly/2D7JFac

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

    ولی نه ال ای دی روشن نمیشه
    دقیقا طبق همین نقشه بستم
    و مقاومت ١٠ کیلو رو کجا باید استفادع کنیم اصلا ننوشتین
    توروخدا جواب بدین چند تا پیام نوشتم هیچکدوم رو جواب ندادین ; برای پروژه دانشگاه میخوام وقت ندارم

    • ۱- حتما کد آپلود شده بر روی آردوینو رو بررسی کنید که درست باشه و تغییری نکرده باشه.
      ۲- اتصالتون رو چندین بار بررسی کنید.
      ۳- در نظر داشته باشید که LED RGB شما حتما باید از نوع کاتد مشترک باشد.
      ۴- اطمینان حاصل کنید که بازی رو درست اجرا می کنید.
      در بخش اتصالات پوش باتن نحوه اتصال مقاومت ۱۰ کیلواهم توضیح داده شده که باید بین یکی از پین های پوش باتن و ۵ولت آردوینو قرار بگیره.

    • نحوه انجام بازی به این صورت است:
      کل بازی سنجش زمان از آنجا آغاز می شود که بر روی LCD متنی با عنوان«برای شروع بازی کلید را نگه دارید» نمایش داده می شود. با نگه داشتن کلید وارد مرحله جالب بازی می‌شوید. همچنان که کلید را نگه داشته‌اید، LED RGB شروع به تغییر رنگ می‌کند، بازر هم صدای خاصی برای منحرف کردن شما، پخش می‌کند. همچنان که LED در حال تغییر رنگ است ناگهان رنگ آن قرمز شده و ثابت می‌ماند. شما باید به محض دیدن رنگ قرمز دستتان را از روی کلید بردارید. اگر زودتر از زمان اجرا این کار را انجام دهید، متنی با این عنوان بر روی LCD نمایش داده می‌شود. در غیر این صورت مقدار زمان تاخیر یا عکس العمل شما بر روی LCD نمایش داده می‌شود و در پایان رکورد شما بر روی LCD نمایش داده می‌شود. هم اکنون با فشار مجدد کلید بازی از نوع شروع می‌شود. جالب است، نه؟! باید به صورت عملی امتحان کنید.

    • در ضمن اگر تصاویر اتصالات رو مشاهده نمی کنید شاید به دلیل سرعت اینترنت باشد.
      کافیست مقداری صبر کنید تا تصاویر نمایش داده شوند سپس مدار خود را با توجه به آن ها ببندید