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

کنترل ربات با وای فای از طریق اندروید با آردوینو و Esp8266

سلام. کنترل ربات با وای فای از طریق اندروید با آردوینو و Esp8266 را آماده کردیم.

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

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

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

برنامه Blynk از طریق وای فای مقادیر را از دو محور به آردوینو ارسال می کند. آردوینو مقادیر را دریافت می کند، آنها را با مقادیر از پیش تعریف شده مقایسه کرده و ربات را بر آن اساس در جهت مورد نظر حرکت می دهد.

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

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

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

همچنین ما پروژه های دیگری در این زمینه داشته ایم :

مراحل پیکربندی برنامه Blynk

ابتدا آن را از Google Play بارگیری کرده و آن را در تلفن همراه Android نصب کنید. دانلود Blynk

بعد از نصب شما باید یک حساب کاربری تشکیل دهید. میتوانید این کار را از طریق Gmail متصل به گوشی تان انجام دهید.سپس در قسمت Create New Project ، نام پروژه به دلخواه و برد Node MCU را انتخاب کنید. سپس Wi-Fi را از لیست کشویی Connection Type انتخاب کرده و گزینه Create را بزنید. یک Auth Token تولید می شود و به آدرس پست الکترونیکی که وارد آن شده اید ارسال می شود. این Auth Token Code را در کد Arduino زیر وارد کنید.

char auth[] = "caa17a11c0124d4083d0eaa995f45917";

سپس بر روی دکمه Create در برنامه Blynk کلیک کنید.

اکنون ویجت Joystick را انتخاب کنید، روی Joystick کلیک کنید ، Joystick را پیکربندی کنید.

مراحل پیکربندی برنامه Blynk

سپس دکمه Play را در بالای صفحه فشار دهید.

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

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

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

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

یک آی سی درایور L293D برای کنترل موتورهای DC استفاده می شود. پین های ورودی موتور درایور IC مستقیما به پین ​​های 8 ، 9 ، 10 و 11 آردوینو متصل می شوند. و موتورهای DC در پین های خروجی آن وصل شده اند. در اینجا ما از باتری 9 ولت برای رانندگی موتورهای DC استفاده کرده ایم.

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

  1. برد آردوینو UNO
  2. ماژول Wi-Fi ESP8266
  3. موتور درایور L293D
  4. موتور دی سی
  5. شاسی ربات به علاوه چرخ
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

توضیحات کد کنترل ربات با Wifi

این برنامه در Arduino IDE آماده است. ما فقط باید کتابخانه Blynk را برای آردوینو بارگیری کنیم. و پس از انجام برخی تغییرات، شما می توانید ربات کنترل شونده Wi-Fi خود را بسازید. کد کامل پروژه در انتهای مطلب قرار داده شده است. در اینجا قسمت های مهم کد را توضیح میدهیم.

ابتدا تمام كتابخانه های مورد نیاز برای اجرای این كد را در Arduino IDE قرار میدهیم و سپس Auth Token دریافتی از برنامه Blynk را در کدقرار میدهیم. پس پین سریال وای فای را تعریف میکنیم.

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

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>

// Set ESP8266 Serial object
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX

ESP8266 wifi(EspSerial);

char auth[] = "caa17a11c0124d4083d0eaa995f45917";

سپس پین های خروجی (8،910،11) را برای موتورها تعریف میکنیم و برخی از توابع جهت را برای حرکت ربات مینویسیم. void forward(), void backward(),void right() and void left()

پس از این ، در عملکرد setup ، تمام دستگاه های مورد نیاز مانند پین های موتور را پیکربندی می کنیم، ارتباط سریال را شروع می کنیم، نام کاربری و رمز عبور Wi-Fi را وارد میکنیم.

void setup()
{
  Serial.begin(9600); // نرخ ارتباط سریاللی
  delay(10);
  EspSerial.begin(9600); // نرخ ارتباط ماژول وای فای
  delay(10);

  Blynk.begin(auth, wifi, "username", "password");  //نام و رمز وای فای شما
  pinMode(m11, OUTPUT); // تنظیم پین های موتور
  pinMode(m12, OUTPUT);
  pinMode(m21, OUTPUT);
  pinMode(m22, OUTPUT);
}

در اینجا تعدادی شرط را تعریف میکنیم که با توجه به مقادیری که توسط ماژول جوی استیک ارسال میشود، موتور ها فعال شوند. فعال شدن موتور ها در تابع های حرکت ها که معرفی کردیم مثل Backward() قرار داده شده اند.

BLYNK_WRITE(V1) 
{
  int x = param[0].asInt();
  int y = param[1].asInt();
  if(y>220) // اگر مقدار جوی استیک بیشتر از 220 بود
  forward(); // حرکت به جلو
  else if(y<35) // اگر مقدار جوی استیک کمتر از 35 بود
  backward(); // حرکت به عقب
  else if(x>220) // اگر مقدار جوی استیک بیشتر از 220 بود
  right(); // حرکت به راسا
  else if(x<35) // اگر مقدار جوی استیک کمتر از 35 بود
  left(); // حرکت به چپ
  else // در صورتی که هیچکدام نبود
  Stop(); // توقف ربات
}

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

void loop()
{
  Blynk.run();
}

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

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

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

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

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

محمد رحیمی

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

17 نظر

  1. سلام و خسته نباشید
    ببخشید من الان این کد ها که داخل فایل هست رو داخل برنامه آردینیو کپی کنم و نیاز به تغییر در کد ها نیست(اگه هست میشه توضیح بدید) و اینکه میتونم 2 تا موتور دیگه به ربات اضافه کنم(این 2 تا به همون 2 تای قبلی متصل میشه و همون برای حرکت است فقط میخوام بدونم به برد آسیب میزنه یا نه).
    با تشکر از سایت عالی تون.

    1. سلام عزیز. چون از موتور درایور استفاده میشه اضافه کردن موتور آسیبی به برد وارد نمیکنه. فقط Blynk تحریم کرده و با آیپی ایران نمیشه باهاش کار کرد.

    2. منظورم اینه پس چطور میشه کنترش کرد.باتشکر

    3. این پروژه در ایران استفاده نمیشه وقت نذارید براش

  2. سلام آیا میشه تواین پروژه ها از آردینو uno مدل smd استفاده کرد

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

  3. برای کامپایل این کد باید اردیونو رو چه بردی باشه

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

  4. ممنون
    این SoftSer چه کتابخونه ای لازم داره تا ارور نده

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

  5. سلام این فایل SoftSer رو برای من ارور میده باید چیکار کنم
    اگه راهنمایی کنید ممنون میشم

    1. سلام جناب. این که مربوط به کتابخانه های خودتون هست اما پروژه های Blynk جدیدا در ایران کار نمیکنند.

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

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