پروژه الکترونیکپروژه های 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();
}

فیلم عملکرد پروژه

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

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

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

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

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

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

9 نظر

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

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

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

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

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

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