Skip to main content

المراقب: استكشاف محرك الخزان - Python

رمز صندوق أدوات المعلم صندوق أدوات المعلم - الغرض من هذا القسم

يتيح استخدام مشروع مثال التحكم في الخزان للطلاب التحكم في Clawbot باستخدام وحدة التحكم. سيحتاج الطلاب إلى ضبط المعلمات في () left_motor.set_velocity ()، () right_motor.set_velocity()، () left_motor.spin()، () right_motor.spin ()، () left_motor_speed = controller_1.axis3.position ()، () right_motor_speed = controller_1.axis2.position () تعليمات للتحكم في السرعة لكل محرك من محركات Clawbot وتمكين وحدة التحكم من التحكم في الوظائف الحركية.

لمزيد من المعلومات حول أي من التعليمات، تفضل بزيارة قسم مساعدة Python في VEXcode V5.

فيما يلي ملخص لما سيفعله الطلاب في هذا النشاط:

  1. استكشف مشروع مثال التحكم في الخزان.
  2. فهم استخدام بنية حلقة WHILE True اللانهائية.
  3. أكمل تحدي Robo - Slalom!

أيقونة نصائح المعلم نصائح للمعلم

إذا كانت هذه هي المرة الأولى التي يستخدم فيها الطالب VEXcode V5، فيمكنه الوصول إلى العديد من المقالات المفيدة في مكتبة VEX.

المواد المطلوبة:
الكمية المواد اللازمة
1

مجموعة VEX V5 Classroom Starter (مع برنامج ثابت محدث)

1

VEXcode V5 (أحدث إصدار، ويندوز، ماك أو إس)

1

دفتر ملاحظات هندسي

1

مثال على مشروع التحكم في الخزان

2 أو أكثر

كائنات الفصل الدراسي لاستخدامها كعقبات

أيقونة نصائح المعلم نصائح المعلم - استخدام الإكمال التلقائي

الإكمال التلقائي هي ميزة في VEXcode V5 تتنبأ ببقية الأمر الذي تكتبه. نظرًا لأن الطلاب يعملون في VEXcode V5، شجعهم على استخدام ميزة الإكمال التلقائي للمساعدة في بناء جملة بايثون. قد تلاحظ وظيفة الإكمال التلقائي عندما تبدأ في كتابة التعليمات. استخدم مفتاحي "أعلى" و "أسفل" لتحديد الاسم الذي تريده، ثم اضغط على "Tab" أو (Enter/Return) على لوحة المفاتيح لإجراء التحديد. لمزيد من المعلومات حول هذه الميزة، راجع مقالة Python

VEXcode V5 مع بداية أمر Drivetrain مكتوب إلى اليسار، وإلى اليمين، يتم عرض قائمة قابلة للتمرير من خيارات الإكمال التلقائي لهذا الأمر.

سيمنحك هذا النشاط الأدوات اللازمة لبرمجة وحدة التحكم الخاصة بك. 

  • تعليمات VEXcode V5 Python التي سيتم استخدامها في هذا الاستكشاف:
    • left_motor.set_velocity()
    • right_motor.set_velocity()
    • left_motor.spin()
    • right_motor.spin()
    • controller_1.axis2.position()
    • controller_1.axis3.position()
    • بينما صحيح: 
    • انتظر(5 ثوانٍ)

لمزيد من المعلومات حول أي من التعليمات، قم بزيارة  أقسام مساعدة Python في VEXcode V5. 

يظهر VEXcode V5 مع فتح Toolbox في أقصى اليسار، وفتح Help fأو Drive في أقصى اليمين. توضح التعليمات تعريف الأمر ومعلومات حول كيفية استخدامه.

الخطوة 1: لنبدأ في برمجة وحدة التحكم.

  • حدد ملفًا وافتح أمثلة.
  • شريط أدوات VEXcode V5 مع قائمة ملف مفتوحة وأمثلة مفتوحة مظللة في مربع أحمر. Open Examples هو عنصر القائمة الرابع أسفل New Blocks Project و New Text Project و Open.
  • قم بالتمرير عبر أمثلة المشاريع المختلفة. حدد مشروع مثال التحكم في الخزان.

مثال على المشاريع في VEXcode V5 مع مربع أحمر حول مرشح الاستشعار في الأعلى وأيقونة مشروع مثال التحكم في الخزان إلى أسفل اليمين.

  • افتح مشروع مثال التحكم في الخزان. يقوم المشروع التوضيحي بتكوين مجموعة القيادة ووحدة التحكم. سيبدو الرمز مثل المقتطف التالي:

	# Library imports
	from vex import *

	# Begin project code
	# Main Controller loop to set motors to controller axis postiions
	while True:
    left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
    right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
    left_motor.spin(FORWARD)
    right_motor.spin(FORWARD)
    wait(5, MSEC)

