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

ماشین رباتیک با دوربین پخش زنده و کنترل با موبایل

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

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

قلب تپنده این پروژه ماژول محبوب ESP32-CAM هست که هم وظیفه کنترل موتورها رو بر عهده داره و هم با وای‌فای داخلیش، تصاویر رو به صورت زنده برای ما می‌فرسته. این پروژه برای کسایی که می‌خوان وارد دنیای اینترنت اشیا (IoT) و رباتیک بشن، یه شروع فوق‌العاده و هیجان‌انگیزه.

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

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

  • ماژول دوربین ESP32-CAM
  • مبدل USB به TTL مدل FTDI 232 برای برنامه‌ریزی
  • جا باتری و قاب باتری
  • موتور گیربکس زرد (BO)
  • چرخ‌های مناسب برای موتور
  • موتور DC کوچک (مدل اسباب‌بازی)
  • برد بورد کوچک
  • شاسی ماشین از جنس MDF یا اکریلیک
  • نرم‌افزار آردوینو (Arduino IDE)
  • سیم‌های جامپر
  • کلید راکر کوچک
  • گوشی هوشمند یا لپ‌تاپ دارای وای‌فای
  • شاسی پرینت شده 3 بعدی
  • فیلامنت PLA
مرحله ۱

ساخت شاسی و بدنه ماشین

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

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

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

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

مرحله ۲

برنامه‌ریزی برد ESP32-CAM

بریم سراغ بخش نرم‌افزاری. چون برد ESP32-CAM خودش پورت USB نداره، باید از یه مبدل FTDI استفاده کنیم. این مبدل 6 تا پین داره که ما فقط با 4 تاش کار داریم.

اتصالات رو این‌طوری برقرار کن: پین Rx به U0t، پین Tx به U0 اهم، پین Vcc به 5 ولت و در نهایت Gnd به Gnd. برای راحتی کار می‌تونی از یه برد بورد استفاده کنی و مبدل رو با کابل به کامپیوتر وصل کنی.

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

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

مرحله ۳

سیم‌کشی و اتصالات نهایی

حالا که برد برنامه‌ریزی شده، فقط باید بهش برق برسونیم و به موتورها وصلش کنیم. طبق نقشه پیش بریم تا کار برات ساده بشه. برای راه انداختن موتورها از درایور L293D استفاده می‌کنیم. پین‌های Ena و Enb درایور رو به هم وصل کن و اون‌ها رو به پین 12 روی برد ESP32-CAM متصل کن.

برای تغذیه، پین 12 ولت درایور رو به قطب مثبت باتری و Gnd رو به منفی وصل کن. بعد از خروجی 5 ولت درایور برای روشن کردن برد ESP32 استفاده کن. پین‌های IN1 تا IN4 درایور رو به ترتیب به پین‌های 13، 15، 14 و 2 روی برد دوربین متصل کن.

در نهایت موتورها رو به خروجی‌های درایور وصل کن و یه کلید کوچک هم سر راه باتری بذار تا بتونی ماشین رو خاموش و روشن کنی.

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

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

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

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

مرحله ۴

راه‌اندازی و هدایت ماشین

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

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

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

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

مرحله ۵

سخن پایانی

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

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

STL car frame.stl
INO Smart_car_ESP32_Cam.ino

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

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

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

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

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

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