كيفية التحكم في محرك سيرفو(0-180)
باستخدام مقاومة متغيرة (potentiometer)
مقدمة:
في التجربة التالية سنقوم بالتحكم في اتجاه دوران محرك السيرفو باستخدام مقاومة متغيرة.
انصح! أن لا تقوم بوصل محرك سيرفو لاردوينو مباشرة، من الممكن استخدام بطارية خارجية لدعم قوة المحرك.
القطع اللازمه للمشروع
في ما يلي القطع اللازمه للمشروع:
اسم القطعه بالعربيه
اسم القطعه بالانجليزيه
المصدر
اردوينو اونو
Arduino Uno
https://www.sparkfun.com/products/11224
محرك دوران سيرفو (0-180) درجة
Servo motor
https://www.sparkfun.com/products/16049
مقاومة متغيرة 10- كيلو أوم
10k ohm potentiometer
https://www.sparkfun.com/products/9939
لوح تجارب
mini breadboard
https://www.sparkfun.com/products/12047
اسلاك توصيل
Connecting Wires
https://www.sparkfun.com/products/12794
التوصيل :
أولاً : تحتوي محركات السيرفو على ثلاثة أسلاك:
سلك فرق الجهد الموجب والسلك الأرضي وسلك الإشارة المتغيرة.
⦁ يكون سلك الطاقة أحمرًا دائماً ، ويجب توصيله ب مدخل ال 5V على لوحة الأردوينو
⦁ السلك الأرضي عادة ما يكون أسود أو بني ويجب توصيله بمدخل GND لوح الأردوينو
⦁ وعادة ما يكون سلك الإشارة أصفراً أو برتقالياً ويجب توصيله بالمخل الرقمي 9 على لوح الأردوينو.
ثانياً: توصيل المقاومة المتغيرة potentiometer
يتم توصيل طرفي المقاومة ب ال جهد الموجب 5v، و ال GND، كما في الصورة
ويتم توصيل نقطة التوصيل المتغيرة على المدخل التناظري في ال (A0).
الكود البرمجي
#include // add servo library
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
تهانينا لقد انجزت المشروع بنجاح!
Tags
تأسيس اردوينو