هذا الدليل جزء من: محركات سيرفو
جميع الفيديوهات المتعلقة بمحركات السيرفو مدرجة هنا. روابط الفيديوهات الأخرى موجودة أسفل هذه المقالة.
التحكم في محرك سيرفو بأزرار ضغط باستخدام أردوينو
في هذا الدرس سنتعلم كيفية التحكم في محرك سيرفو باستخدام زرين للضغط: أحدهما لتحريك المحرك إلى اليسار والآخر لتحريكه إلى اليمين. عند الضغط على الزر الأيمن سيتحرك المحرك بمقدار 10 درجات نحو اليمين، وعند الضغط على الزر الأيسر سيتحرك بنفس المقدار نحو اليسار. إذا أبقيت الزر مضغوطًا سيستمر المحرك في الحركة في ذلك الاتجاه حتى تترك الزر.

هذا المشروع طريقة رائعة لفهم كيفية ربط الأزرار بمحرك سيرفو باستخدام أردوينو. سنغطي مكونات الأجهزة اللازمة، وإرشادات التوصيل، والكود اللازم لجعل كل شيء يعمل. لفهم أوضح، يمكنك الرجوع إلى الفيديو المصاحب لهذا الدرس (في الفيديو عند 01:00).
شرح الأجهزة
لهذا المشروع ستحتاج إلى لوحة أردوينو، محرك السيرفو، وزرّان للضغط. محرك السيرفو مسؤول عن الحركة، بينما تعمل أزرار الضغط كمدخلات للتحكم في اتجاه تلك الحركة. تعالج لوحة أردوينو هذه المدخلات وتُرسل الإشارات المناسبة إلى محرك السيرفو.
يعمل محرك السيرفو بناءً على إشارات تعديل عرض النبضة (PWM). عن طريق إرسال نبضات بعروض مختلفة، يمكنك التحكم في زاوية محرك السيرفو. ستتم توصيل أزرار الضغط بدبابيس الإدخال الرقمية على لوحة Arduino، وسنستخدم مقاومات سحب داخلية (pull-up) لتبسيط التوصيل.
تفاصيل ورقة البيانات
| المصنّع | متنوع |
|---|---|
| رقم القطعة | SG90 |
| جهد المنطق/الإدخال والإخراج | 5 فولت |
| جهد التغذية | 4.8-6 فولت |
| تيار الإخراج (لكل قناة) | 1.5 A كحد أقصى |
| التيار الأقصى (لكل قناة) | 2.5 A كحد أقصى |
| إرشادات تردد تعديل عرض النبضة | 50 هرتز |
| عتبات منطق الإدخال | 0.3 فولتنسخةإلى 0.7 فولتنسخة |
| هبوط الجهد / Rمقاومة التصريف-المصدر في حالة التشغيل/ التشبع | 0.4 فولت |
| الحدود الحرارية | 85 درجة مئوية |
| حزمة | بلاستيك |
| ملاحظات / تنويعات | دوران قياسي بزاوية 180° |
- تأكد من أن محرك السيرفو مصنّف لجهد مصدر الطاقة لديك.
- استخدم مشتت حرارة مناسبًا عند التشغيل بتيارات عالية
- قم بتوصيل الأزرار إلى الأرض باستخدام تكوين سحب للأعلى.
- قم بتطبيق تقنية إلغاء الارتداد (debounce) على أزرارك إذا واجهت سلوكًا غير مستقر.
- راقب المخرجات التسلسلية لأغراض التصحيح.
إرشادات التوصيل الكهربائي

