کنترل موتور با L9110s و thinger
در این آموزش قصد داریم با استفاده از اپلیکیشن و برد NodeMCU و درایور موتور L9110s حرکت یک موتور و همچنین جهت چرخش اون رو کنترل کنیم . ما در این پروژه از اپلیکیشن کنترل موتور که توسط تیم برنامه نویسی آکادمی دانش پژوهان آتی طراحی شده استفاده کردیم برای دانلود این نرم افزار میتونید به قسمت دسته بندی و بعد نرم افزار های مورد نیاز مراجعه کنید و یا لینک زیر رو کلیک کنید و نرم افزار رو دانلود کنید.
برای این کار ابتدا کتابخونه این پلتفرم رو توی نرم افزار آردوینو اضافه میکنیم و بعد داخل سایت Thinger.io ثبت نام میکنیم و یک دیوایس و کلید اضافه میکنیم و بعد رمز های ساخته شده توسط پلتفرم رو وارد کرد کرده و کد رو روی برد آپلود میکنیم.
نصب کتابخانه Thinger.io در نرم افزار آردوینو:
برای نصب این کتابخانه اول باید از نوار بالا وارد منو Sketch بشیم و بعد وارد قسمت include library بشیم و گزینه Manage libraries رو انتخاب کنیم .
حالا باید داخل نوار سرچ کلمه thinger رو جستجو کنیم و بعد اخرین نسخه کتابخونه رو نصب کنیم .
ثبت نام در سایت thinger.io :
ابتدا وارد سایت thinger.io میشیم و بعد از سمت راست بالا قسمت sign up رو میزنیم و داخل صفحه جدید ایجاد شده اطلاعات کاربری رو وارد میکنیم و ثبت نام میکنیم .
اضافه کردن دیوایس :
بعد از وارد شدن به قسمت دیوایس رفته و یک دیویاس جدید اضافه کنید و برای ان ای دی و مشخصات وارد کنید.
حالا نام کاربری و ای دی دیوایس و مشخصات خواسته شده رو داخل کد وارد میکنیم .
قطعات مورد نیاز این پروژه :
قطعات مورد نیاز برای این پروژه رو میتونید از فروشگاه خرید کنید .
۱- برد NodeMCU
۲-درایور موتور دوکاناله L9110s
۳-بردبورد
۴-ماژول رله تک کانال
۵-جاباتری چهار تایی
۶-باتری فلمی
۷-سیم جامپر
ماژول درایور موتور دوکاناله L9110s:



شماتیک و اتصالات :
- پایه VCC ماژول درایور موتور = پایه VIN برد NodeMCU
- پایه GND ماژول درایور موتور = پایه GND برد NodeMCU
- پایه B_A ماژول درایور موتور = پایه D1 برد NodeMCU
- پایه B_B ماژول درایور موتور = پایه D2 برد NodeMCU
- سیم مثبت یا قرمز جاباتری چهارتایی = پایه VIN برد NodeMCU
- سیم منفی یا مشکی جاباتری چهارتایی = پایه GND برد NodeMCU
کدنویسی :
(برای مشاهده کدهای این پروژه بهمراه توضیحات کامل آن باید در سایت ثبت نام نمایید. با تشکر) [restrict subscriber=”editor”]
#include <ESP8266WiFi.h> #include <ThingerESP8266.h> #define USERNAME "....." #define DEVICE_ID "....." #define DEVICE_CREDENTIAL "....." #define SSID "......" #define SSID_PASSWORD "....." ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL); void setup() { pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); thing.add_wifi(SSID, SSID_PASSWORD); thing["Right Motor"]<<digitalPin(D1); thing["Left Motor"]<<digitalPin(D2);} void loop() { thing.handle();}
اول از همه کتابخونه esp8266 و thinger.io رو فراخوانی میکنیم و بعدش یوزر نیم و آیدی دیوایس و رمز عبور رو مشخص میکنیم و نام وایفای و پسوورد رو تعریف میکنیم.
#include <ESP8266WiFi.h> #include <ThingerESP8266.h> #define USERNAME "....." #define DEVICE_ID "....." #define DEVICE_CREDENTIAL "....." #define SSID "......" #define SSID_PASSWORD "....." ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
داخل void setup حالت پایه ها رو مشخص میکنیم و سرور و تابع وایفای رو فرا میخونیم.
void setup() { pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); thing.add_wifi(SSID, SSID_PASSWORD); thing["Right Motor"]<<digitalPin(D1); thing["Left Motor"]<<digitalPin(D2);}داخل void loop هم دستو ران شدن و اتصال رو میدیم.
void loop() { thing.handle();}
اضافه کردن داشبورد :
(بعد از آپلود کد به قسمت دیوایس رفته و اتصال رو چک میکنیم اگه برد وصل شده بود به پلتفرم به قسمت داشبورد میریم .)
به قسمت داشبورد رفته و یک داشبورد اضافه میکنیم اسم و مشخصاتش رو مینویسیم و بعد دو ویجت حالت روشن و خاموش اضافه میکنیم و حالت Target Value رو روی Device Resource تنظیم میکنیم و بعد دیوایسی که قبل اضافه کرده بودیم رو انتخاب میکنیم و Resource Name رو روی نام هایی که معرفی کرده بودیم در کد قرار میدیم.