آردوینو Arduinoپروژه های آردوینو

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

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

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

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

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

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

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

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

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

همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.

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

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

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

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

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

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

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

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

مطلب پیشنهادی:  ساخت بازی پینگ پنگ با آردوینو و شتاب سنج ADXL335

ساخت ماشین کنترلی با 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

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

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

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

محمد رحیمی

محمد رحیمی

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

2 نظر

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

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

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