لتوصيل المكونات، ابدأ بتوصيل محرك السرفو. قم بتوصيل السلك الأحمر للمحرك بدبوس 5V في لوحة الأردوينو، والسلك الأسود بدبوس GND، وسلك إشارة أصفر أو أبيض بدبوس 9 في لوحة الأردوينو. سيتحكم هذا الدبوس في موضع السرفو.
بعد ذلك، قم بتوصيل أسلاك أزرار الضغط. وصل أحد طرفي الزر الأيمن إلى الدبوس 2 والطرف الآخر إلى الأرضي. بالنسبة للزر الأيسر، وصل أحد طرفيه إلى الدبوس 12 والطرف الآخر أيضًا إلى الأرضي. هذا الإعداد يسمح لمقاومات السحب للأعلى الداخلية بالحفاظ على الدبابيس في مستوى عالٍ عندما لا تُضغط الأزرار.
أمثلة على الكود ودليل خطوة بخطوة
لنبدأ بالكود الخاص بالتحكم في السيرفو باستخدام زر ضغط واحد. يقوم الكود بتهيئة كائن السيرفو وتعيين زاوية مبدئية. فيما يلي مقتطف قصير:
int angle = 90; // initial angle for servo
int angleStep = 10; // step size for movement
في هذا المقتطف،angleيمثل الموضع الحالي للسيرفو، بينماangleStepيحدد مقدار تحرك السيرفو مع كل ضغطة زر. هذا الكود أساسي لتتبع موضع السيرفو.
بعد ذلك، لدينا دالة الإعداد حيث نربط السيرفو ونهيئ دبابيس الإدخال:
void setup() {
Serial.begin(9600); // setup serial
myservo.attach(9); // attaches the servo on pin 9
pinMode(2, INPUT_PULLUP); // configure button pin
}
في دالة الإعداد نقوم بتهيئة المراقب التسلسلي ونربط السرفو بالدبوس 9. يتم ضبط الزر على الدبوس 2 كدخل مع مقاومة سحب لأعلى، مما يبسط الأسلاك ويتجنب الحاجة إلى مقاومات خارجية.
أخيرًا، نلقي نظرة على دالة الحلقة التي تتعامل مع ضغط الزر:
while(digitalRead(2) == LOW) {
angle = angle + angleStep; // increment angle
myservo.write(angle); // move servo
}
تتحقق هذه الحلقة باستمرار مما إذا كان الزر مضغوطًا. عندما يُضغط، تزداد الزاوية بالخطوة المحددة ويتحرك السيرفو وفقًا لذلك. من الضروري التأكد من بقاء الزاوية ضمن النطاق (0 إلى 180 درجة) لتجنب تلف السيرفو.
عرض توضيحي / ما الذي تتوقعه
عند الضغط على الزر الأيمن، يجب أن يتحرك محرك السيرفو باتجاه اليمين بزيادات قدرها 10 درجات حتى يصل إلى الحد الأقصى وهو 180 درجة. وبالمثل، سيؤدي الضغط على الزر الأيسر إلى تحريكه باتجاه اليسار. إذا أبقيت الزر مضغوطًا، سيستمر محرك السيرفو في الحركة في ذلك الاتجاه حتى تقوم بتحرير الزر (في الفيديو عند 01:00).
تشمل الأخطاء الشائعة مشكلات في الأسلاك، مثل الوصلات غير الصحيحة أو المدخلات العائمة. تأكد دائمًا من أن وصلاتك محكمة وأنك تستخدم الدبابيس الصحيحة كما هو محدد في الكود.
هذا الدليل هو جزء من: محركات سيرفو
- Control a Servo Motor with a Push Button: Move Servo and Return SPB-1
- Control a Servo Motor with a Push Button: Move Servo in One Direction SPB-2
- Controlling a Servo Motor with a Push Button: Move Servo While Button Is Pressed (SPB-3)
- التحكم في محرك سيرفو باستخدام مقاوم متغير (بوتنشيوميتر) مع أردوينو
- التحكم في محرك سيرفو بواسطة بوتنشيوميتر وشاشة LCD1602 باستخدام أردوينو
- تحكم في محركات سيرفو باستخدام جهاز تحكم عن بُعد بالأشعة تحت الحمراء مع أردوينو
- تحكم في محرك سيرفو باستخدام مقاومة متغيرة
- التحكم في موضع السيرفو بإيماءات اليد لاردوينو
- Controlling Two or More Servos with Potentiometers Using an Arduino
- How to Control a 360° Servo with Three Push-Button Switches
- How to Use Continuous 360° Servo with Arduino
- كود أردوينو وفيديو لمتحكم السيرفو PCA9685 ذو 16 قناة و12 بت V1
- Build an Arduino Servo Toggle Switch with a Push Button
الأشياء التي قد تحتاجها
-
أمازونمحرك سيرفو على أمازونamzn.to
-
علي إكسبريساشترِ محرك سيرفو SG90 بزاوية 180 أو 360 من علي إكسبريسs.click.aliexpress.com
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
لا توجد ملفات متاحة.