قم بما يلي في دفترك الهندسي:

  1. تنبأ بما سيقوم به Clawbot في المشروع. اشرح أكثر من حقيقة أن المشروع يستخدم المراقب.
  2. كيف تحرك عصا التحكم الروبوت ؟ ماذا يفعل المخلب ؟

رمز صندوق أدوات المعلم صندوق أدوات المعلم - الإجابات

  1. سيستخدم هذا المشروع بنية حلقة WHILE True اللانهائية للتحقق باستمرار من مواقع عصا التحكم اليسرى واليمنى. عندما يتم دفع عصا التحكم اليسرى (أو اليمنى) لأعلى، يتم ضبط السرعة لمدى دفع عصا التحكم للأمام. 
  2. وبالتالي، كلما تم دفع عصا التحكم للأمام، كلما تم ضبط السرعة بشكل أسرع وتحركت المحركات بشكل أسرع. تعمل نفس الفكرة على دفع عصا التحكم للخلف. كلما تم دفع عصا التحكم إلى الخلف، كلما تحركت المحركات بشكل أسرع في الاتجاه المعاكس.

يقرأ مربع حوار اسم المشروع في VEXcode V5 التحكم في الخزان، ويظهر أنه تم تحديد الفتحة 1.

  • لمزيد من معلومات المساعدة، شاهد الفيديو التعليمي في VEXcode V5 الذي يشرح كيفية تنزيل المشروع وتشغيله.

شريط الأدوات في VEXcode V5 مع مربع أحمر حول رمز البرامج التعليمية. يعرض شريط الأدوات، من اليسار إلى اليمين، شعار V5، وأيقونة الكرة الأرضية، والملف، ثم البرامج التعليمية.

  • تحقق من شروحاتك للمشروع في دفترك الهندسي وأضف ملاحظات لتصحيحها حسب الحاجة.

الخطوة 2: وحدة التحكم: التحكم في  الخزان

رمز صندوق أدوات المعلم صندوق أدوات المعلم - هياكل الحلقة اللانهائية الحقيقية

تناقش هذه الخطوة أهمية بنية الحلقة اللانهائية بينما تكون صحيحة. يجب عليك مراجعة المعلومات كصف. يمكنك نمذجة السلوك باستخدام Clawbot و Controller، أو إذا سمح الوقت، اطلب من الطلاب تشغيل البرنامج بدون بنية حلقة بينما True اللانهائية.

إذا كان الطلاب بحاجة إلى مزيد من المساعدة في فهم الحلقة اللانهائية بينما True، فانقر هنا.

​ما هي فوائد استخدام بنية حلقة WHILE TRUE INFINITE ؟

فيما يلي مشروعنا بدون بنية الحلقة اللانهائية في حين أن:


	# Library imports
	from vex import *

	# Begin project code
	# Main Controller loop to set motors to controller axis postiions

	left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
	right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
	left_motor.spin(FORWARD)
	right_motor.spin(FORWARD)


ماذا تعتقد أنه سيحدث إذا تم تشغيل هذا البرنامج ؟ ناقشوا كمجموعة. اكتب تنبؤك في دفتر الملاحظات الهندسي.

رمز صندوق أدوات المعلم مجموعة أدوات المعلم - فهم الهيكل

بدون الحلقة اللانهائية WHILE True، يتم تعيين قيمة السرعة لكل محرك بمجرد تشغيل المشروع، وتظل هذه القيمة ثابتة حتى يتم إيقاف المشروع. بمعنى آخر، إذا قمت بتشغيل المشروع دون تحريك أي من عصا التحكم، لأن الموضع الافتراضي لعصا التحكم على محوره هو 0، فستظل سرعة كلا المحركين عند 0، حتى إذا قمت بتحريك عصا التحكم.

وبالمثل، لنفترض أنك تحرك عصا التحكم اليسرى لأعلى بقدر ما ستذهب على طول المحور 3 وتحملها هناك. إذا قمت بتشغيل المشروع أعلاه، فسيتحرك المحرك الأيسر بأقصى سرعة وسيظل بهذه السرعة حتى إذا قمت بتحريك عصا التحكم لأسفل على طول المحور 3. وذلك لأن Clawbot يتلقى تعليماته الأولية من وحدة التحكم بمجرد تشغيل المشروع ؛ ومع ذلك، بدون حلقة، لا يمكن تحديث القيمة الأولية.

تخبر الحلقة اللانهائية while True Clawbot بتحديث السرعة باستمرار وتشغيلها طوال مدة المشروع. بمعنى آخر، تمكّنك الحلقة اللانهائية بينما True، في هذا المشروع، من تغيير سرعة كل محرك عن طريق تحريك عصا التحكم على طول المحور 2 أو 3، وسوف يستجيب Clawbot وفقًا لذلك حتى تقوم بإيقاف المشروع أو إيقاف تشغيل Clawbot.


	# Library imports
	from vex import *

	# Begin project code
	# Main Controller loop to set motors to controller axis postiions
	while True:
		left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
		right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
		left_motor.spin(FORWARD)
		right_motor.spin(FORWARD)
		wait(5, MSEC)

