کنترل سروو موتور با پلتفرم Thinger.io
کنترل سروو موتور با پلتفرم Thinger.io
در این آموزش قصد داریم با استفاده از پلتفرم thinger و برد NodeMCU یک سروو موتور رو کنترل کنیم .
برای اینکار ابتدا باید داخل سایت تینگر ثبت نام کرده باشیم و یک دیوایس اضافه کرده باشیم.
اگه هنوز این کار رو انجام ندادید میتونید به آموزش کنترل led با پلتفرم thinger.io مراجعه کنید .
توضیح کلی به این شکل هستش که ما داخل داشبورد اسلایدری معرفی میکنیم برای کنترل چرخش سروو موتور
با تغییر دادن عدد اسلایدر زاویه سروو موتور هم تغییر پیدا میکنه.
خب این کجاها کاربرد داره؟اصلا ما برای چی باید بتونیم سروو موتور رو از طریق اینترنت کنترل کنیم ؟
خب جاهای زیادی کاربرد داره اما به طور کلی برای کنترل زاویه دوربین _چرخش لاستیک های ماشین کنترلی_ باز کردن درب _ کنترل فیزیکی لامپ و… کاربرد داره.
مثلا شما یه دوربین توی خونه نصب کردین و دارین از یه جای دیگ دنیا تصویرش رو نگاه میکنین اما زاویه دوربین رو به اتاق هست و شما میخواین با همون دوربین پذیرایی هم یه نگاه کنید خب اینجا با گزاشتن یه سروو موتور کنار دوربین میتونید زاویه دید دوربین رو کنترل کنید.
برای این کار ابتدا کتابخونه این پلتفرم رو توی نرم افزار آردوینو اضافه میکنیم و بعد داخل سایت Thinger.io ثبت نام میکنیم و یک دیوایس اضافه میکنیم و یک داشبورد و اسلایدر هم اضافه میکنیم و بعد بعد رمز های ساخته شده توسط پلتفرم رو وارد کد کرده و کد رو روی برد آپلود میکنیم.
نصب کتابخانه Thinger.io در نرم افزار آردوینو:
برای نصب این کتابخانه اول باید از نوار بالا وارد منو Sketch بشیم و بعد وارد قسمت include library بشیم و گزینه Manage libraries رو انتخاب کنیم .
حالا باید داخل نوار سرچ کلمه thinger رو جستجو کنیم و بعد اخرین نسخه کتابخونه رو نصب کنیم .
ثبت نام در سایت thinger.io :
ابتدا وارد سایت thinger.io میشیم و بعد از سمت راست بالا قسمت sign up رو میزنیم و داخل صفحه جدید ایجاد شده اطلاعات کاربری رو وارد میکنیم و ثبت نام میکنیم .
اضافه کردن دیوایس :
بعد از وارد شدن به قسمت دیوایس رفته و یک دیویاس جدید اضافه کنید و برای ان ای دی و مشخصات وارد کنید.
حالا نام کاربری و ای دی دیوایس و مشخصات خواسته شده رو داخل کد وارد میکنیم .
قطعات مورد نیاز :
۱_برد NodeMCU
۲_سروو موتور sg90
۳_بردبورد
۴_سیم جامپر
شماتیک و اتصالات:
پایه مثبت یا قرمز سروو موتور = پایه VIN برد NodeMCU
پایه منفی یا قهوه ای سروو موتور = پایه GND برد NodeMCU
پایه PWM یا نارنجی سروو موتور = پایه D4 برد NodeMCU
کد نویسی :
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ |
#include <Servo.h> #include <ESP8266WiFi.h> #include <ThingerWifi.h> #include <ThingerESP8266.h> #define USERNAME "xxxxxxxxx" #define DEVICE_ID "xxxxxxxx" #define DEVICE_CREDENTIAL "xxxxxxxx" #define SSID "xxxxxxx" #define SSID_PASSWORD "xxxxxxx" ThingerESP8266 thing(USERNAME,DEVICE_ID,DEVICE_CREDENTIAL); int pos; Servo servo; void setup() { thing.add_wifi(SSID,SSID_PASSWORD); servo.attach(D4); thing["pos"] << [](pson& in){ if(in.is_empty()) {in = pos;} else{pos = in; servo.write((int)in);}}; thing["reset"] << [](pson& in){ servo.write(۰);};} void loop() { thing.handle();} |
اضافه کردن داشبورد :
(بعد از آپلود کد به قسمت دیوایس رفته و اتصال رو چک میکنیم اگه برد وصل شده بود به پلتفرم به قسمت داشبورد میریم .)
به قسمت داشبورد رفته و یک داشبورد اضافه میکنیم اسم و مشخصاتش رو مینویسیم و بعد یک ویجت اسلایدر اضافه میکنیم و حالت Target Value رو روی Device Resource تنظیم میکنیم و بعد دیوایسی که قبل اضافه کرده بودیم رو انتخاب میکنیم و Resource Name رو روی pos قرار میدیم.