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

ربات حمل غذا با قابلیت پخش زنده ویدیو توسط ESP32-CAM

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

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

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

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

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

  • ماژول دوربین ESP32-CAM
  • مبدل FTDI به TTL (برای پروگرام کردن)
  • موتور گیربکس‌دار پلاستیکی (BO Motor)
  • چرخ مخصوص موتورهای BO
  • کابل‌های جامپر
  • باتری لیتیوم یون (18650)
  • جاباتری 18650
  • موتور دی‌وی‌دی درایو (برای چرخ هرزگرد جلو)
  • ماژول درایور موتور L298N
  • نرم‌افزار Arduino IDE
  • پرینتر سه‌بعدی
  • فیلامنت PLA
  • نرم‌افزار اسلایسر Cura
  • چسب قطره‌ای
مرحله ۱

طراحی و پرینت سه‌بعدی شاسی اصلی ربات

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

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

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

خیلی راحت فایل‌های سه‌بعدی رو تو نرم‌افزار اسلایسرت باز کن؛ نیازی هم به فعال کردن ساپورت (Support) یا Raft موقع پرینت نیست.

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

مرحله ۲

سیم‌کشی قطعات و آپلود کد روی ESP32-CAM

قبل از هر چیزی باید یه نکته مهم رو درباره ماژول‌های ESP32-CAM بدونی. این ماژول‌ها پورت USB برای اتصال مستقیم به کامپیوتر ندارن؛ بنابراین برای آپلود کد باید از یه مبدل FTDI به TTL یا یه برد آردوینو استفاده کنی. من اینجا از مبدل FTDI استفاده کردم. طبق نقشه مداری که برات گذاشتم، سیم‌کشی‌ها رو انجام بده تا بتونیم کد رو بریزیم رو برد.

توی نرم‌افزار آردوینو، نوع برد رو روی ESP32 Wrover Module تنظیم کن و یادت نره نام و رمز وای‌فای خودت رو تو کدها جایگزین کنی. اگه موقع آپلود کد به مشکل خوردی، دکمه ریست روی ماژول رو فشار بده. حالا بریم سراغ درایور موتور L298N؛ پین GPIO12 رو به ENA، پین GPIO13 رو به IN1 و پین GPIO15 رو به IN2 درایور وصل کن. برای سمت دیگه هم، پین GPIO12 رو مجددا به ENB متصل کن.

در ادامه پین GPIO14 رو به IN3 و در نهایت پین GPIO2 رو به IN4 درایور وصل کن. ما از همین درایور موتور برای تأمین برق برد ESP32-CAM هم استفاده می‌کنیم. قطب مثبت باتری رو به پین 12 ولت درایور بزن و از پین 5 ولت درایور یه خروجی برای روشن کردن برد ESP32 بگیر. حتما پین‌های GND (زمین) برد، درایور و باتری رو به هم وصل کن تا مدار هم‌پتانسیل بشه.

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

مرحله ۳

مونتاژ موتورها و چرخ‌های ربات

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

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

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

مرحله ۴

نصب مدار و ماژول‌ها روی بدنه ربات

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

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

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

مرحله ۵

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

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

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

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

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

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

STL front motor holder.stl
STL tube.stl
STL frame.stl

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

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

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

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

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

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