محرك Servo (المحرك التقادمي) يختلف عن المحركات العادية تماماً — لديه دارة تحكم مدمجة تُبقيه عند زاوية محددة بدقة عالية. مثالي لكل تطبيق يحتاج حركة دقيقة: ذراع روبوت، باب ذكي، دفة طائرة بدون طيار، ميزان دقيق. يتحكم فيه الأردوينو بإشارة PWM بسيطة.
// ===== تحكم كامل في Servo =====
#include
Servo myServo;
const int SERVO_PIN = 9;
void setup() {
myServo.attach(SERVO_PIN);
Serial.begin(9600);
}
void loop() {
// === حركة من 0 إلى 180 درجة تدريجياً ===
for(int angle=0; angle<=180; angle+=5) {
myServo.write(angle);
Serial.print("الزاوية: ");
Serial.println(angle);
delay(50);
}
// === حركة مرتدة ===
for(int angle=180; angle>=0; angle-=5) {
myServo.write(angle);
delay(50);
}
// === حركة بإدخال المستخدم عبر Serial ===
if(Serial.available()) {
int targetAngle = Serial.parseInt();
targetAngle = constrain(targetAngle, 0, 180);
myServo.write(targetAngle);
}
}
لا توصّل Servo مباشرة ببطارية الأردوينو إذا كان يحرّك حمولة ثقيلة — استخدم مصدر طاقة منفصل 5V مع GND مشترك مع الأردوينو.