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

ساخت ماشین کنترلی با آردوینو و اندروید

سلام. آموزش ساخت ماشین کنترلی و کنترل ماشین اسباب بازی با آردوینو و موبایل اندروید را آماده کردیم.

ساخت ماشین کنترلی با آردوینو

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

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

در این پروژه از یک ماشین اسباب بازی استفاده کرده ایم. این خودرو در قسمت جلو و عقب خود دارای دو موتور دی سی است. موتور سمت جلو برای هدایت اتومبیل به معنای چرخاندن سمت چپ یا راست (مانند ویژگی فرمان واقعی ماشین) استفاده می شود. و موتور عقب برای رانندگی خودرو در جهت عقب و جلو استفاده می شود. از ماژول بلوتوث برای دریافت فرمان از طریق تلفن اندرویدی و از Arduino UNO برای کنترل کل سیستم استفاده می شود.

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

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

نرم افزار کنترل ماشین با بلوتوث

نرم افزاری که روی تلفن شما نصب میشود میتواند Bluetooth Spp pro یا Bluetooth controller باشد که از پلی استور قابل دریافت است. لینک نصب در گوگل پلی

پس از نصب برنامه باید آن را باز کرده و سپس دستگاه بلوتوث را جستجو کرده و دستگاه بلوتوث مورد نظر خود را انتخاب کنید. و سپس کلیدها را پیکربندی کنید. در اینجا در این پروژه از برنامه Bluetooth controller استفاده کرده ایم.

  1. کنترلر بلوتوث را بارگیری و نصب کنید.
  2. بلوتوث تلفن همراه را روشن کنید.
  3. اکنون برنامه کنترل کننده بلوتوث را باز کنید
  4. اسکن را بزنید
  5. دستگاه بلوتوث مورد نظر خود را انتخاب کنید

اکنون کلیدها را با فشار دادن دکمه های تنظیم بر روی صفحه تنظیم کنید. برای تنظیم کلیدها باید “set button” را فشار داده و کلید را مطابق تصویر زیر درج کنید:

نرم افزار برای کنترل بلوتوث ربات

بعد از تنظیم کلیدها ، ok را فشار دهید.

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

مدار ماشین کنترل شونده با آردوینو و موبایل

شماتیک مدار پروژه ربات ماشین کنترلی در تصویر زیر نشان داده شده است.

ساخت ماشین کنترلی با Arduino و گوشی Android

شما می توانید پس از خرید به طور مستقیم از ماژول بلوتوث استفاده کنید، زیرا نیازی به تغییر تنظیمات ماژول بلوتوث نیست. نرخ پیش فرض baud ماژول بلوتوث 9600 bps است. شما فقط باید rx و tx را به آردوینو وصل کنید.

یک موتور درایور برای حرکت دادن ماشین به آردوینو متصل می شود. ورودی موتور درایور پین های  2 ، 7 ، 10 و 15 به ترتیب به پین ​​دیجیتال شماره 12 ، 11 ، 10 و 9 آردوینو وصل شده اند. در اینجا ما از دو موتور DC برای حرکت اتومبیل استفاده کرده ایم که در آن یک موتور در پین خروجی 3 و 6 درایور موتور متصل شده است و یک موتور دیگر به 11 و 14 وصل می شود. همچنین از یک باتری 6 ولت نیز برای نیرو دادن به درایور موتور برای رانندگی موتور ها استفاده می شود. از باتری 9 ولت برای تغذیه مدار در پین Vin آردوینو استفاده می شود

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

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

  1. برد آردوینو UNO
  2. موتور DC
  3. ماژول بلوتوث HC-05
  4. درایور موتور L293D
  5. باتری 9 ولت و باتری 6 ولت
  6. ماشین اسباب بازی

کد کنترل ماشین اسباب بازی با آردوینو و گوشی اندروید

کد کامل پروژه در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا بعضی از قسمت های کد را توضیح میدهیم.

در برنامه اول از همه ما پین های خروجی برای موتورها را تعریف کرده ایم.

#define m11 11    // موتور عقب
#define m12 12
#define m21 10    // موتور جلو
#define m22 9

سپس نوع پین ها و نرخ ارتباط سریال را تعریف میکنیم. همانطور که گفته شد ماژول بلوتوث روی نرخ 9600 تنظیم است.

void setup() 
{
  Serial.begin(9600); // تنظیم نرخ ارتباط سریال
  pinMode(m11, OUTPUT); // تنظیم به عنوان خروجی
  pinMode(m12, OUTPUT);
  pinMode(m21, OUTPUT);
  pinMode(m22, OUTPUT);
}

سپس ما تابعی را مینویسیم که در آن مقادیر دریافت شده توسط ماژول بلوتوث را بخوانیم و بر اساس آن عملکردی را اجرا کنیم.

void loop() 
{
  while(Serial.available())
  {
    char ch=Serial.read();
    str[i++]=ch;
    
    if(str[i-1]=='1') // اگر عدد 1 دریافت شود
    {
     Serial.println("Forward"); // حرکت رو به جلو
     forward();
     i=0;
    }

    else if(str[i-1]=='2') // اگر عدد 2 دریافت شود
    {
     Serial.println("Left"); // حرکت رو به چپ 
     right();
     i=0;
    }

    else if(str[i-1]=='3') // اگر عدد 3 دریافت شود
    {
      Serial.println("Right"); // حرکت رو به راست 
      left();
      i=0;
    }

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

دکمه فشرده شده موتور های جلو موتور های عقب
دکمه M11 M12 M21 M22 عملکرد
Stop توقف
Forward 1 رو به جلو
Backward 1 رو به عقب
Right 1 1 راست
left 1 1 چپ

موارد موجود در فایل : سورس کد ، شماتیک پروژه

دانلود فایل های پروژه

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

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

محمد رحیمی

محمد رحیمی

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

19 نظر

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

    1. سلام جناب، پاسختون رو قبلا دادم پروژه های مختلفی در رابطه با ارتباط های رادیویی در سایت موجود هست میتونید جستجو بفرمایید.

    1. سلام جناب، تفاوتی نداره اگر بدون گیربکس ماشینتون حرکت میکنه میتونید از موتور ساده استفاده کنید.

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

    1. سلام جناب، اتصالات درونی بسیار ساده هست شما یک موتور با گیربکس به همراه تایر خریداری کنید میتونید به راحتی یک ماشین کنترلی رو طراحی کنید.

  3. سلام فقط به یکی از چرخ های عقب و جلو موتور متصل است ؟؟
    لطفا عکس قطعات را هم قرار بدید .ممنون.

    1. سلام جناب. این مسئله بستگی به خودتون داره. میتونید موتور های سمت چپ و راست رو جداگانه در نظر بگیرید.

  4. از شیلد درایور L293D استفاده کردید یا IC L293D ؟؟؟
    در واقع از موتور درایور L293D ای که در لینک زیر است استفاده کردید ؟؟

    1. خیر در این پروژه از شیلد استفاده نشده و از آی سی موتور درایور L293D استفاده شده است.

  5. سلام ببخشید به جای L293D از ماژول L298N می توان استفاده کرد ؟؟؟
    و اینکه میشه لطفا عکس قطعات را هم قرار بدید .ممنون

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

  6. سلام مهندس این شماره منه اگه لطف کنین نرم افزارشو برای من بفرستین من هرچی توی گوگل پلی گشتم نتونستم‌پیدا کنم اگه میشه بفرستین ممنونتون میشم
    092**52

    1. سلام جناب، لینک نرم افزار در گوگل پلی در پست قرار گرفت.

  7. سلام وقت بخیر عذر میخوام چطوری میشه ولتاژ ورودی رسیور ماشین کنترلی رو افزایش بدیم بدون اینکه مدار از کار بیفته مثلا الان ولتاژ روی ۴.۸ ولته می‌خوام یه باتری ۷.۴ ولتی بزارم آیا قطعه ای رو باید عوض کنیم یا تقویت کنیم یا کلا شما میتونید همچین رسیوری که با باتری ۷.۴ ولتی کار کنه واسه من طراحی کنید ممنون میشم پاسخ بدین

    1. سلام جناب. میتونید از موتور 3 ولت هم استفاده کنید.

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

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