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

ساخت ربات حفظ تعادل با آردوینو (پروژه ربات خود تعادلی)

سلام. آموزش ساخت ربات حفظ تعادل با آردوینو (پروژه ربات خود تعادلی با Arduino) را آماده کردیم. فیلم عملکرد مدار را ببینید !

آموزش ساخت ربات حفظ تعادل با آردوینو

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

توضیحات پروژه ربات خود تعادل با آردوینو

مدار ربات حفظ تعادل با آردوینو

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

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

کنترل کننده: کنترل کننده ای که ما در این پروژه استفاده میکنیم Arduino UNO است. زیرا استفاده از آن بسیار ساده است. شما همچنین می توانید از Arduino Nano یا Arduino mini استفاده کنید. اما توصیه می کنم از UNO استفاده کنید زیرا می توانیم مستقیماً بدون هیچ سخت افزار خارجی آن را برنامه ریزی کنیم.

موتورها : بهترین موتور که می توانید برای ربات خود متعادل استفاده کنید، بدون شک موتور استپر خواهد بود. اما برای ساده نگه داشتن پروژه از موتور دنده DC استفاده میکنیم. بله ، داشتن موتور پله ای اجباری نیست. ربات حفظ تعادل با این موتورهای دنده DC رنگ زرد معمولی که در دسترس هستند نیز خوب کار می کند.

درایور موتور: ما برای کنترل موتور Gear DC ها از موتور درایور L298N استفاده کرده ایم.

چرخ: در انتخاب چرخ مناسب دقت کنید ! چرخ های انتخابی شما باید به میزان مناسب چسبنده و به میزان مناسب لغزنده باشند.

شتاب سنج و ژیروسکوپ: بهترین انتخاب شتاب سنج و ژیروسکوپ برای این ربات سنسور MPU6050 خواهد بود. بنابراین سعی نکنید با یک شتاب سنج معمولی مانند ADXL345 یا چیزی شبیه به آن این پروژه را راه اندازی کنید ! قطعا جواب نمیگیرید.

باتری: ما به باتری ای نیاز داریم که تا حد امکان سبک باشد و ولتاژ کار آن باید بیش از 5 ولت باشد تا بتوانیم به آردوینو مستقیماً و بدون هیچ ماژول تقویتی نیرو وارد کنیم. بنابراین انتخاب ایده آل برای ما یک باتری 7.4 ولت لیتیوم خواهد بود.

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

لیست قطعات مورد نیاز پروژه ربات با آردوینو

قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

توضیحات مدار پروژه

مدار پروژه ربات خود تعادلی با Arduino

شماتیک کامل پروژه در فایل دانلودی قرار داده شده است. اتصالات این ربات بسیار ساده است. ما فقط باید سنسور ژیروسکوپ MPU6050 را به آردوینو و موتور ها را نیز به ماژول درایور موتور متصل کنیم. مدار نیز توسط باتری لیتیوم یون 7.4 ولت تغذیه میشود. ماژول درایور و آردوینو مستقیما از طریق پین 12+ و Vin تغذیه میشود. رگولاتور موجود روی برد آردوینو Uno ، ورودی باتری 7.4 ولت را به 5 ولت تبدیل میکند و میکروکنترلر و سنسور شتاب سنج از آن نیرو میگیرند. موتور های DC میتوانند در محدوده ولتاژ 5 تا 12 ولت کار کنند. در جدول زیر برای راحتی شما نحوه اتصال پین های سنسور شتاب سنج و موتور درایور با آردوینو را مشخص کرده ایم.

پین های قطعات پین های آردوینو
سنسور MPU6050
Vcc +5V
Ground Gnd
SCL A5
SDA A4
INT D2
موتور درایور L298N
IN1 D6
IN2 D9
IN3 D10
IN4 D11

MPU6050 از طریق پروتکل I2C با Arduino ارتباط برقرار می کند ، بنابراین ما از پین های A4 و A5 آردوینو استفاده می کنیم. موتورهای DC به پین ​​های D6 ، D9 ، D10 و D11 وصل می شوند. باید آنها را به پین ​​های PWM متصل کنیم زیرا می توانیم سرعت موتور DC را کنترل کنیم.

موارد موجود در فایل : شماتیک ، فایل Hex ، فایل آردوینو ، فایل پرینت سه بعدی و …

prrobota(irenx.ir) دانلود فایل های پروژه

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

24 نظر

  1. سلام من همینطور چک کردم با تغییر حالت سنسور شتاب سنج، خروجی آردوینو فالت میاره و پردازش داده نمیکنه به نظر شما مشکل از کجاست؟

  2. سلام من کد رو بدون هیچ خطایی لود کردم رو ربات اما ربات از یک جایی به بعد استپ میکنه پردازش نمیکنه که کجاست مشکل از چی میتونه باشه

  3. سلام کد ربات خود تعادل جواب نمی دهد ظاهرا همه این مشکل را دارند هم کد خود پروژه و هم کد کتابخانه را به درستی ریختم ولی جواب نمی دهد خواهشمندم خودتان تست کنید

    1. سلام جناب، بنده در حال حاضر امکان تست رو ندارم کد نباید مشکلی داشته باشه، بررسی کنید با تغییر حالت سنسور، خروجی های آردوینو تغییر میکنند یا خیر

  4. درست شد ممنون
    فقط یک سوال دیگه داشتم
    از چه port باید اتفاده کنم؟

    1. منظورتون رو از پورت بفرمایید.

    2. توی قسمت Tools نوشته شده port(com18/19/20) بین این سه کدوم درسته؟

  5. سلام وقتتون بخیر
    من توی قسمت اول کد به مشکل خوردم
    کتابخانه ای که داخل سایت گذاشتین هم add کردم اما توی قسمت #include “I2Cdev.h” خطا میگیره باید چیکارش کنم؟میشه لطفا راهنمایی کنین؟

    1. سلام. خطا رو به صورت کامل ارسال کنید.

    2. متن خطا این هستش :
      irenx.ir3:10: fatal error : I2Cdec.h: No such file or directory
      compilation terminated.
      exit status 1
      I2Cdev.h: No such file or directory

  6. خریداری و یادگیری آموزش کامل آردوینو که روی سایت قرار دادین باعث میشه این کد رو به طور کامل متوجه بشم؟

    1. این کد از کتابخانه های خاصی استفاده میکنه و ما در دوره آموزش آردوینو کتابخانه های متفرقه رو بررسی نکردیم. بنابراین نمیشه گفت کاملا متوجهش میشید.

    2. اگر بخوام این کد رو کاملا متوجه بشم در حدی که بتونم ارائه بدم
      شما راه حلی دارین؟

    3. کد توضیحات خط به خط انگلیسی رو داره اگر ترجمه کنید همون توضیحات خط به خط رو میتونین ارائه بدین.

    1. سلام نگین عزیز، اگر در مورد کد سوالی دارید همینجا اعلام کنید.

  7. الان مشکلی ک ما داریم این هست که MPU6050 مقادیر رو درست ارسال میکنه ولی موتورها فعال نمیشن باید چیکار کنیم ؟؟

    1. درایور موتور متصل کردید ؟ با مولتی متر خروجی پایه های آردوینو و موتور درایور رو بررسی کنید

  8. سلام خسته نباشید من فایل رو وقتی اپلود میکنم با error compiling for board arduino uno مواجه میشم مشکل از کجاست ؟ ممنون

    1. سلام جناب. Board و Port رو صحیح انتخاب کردین ؟

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *