در این آموزش، چگونگی راهاندازی و کنترل چند سروو موتور با بردهای آردوینو را فرا خواهیم گرفت. درواقع، در این آموزش چهار سروو موتور را با خروجی PWM آردوینو کنترل خواهیم کرد.
با مطالعه دقیق و اجرای برنامه زیر میتوانید پروژههای رباتیکی خود را با استفاده از چندین سروو موتور و فقط با یک برد آردوینو راهاندازی و اجرا کنید. برای مطالعات ابتدایی و آشنایی با سروو موتورها و نوشتن دستورات مربوطه به آموزش و راهاندازی سرو موتور با آردوینو در "آموزش آردوینو: درس چهاردهم (سروو موتور)" مراجعه کنید. بهطورمعمول با اکثر بردهای آردوینو میتوان تا 12 سروو موتور را مشابه این آموزش راهاندازی نمود. در ادامه آموزش راهاندازی چهار سروو موتور ارائه میشود.
گام اول: قطعات موردنیاز
قطعات به کار رفته برای اجرای این پروژه به صورت زیر می باشد که آنها را میتوان از قسمت فروشگاه اتومی تهیه نمود.
گام دوم: اتصالات
ابتدا دو سیم مثبت و منفی باتری کتابی را به برد بورد متصل نمایید تا تغذیه موتورها و برد آردوینو خود را تأمین کنید. سپس، GND آردوینو را به ورودی GND برد آردوینو که سیم سمت منفی باتری را به آن متصل کردهایم وصل میکنیم.
اتصالات سروو موتور SG-90 که در این پروژه استفاده میکنیم بهقرار زیر هستند:
- ورودی نارنجی، ورودی سیگنال
- ورودی قرمز، ورودی تغذیه (VCC)
- ورودی قهوهای، ورودی زمین (GND)
حال در ادامه سیم قرمز تمامی سروو موتورها را به ترتیب به ورودی تغذیه یا VCC برد بورد و یا به ردیفی از آن که سیم پایه مثبت باتری به آن متصل شده است وصل کنید. همچنین، سیم قهوهایرنگ در تمامی سروو موتورها که نشاندهنده ورودی زمین سروو موتورها است را به ورودی GND برد بورد وصل نمایید.
سیم سیگنال یا نارنجیرنگ سروو موتور شماره 1 به پایه PWM شماره 3 برد آردوینو متصل میگردد؛ و به همین ترتیب، سیم سیگنال یا نارنجیرنگ سروو موتور شماره 2 به پایه PWM شماره 5 برد آردوینو، سیم نارنجیرنگ سروو موتور شماره 3 به پایه PWM شماره 6 برد آردوینو و درنهایت هم سیم سیگنال سروو موتور شماره 4 را به پایه PWM شماره 9 برد آردوینو متصل میکنیم.
حال کافی است تا برد آردوینو را به کابل USB به کامپیوتر خود متصل کرده و برنامه حرکت چهار موتور را بنویسید.
گام سوم: برنامهنویسی
برنامه درنظر گرفته شده برای این آموزش به این صورت است که میخواهیم هر چهار موتور 180 درجه را به همراه یکدیگر جاروب کنند. به همین منظور برنامه زیر را در محیط IDE آردوینو مینویسیم:
#include <Servo.h>
int servo1Pin = 3;
int servo2Pin = 5;
int servo3Pin = 6;
int servo4Pin = 9;
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
// create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
servo1.attach(servo1Pin);
servo2.attach(servo2Pin);
servo3.attach(servo3Pin);
servo4.attach(servo4Pin); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
servo1.write(pos);
servo2.write(pos);
servo3.write(pos);
servo4.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
servo1.write(pos);
servo2.write(pos);
servo3.write(pos);
servo4.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
به همین منظور در ویدئوی ادامهی آموزش نحوه عملکرد سروو موتورها و توضیحات مربوط به نوشتن برنامه را مشاهده خواهید نمود.
ویدیو اضافه شود
نظرات شما باعث بهبود محتوای آموزشی ما میشود. اگر این آموزش را دوست داشتید، همینطور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.
ترجمه شده توسط تيم اتومی| منبع: سايت instructables