آردوینو Arduinoآموزش اینترنت اشیاپروژه های 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();
}

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

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

مطلب پیشنهادی:  ساخت سرور بلوتوث کم مصرف BLE با ESP32 (+ نمایش میزان باتری)

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

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

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

دوره آموزش STM32

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

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

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

محمد رحیمی

محمد رحیمی

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

9 نظر

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

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

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

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

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

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

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

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