أردوينو – الدرس الخامس عشر – محرك السيرفو Servo Motor

مبتدئ

image_pdf

الكود البرمجي محرك السيرفو

قم برفع الكود التالي على متحكم الاردوينو وستجد أن محرك السيرفو ‘servo motor’ يبدأ بالحركة مباشرة باتجاه واحد ثم العوده للاتجاه الآخر.

الكود يعتمد على المثال البرمجي ‘sweep’  الموجود بمكتبة أمثلة الأردوينو
File> Examples> Servo> Sweep

#include <Servo.h>
 
int servoPin = 9;
 
Servo servo;  
 
int angle = 0;   // servo position in degrees
 
void setup()
{
  servo.attach(servoPin);
}
 
 
void loop()
{
  // scan from 0 to 180 degrees
  for(angle = 0; angle < 180; angle++)  
  {                                  
    servo.write(angle);               
    delay(15);                   
  }
  // now scan back from 180 to 0 degrees
  for(angle = 180; angle > 0; angle--)    
  {                                
    servo.write(angle);           
    delay(15);       
  }
}

 

يتم التحكم بمحرك السيرفو ‘servo motor’ عبر سلسلة من الذبذبات ، ولجعل العملية سهله  تم توفير مكتبة كود للاردوينو  ليسهل عليك عملية توجيه محرك السيرفو ‘servo motor’ للتوجيه لزاوية معينة.

الاوامر البرمجية للتحكم بمحرك السيرفو تماماً كالاوامر الأخرى في برنامج الأردوينو ولكن لأننا لانستخدمها بشكل دائم في كل المشاريع ، لذلك عليك استدعاء مكتبة اوامر التحكم بمحرك السيرفو ‘servo motor’ وذلك عبر الأمر التالي

#include <Servo.h>

 

وكالعادة نقوم بتحديد وتعريف المنفذ الذي يتم ربطه بمحرك السيرفو عبر المتغير ‘servoPin’ .

Servo servo;

 

لنقم برمجياً بتعريف محرك سيرفو من نوع سيرفو . المكتبة البرمجية وفرت لنا نوع للتعريف وهو ‘servo’ تماماً كالتعريفات الاخرى مثل ‘int’ و ‘float’ ..الخ

لذلك باستخدام تعريف النوع ‘servo’ يمكنك من أن تعرف حتى 8 محركات سيرفو مرتبطه بالأردوينو . التعريف يتم كالتالي

Servo servo1;
Servo servo2;

في دالة setup علينا ربط متغير ‘servo’ بالمنفذ الذي سيتحكم بمحرك السيرفو ، وذلك عبر الأمر التالي

  servo.attach(servoPin);

المتغير ‘angle’ يستخدم لتحديد الزاوية الحالية لمحرك السيرفو . بداخل دالة loop استخدمنا حلقتين ‘for loop’ وذلك لزيادة الزاوية في اتجاه واحد حتى 180 درجة ثم العودة والذهاب للجهة الأخرى.

الأمر

   servo.write(angle);

يطلب من السيرفو لتحديث موضعه من الزاوية التي تم تحديدها له.

X
Product added to the cart