انتقل إلى دورة التزلج المتعرج!

رمز صندوق أدوات المعلم صندوق أدوات المعلم - إعداد النشاط

تنظيم الطلاب في مجموعات صغيرة من 2 أو 4 طلاب. يجب تعيين طالب واحد كسائق - الشخص الذي سيستخدم وحدة التحكم للمناورة في Clawbot.

اطلب من الطلاب إكمال هذا التعرج باستخدام وحدة التحكم لتحريك Clawbot على طول الجزء الخارجي من كل "علامة". يجب أن يمنع مسار Clawbot من لمس أي علم ويسمح له بعبور خط النهاية. يمكن أن تكون الأعلام أي مادة/كائن في الفصل الدراسي لديك (ممحاة، لفة من الشريط، علبة مناديل) ويمكن وضعها في مكانها قبل تشغيل Clawbot.

إذا سمح الوقت، اطلب من الطلاب تبديل الأدوار لمنح الآخرين الفرصة لقيادة Clawbot. يمكنك حتى تحويل هذا إلى منافسة داخل المجموعات أو بين المجموعات من خلال معرفة مدى سرعة كل سائق في التنقل في التعرج.

يتسابق متزلج على الجليد على منحدر مغطى بالثلوج، ويتنقل عبر سلسلة من البوابات الحمراء والزرقاء الموضوعة بنمط متعرج

التعرج هي الدورات التي يجب على المشارك التنقل فيها حول الأعلام أو العلامات المحددة. سباقات التزلج المتعرجة هي رياضة شتوية شهيرة ويتم تضمينها في الألعاب الأولمبية الشتوية.
الآن بعد أن تم إقران وحدة التحكم وتحميل مشروع بايثون، أنت على استعداد لنقل Clawbot الخاص بك باستخدام وحدة التحكم!

  • اجمع عناصر الفصل الأربعة التي ستستخدمها كأعلام في تعرجك من المعلم.
  • تعاون لتعيين الأعلام في مكانها للسائق للتنقل في Clawbot، وفقًا لمخطط التعرج.
  • قم بتنزيل مشروع مثال التحكم في الخزان. إذا كانت هناك أي أسئلة حول كيفية تنزيل مشروع، فراجع البرنامج التعليمي Download and Run a Project.

رسم توضيحي لمسار متعرج على الثلج، مع علامة "ابدأ" في الأعلى، وخط النهاية في الأسفل. بين ذلك، ينسج مسار متعرج منقط بين الأعلام الزرقاء والحمراء المتناوبة.

استخدم وحدة التحكم لتحريك Clawbot الخاص بك على طول الجزء الخارجي من كل "علامة". يجب أن يمنع مسار الروبوت من لمس أي علم، ويسمح له بعبور خط النهاية.

  • قم بتشغيل المشروع ودفع Clawbot للأمام والخلف، واستدر يسارًا ويمينًا باستخدام كل من عصا التحكم.
  • الوقت الذي يستغرقه Clawbot لإكمال الدورة. قم بتوثيق الأوقات في دفتر الملاحظات الهندسي.
  • ما مدى السرعة التي يمكنك بها الحصول على Clawbot من خلال دورة Slalom ؟
     

أيقونة تحفيز المناقشة تحفيز المناقشة - التفكير في النشاط

س: هل استجاب المخلب للمراقب كما توقعت ؟

ج: ستختلف الإجابات ؛ ومع ذلك، فإن الهدف من هذا السؤال هو تعزيز التفكير المعرفي. بدأ الطلاب بالتنبؤ بالسلوكيات قبل اختبارها وتوثيق نتائجها والتفكير فيها.

س: ما هو التحدي الأكبر في تحريك Clawbot للأمام أو للخلف في خط مستقيم ؟

ج: في حين أن الإجابات قد تختلف، يجب أن تكون الاستجابة الشائعة هي أن كلا عصا التحكم يجب أن تتحرك بالتزامن مع بعضها البعض للتأكد من أن محركات Clawbot تتحرك في نفس الاتجاه وبنفس السرعة

س: كيف يمكّنك استخدام حلقة WHILE True اللانهائية من استخدام وحدة التحكم باستمرار لتحريك Clawbot ؟

ج: بدون الحلقة اللانهائية بينما True، لن يؤدي Clawbot السلوكيات إلا على النحو الذي تحدده التعليمات في المشروع مرة واحدة. تخبر الحلقة اللانهائية while True Clawbot بتحديث السرعة باستمرار وتشغيلها طوال مدة المشروع. بمعنى آخر، تمكّنك حلقة WHILE True اللانهائية من استخدام وحدة التحكم لتحريك Clawbot إلى أجل غير مسمى، أو حتى تموت البطارية.