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

بازی تعادل توپ با آردوینو و جوی‌استیک

رباتیک و هوشمندسازی
۰ نظر
۸۵ نفر
کد ۳۱۷۴

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

ایده بازی این‌طوریه که یک توپ کوچیک روی یک سطح قرار داره و تو باید با استفاده از یک جوی‌استیک (دقیقا شبیه دسته پلی‌استیشن)، شیب اون سطح رو طوری کنترل کنی که توپ روی همون سطح بمونه و پایین نیفته. هر چقدر بیشتر بتونی توپ رو تو حالت تعادل نگه داری، رکورد بالاتری می‌زنی.

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

مرحله ۱

سیم‌کشی قطعات به آردوینو

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

پین‌های مثبت و منفی سروو رو به پایه‌های 5 ولت و GND آردوینو وصل کن. پین سیگنال موتور رو هم به پین دیجیتال D3 آردوینو متصل کن.

حالا نوبت ماژول جوی‌استیکه؛ این ماژول 5 تا پین داره که ما فقط با 4 تاش کار داریم. پایه‌های 5 ولت و GND جوی‌استیک رو مثل موتور به 5 ولت و GND برد وصل کن (می‌تونی از بردبورد استفاده کنی). پین‌های Vrx و Vry که خروجی‌های آنالوگ دسته هستن رو به ترتیب به پایه‌های A0 و A1 آردوینو وصل کن.

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

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

مرحله ۲

آپلود کد و تست اولیه مدار

بعد از اینکه مدارت رو کامل بستی، برد آردوینو رو با کابل USB به کامپیوتر وصل کن و نرم‌افزار Arduino IDE رو باز کن. کدی که برات آماده کردیم رو داخل محیط برنامه کپی کن. از منوی Tools حتما پورت صحیح و نوع برد رو چک کن و بعد روی دکمه آپلود بزن.

اگر خواستی حساسیت و زاویه حرکت بازوی سروو رو تغییر بدی، می‌تونی عددی که در تصویر اول این مرحله مشخص شده رو تو کد دستکاری کنی.

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

مرحله ۳

ساخت پایه نگهدارنده موتور

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

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

مرحله ۴

نصب جوی‌استیک روی بدنه

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

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

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

مرحله ۵

ساخت سطح تعادل (ریل حرکت توپ)

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

یک خط‌کش 15 سانتی‌متری بردار و در امتداد لبه‌های اون، دو نوار باریک مقوایی بچسبون. این لبه‌های مقوایی مثل گاردریل عمل می‌کنن و نمی‌ذارن توپ از جلو یا عقب بیفته. اما دو انتهای خط‌کش رو باز بذار تا توپ بتونه از اونجاها خارج بشه (این همون چالش بازیه!).

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

نقطه وسط خط‌کش رو پیدا کن و اون رو دقیقا روی مقوایی که به موتور متصله بچسبون. دستت رو چند دقیقه نگه دار تا چسب کاملا خشک و سفت بشه.

مرحله ۶

چطور بازی کنیم؟ (قوانین و ترفندها)

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

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

می‌تونی دوستات رو به این چالش دعوت کنی و با کرنومتر موبایل زمان بگیری تا ببینید کی می‌تونه توپ رو مدت زمان بیشتری تو تعادل نگه داره. یک ترفند خفن: اگر خواستی بازی رو برای بقیه سخت‌تر کنی، کافیه جای سیم‌های x و y جوی‌استیک رو روی برد عوض کنی تا جهت‌های حرکت برعکس بشه و حسابی گیج بشن!

مرحله ۷

کلام آخر

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

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

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

INO balance_arduino.ino

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

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

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

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

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

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