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

ماشین کنترلی با حرکت دست به کمک آردوینو و ماژول NRF

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

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

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

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

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

  • یک تکه کارتن یا مقوای ضخیم
  • موتور گیربکس‌دار (موتور زرد رنگ) و چرخ
  • برد آردوینو نانو (Arduino Nano)
  • سنسور ژیروسکوپ MPU6050
  • ماژول فرستنده و گیرنده رادیویی NRF24L01
  • ترانزیستور TIP32C
  • باتری 9 ولت کتابی و سوکت باتری
  • درایور موتور L293D
  • چسب حرارتی
  • برد سوراخ‌دار (PCB خام)
  • مچ‌بند پارچه‌ای یا کشی
  • چسب دوطرفه
  • ال‌ای‌دی (اختیاری برای تزئین)
  • هویه و سیم لحیم
مرحله ۱

آماده‌سازی بدنه و نصب موتورهای گیربکس‌دار

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

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

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

مرحله ۲

ساخت مدار فرستنده و سنسور روی دست

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

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

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

مرحله ۳

مونتاژ برد گیرنده ماشین رباتیک

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

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

با سری کردن چند سلول باتری (مثلا از باتری‌های قدیمی یک لپ‌تاپ)، می‌تونی ولتاژ و جریان مناسب رو برای ساعت‌ها حرکت قدرتمند رباتت تضمین کنی. حتما خروجی این پک باتری رو به یک سوکت استاندارد وصل کن تا روی برد راحت جا بره.

مرحله ۴

تکمیل مدار تغذیه و جاگذاری باتری‌ها

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

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

مرحله ۵

آپلود کدهای دستکش و راه‌اندازی فرستنده

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

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

کدهای مربوط به فرستنده رو توی نرم‌افزار Arduino IDE قرار بده و آپلود کن. بعد از اینکه کد با موفقیت بارگذاری شد، کابل USB رو قطع کن و یک باتری 9 ولت کتابی به مدار بزن. برای راحتی کار، با کمی چسب این مدار رو روی یک مچ‌بند پارچه‌ای یا کشی بچسبون تا بتونی مثل یک ساعت هوشمند اون رو دور مچ دستت ببندی.

مرحله ۶

برنامه‌نویسی ماشین و تنظیمات درایور موتور

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

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

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

مرحله ۷

چطور ربات را با حرکت دست هدایت کنیم؟

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

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

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

مرحله ۸

کلام آخر و جمع‌بندی پروژه

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

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

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

INO transmitter_code.ino
INO receiver_code.ino

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

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

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

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

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

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