آموزش آردوینو – قسمت سوم – کار با ماژول سروو موتور
در این قسمت از سری آموزش آردوینو در الکسازشاپ، کار و نحوه راه اندازی ماژول SG90 را تجربه خواهیم کرد. این ماژول از سری ماژولهای سروو موتور خواهد بود و اصلی ترین کاربرد آنها مدیریت قدرت و بازه حرکتی موتور است. سروو موتور کاربرد بسیار زیادی در ساخت بازوهای کنترلی دارد که به عنوان مفصل در این نوع ربات ها عمل میکنند.

مدار سروو موتور و آردوینو
#include <Servo.h>
int pos;
int distanceCM;
Servo servo_5;
void setup()
{
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
}
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
return pulseIn(echoPin, HIGH);
}
void loop()
{
distanceCM = 0.01723 * readUltrasonicDistance(3, 4);
if (distanceCM > 10) {
servo_5.attach(5);
digitalWrite(8,5);
digitalWrite(7,0);
for (pos=0 ; pos <= 180; pos += 1) {
servo_5.write(pos);
delay(15);
distanceCM = 0.01723 * readUltrasonicDistance(3, 4);
if(distanceCM < 10){
servo_5.detach();
digitalWrite(8,0);
digitalWrite(7,5);
}
else{
servo_5.attach(5);
digitalWrite(8,5);
digitalWrite(7,0);
}
}
for (pos=180 ; pos >= 0; pos -= 1) {
servo_5.write(pos);
delay(15);
distanceCM = 0.01723 * readUltrasonicDistance(3, 4);
if(distanceCM < 10){
servo_5.detach();
digitalWrite(8,0);
digitalWrite(7,5);
}
else{
servo_5.attach(5);
digitalWrite(8,5);
digitalWrite(7,0);
}
}
}
else {
servo_5.attach(5);
digitalWrite(8,0);
digitalWrite(7,5);
}
}
جلسهی بعدی آموزش
جلسهی بعدی کار با ماژول L298 یا ماژول موتور درایور را با هم تجربه خواهیم کرد. اگر چند جلسهی قبلی را دنبال کرده باشید، موضوع و عملکرد رباتی که در این چند جلسه در حال ساخته شدن است که میتوانید پیدا کنید.