وحدة التحكم: استكشاف محرك الخزان - C++
صندوق أدوات المعلم
-
الغرض من هذا النشاط
يتيح استخدام مشروع التحكم في الخزان للطلاب التحكم في Clawbot باستخدام وحدة التحكم. سوف يحتاج الطلاب إلى ضبط المعلمات في LeftMotor.setVelocity() و RightMotor.setVelocity() و LeftMotor.spin()RightMotor.spin() و leftMotorSpeed = Controller1.Axis3.position) و = Controller1.Axis2.position( للتحكم في سرعة من محركاتوتمكين وحدة التحكم من التحكم في وظائف المحرك.
لمزيد من المعلومات حول أي من الإرشادات، قم بزيارة التعليمات في قسم C++ في VEXcode V5.
وفيما يلي مخطط لما سيفعله الطلاب في هذا النشاط:
-
استكشف مشروع التحكم في الخزان كمثال.
-
فهم استخدام بنية الحلقة اللانهائية بينما True .
-
أكمل تحدي Robo-Slalom!
| كمية | المواد المطلوبة |
|---|---|
| 1 |
مجموعة أدوات بدء تشغيل VEX V5 Classroom (مع البرامج الثابتة المحدثة) |
| 1 |
VEXcode V5 (أحدث إصدار، Windows، macOS) |
| 1 |
دفتر الهندسة |
| 1 |
مشروع مثال للتحكم في الخزانات |
| 2 أو أكثر |
أدوات الفصل الدراسي التي يمكن استخدامها كعقبات |
نصائح للمعلمين
-
باستخدام الإكمال التلقائي
الإكمال التلقائي هو ميزة في VEXcode V5 تتنبأ ببقية الأمر الذي تكتبه. بينما يعمل الطلاب في VEXcode V5، شجعهم على استخدام ميزة الإكمال التلقائي للمساعدة في بناء الجملة تتناول المقالة الإكمال التلقائي كيفية استخدام ميزة الإكمال التلقائي.

سيمنحك هذا النشاط الأدوات اللازمة لبرمجة جهاز التحكم الخاص بك.
الخطوة 1: لنبدأ برمجة وحدة التحكم.
- افتح مشروع المثال Tank Control .
-

قم بما يلي في دفتر الهندسة الخاص بك:
توقع ما سيفعله هذا المشروع باستخدام Clawbot. اشرح أكثر من حقيقة أن المشروع يستخدم جهاز التحكم.
كيف تحرك عصي التحكم الروبوت؟ ماذا يفعل Clawbot؟int main() { // Initializing Robot Configuration. DO NOT REMOVE! vexcodeInit(); // Begin project code. // Main Controller loop to set motors to controller axis positions while (true) { LeftMotor.setVelocity(Controller1.Axis3.position(), percent); RightMotor.setVelocity(Controller1.Axis2.position(), percent); LeftMotor.spin(forward); RightMotor.spin(forward); wait(5, msec); } return 0; }
صندوق أدوات المعلم
-
إجابات
- سيستخدم هذا المشروع بنية الحلقة اللانهائية بينما True للتحقق بشكل مستمر من موضع عصا التحكم اليمنى واليسرى. عند دفع عصا التحكم اليسرى (أو اليمنى) لأعلى، يتم ضبط السرعة بناءً على مدى دفع عصا التحكم للأمام.
- وبالتالي، كلما تم دفع عصا التحكم إلى الأمام، سيتم ضبط السرعة بشكل أسرع وستتحرك المحركات بشكل أسرع. تنطبق نفس الفكرة على دفع عصا التحكم للخلف. كلما تم دفع عصا التحكم إلى الخلف، كلما تحركت المحركات بشكل أسرع في الاتجاه المعاكس.
- احفظ، وقم بتنزيل، قم بتشغيل (C++) مشروع مثال Tank Control .
-
للحصول على ، راجع أقسام مكتبة VEX في C++ أو راجع البرنامج التعليمي في VEXcode V5 الذي يشرح كيفية تنزيل مشروع وتشغيله.

- قم بمراجعة تفسيراتك للمشروع في دفتر الهندسة الخاص بك وأضف ملاحظات لتصحيحها حسب الحاجة.
الخطوة 2: وحدة التحكم: التحكم في الخزان
صندوق أدوات المعلم
-
هياكل الحلقة اللانهائية الحقيقية
تناقش هذه الخطوة أهمية بنية الحلقة اللانهائية بينما True . ينبغي عليك مراجعة المعلومات كفصل دراسي. يمكنك إنشاء نموذج للسلوك باستخدام Clawbot وController، أو إذا سمح الوقت، اطلب من الطلاب تشغيل البرنامج بدون بنية الحلقة اللانهائية while True .
ما هي فوائد استخدام بنية الحلقة اللانهائية بينما True؟
هذا هو مشروعنا بدون بنية الحلقة اللانهائية while True:
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Begin project code.
// Main Controller loop to set motors to controller axis postiions
LeftMotor.setVelocity(Controller1.Axis3.position(), percent);
RightMotor.setVelocity(Controller1.Axis2.position(), percent);
LeftMotor.spin(forward);
RightMotor.spin(forward);
}
ما رأيك سيحدث إذا تم تنفيذ هذا البرنامج؟ ناقش كمجموعة. اكتب توقعاتك في دفتر الهندسة.
صندوق أدوات المعلم
-
فهم البنية
بدون الحلقة اللانهائية بينما True ، يتم تعيين قيمة السرعة لكل محرك بمجرد تشغيل المشروع، وتظل هذه القيمة ثابتة حتى يتوقف المشروع. بمعنى آخر، إذا قمت بتشغيل المشروع دون تحريك أي من عصا التحكم، لأن الموضع الافتراضي لعصا التحكم على محورها هو 0، فإن سرعة كلا المحركين ستبقى عند 0، حتى إذا قمت بتحريك عصا التحكم.
وبالمثل، لنفترض أنك حركت عصا التحكم اليسرى لأعلى بقدر ما تستطيع على طول المحور 3 وأبقتها هناك. إذا قمت بتشغيل المشروع أعلاه، فإن المحرك الأيسر سيتحرك بأقصى سرعة وسيظل بهذه السرعة حتى إذا قمت بتحريك عصا التحكم لأسفل على طول المحور 3. يرجع ذلك إلى أن Clawbot يتلقى تعليماته الأولية من وحدة التحكم بمجرد تشغيل المشروع؛ ومع ذلك، بدون حلقة، لا يمكن تحديث هذه القيمة الأولية.
تخبر الحلقة اللانهائية بينما True Clawbot بتحديث السرعة باستمرار وتشغيلها طوال مدة المشروع. بمعنى آخر، الحلقة اللانهائية بينما True ، في هذا المشروع، تمكنك من تغيير سرعة كل محرك عن طريق تحريك عصا التحكم على طول المحور 2 أو 3، وسوف يستجيب Clawbot وفقًا لذلك حتى تقوم بإيقاف المشروع أو إيقاف تشغيل Clawbot.
الخطوة 3: التنقل في مسار التعرج!
صندوق أدوات المعلم
-
إعداد النشاط
قم بتنظيم الطلاب في مجموعات صغيرة مكونة من 2 أو 4 طلاب. يجب تعيين طالب واحد كسائق - الشخص الذي سيستخدم وحدة التحكم لمناورة Clawbot.
اطلب من الطلاب إكمال هذا التعرج باستخدام وحدة التحكم لتحريك Clawbot على طول الجزء الخارجي من كل "علم". يجب أن يمنع مسار Clawbot من لمس أي علم ويسمح له بعبور خط النهاية. يمكن أن تكون الأعلام عبارة عن أي مادة/كائن صفي لديك في متناول يدك (ممحاة، لفة شريط لاصق، علبة مناديل) ويمكن وضعها في مكانها قبل تشغيل Clawbot.
إذا سمح الوقت، اطلب من الطلاب تبديل الأدوار لإعطاء الآخرين الفرصة لقيادة Clawbot. يمكنك أيضًا تحويل هذا إلى منافسة داخل المجموعات أو بين المجموعات من خلال رؤية مدى سرعة كل سائق في التنقل عبر التعرج.

التعرجات هي مسارات يجب على المشارك التنقل فيها حول الأعلام أو العلامات المحددة. تعد رياضة التزلج على الجليد من الرياضات الشتوية الشهيرة ويتم تضمينها في الألعاب الأولمبية الشتوية.
الآن بعد أن وحدة التحكم مشروع C ، فأنت جاهز لتحريك Clawbot باستخدام وحدة التحكم
- قم بجمع العناصر الأربعة الموجودة في الفصل الدراسي والتي ستستخدمها كأعلام في سباق التعرج الخاص بك من المعلم.
- تعاون على وضع الأعلام في المكان المناسب حتى يتمكن السائق من التنقل حول Clawbot، وفقًا لرسم التعرج.
- تنزيل مشروع مثال التحكم في الخزان. إذا كانت لديك أي أسئلة حول كيفية تنزيل مشروع، فراجع البرنامج التعليمي تنزيل مشروع وتشغيله.
الخطوة 4: التعرج الآلي

استخدم وحدة التحكم لتحريك Clawbot على طول الجانب الخارجي لكل "علم". يجب أن يمنع مسار الروبوت من لمس أي علم، ويسمح له بعبور خط النهاية.
- قم بتشغيل المشروع وقم بقيادة Clawbot للأمام والخلف والانعطاف إلى اليسار واليمين باستخدام كلا عصي التحكم.
- الوقت الذي يستغرقه Clawbot لإكمال الدورة. وثّق الأوقات في دفتر الهندسة.
- ما مدى السرعة التي يمكنك بها اجتياز Clawbot لمسار Slalom؟
تحفيز المناقشة
-
التفكير في النشاط
س: هل استجاب Clawbot لوحدة التحكم كما توقعت؟
أ: قد تختلف الإجابات؛ ومع ذلك، فإن هدف هذا السؤال هو تعزيز التفكير المعرفي. بدأ الطلاب بالتنبؤ بالسلوكيات قبل اختبارها، وتوثيق نتائجهم، والتفكير فيها.
س: ما هو التحدي الأكبر في تحريك Clawbot إلى الأمام أو الخلف في خط مستقيم؟
أ: على الرغم من أن الإجابات قد تختلف، إلا أن الاستجابة المشتركة يجب أن تكون أن كلتا ذراعي التحكم يجب أن تتحركا في مزامنة مع بعضهما البعض لضمان تحرك محركات Clawbot في نفس الاتجاه وبنفس السرعة
س: كيف يساعدك استخدام الحلقة اللانهائية أثناء استخدام حلقة True على استخدام وحدة التحكم بشكل مستمر لتحريك Clawbot؟
أ: بدون الحلقة اللانهائية بينما True ، سيقوم Clawbot بأداء السلوكيات كما هو محدد بواسطة التعليمات في المشروع مرة واحدة فقط. تخبر الحلقة اللانهائية بينما True Clawbot بتحديث السرعة باستمرار وتشغيلها طوال مدة المشروع. بعبارة أخرى، تتيح لك الحلقة اللانهائية بينما True استخدام وحدة التحكم لتحريك Clawbot إلى أجل غير مسمى، أو حتى نفاد البطارية.