Skip to main content

رمز صندوق أدوات المعلم مجموعة أدوات المعلم - الغرض من هذا النشاط

سيعرف هذا النشاط الطلاب على استخدام عبارات while و if لجعل الروبوت يتحرك للأمام ما لم يتم الضغط على الشاشة.

  • سيعرف هذا النشاط الطلاب على الشروط والتعليمات التي تجعل الروبوت يتقدم للأمام ما لم يتم الضغط على الشاشة.
  • لمزيد من المعلومات حول عبارات if و if - else أو غيرها من العبارات المستخدمة في هذا النشاط، يرجى زيارة معلومات المساعدة داخل VEXcode V5. لمزيد من المعلومات حول أداة المساعدة المضمنة هذه، راجع المقالة حول المساعدة في بايثون.

رمز صندوق أدوات المعلم صندوق أدوات المعلم

للحصول على اقتراحات حول استراتيجيات التدريس لهذا القسم، راجع عمود التسليم في دليل ما يجب فعله أو عدم فعله! (Google Doc / .docx / .pdf)

إن Clawbot جاهز لاتخاذ القرارات!

سيعطيك هذا الاستكشاف الأدوات اللازمة لتتمكن من البدء في إنشاء بعض المشاريع الرائعة التي تستخدم عبارة if - else .

  • أوامر VEXcode V5 Python التي سيتم استخدامها في هذا الاستكشاف: 
    • drivetrain.drive_for(للأمام)
    • brain.screen.pressing()
    • drivetrain.stop()
    • إذا كانت الحالة:
    • آخر:
    • بينما صحيح:  
    • انتظر(5 ثوانٍ)

يمكنك استخدام معلومات التعليمات داخل VEXcode V5 للتعرف على أوامر Python.

VEXcode V5 مع محرك أقراص للأمر مكتوب في مساحة العمل على اليسار، وتفتح معلومات التعليمات على اليمين. تعرض التعليمات تعريفًا للأمر ومعلومات حول كيفية استخدامه.

تأكد من أن الأجهزة المطلوبة، والكمبيوتر المحمول الهندسي، و VEXcode V5 جاهزة.

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

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

1

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

1

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

1

قالب Clawbot (مجموعة نقل الحركة بمحركين، بدون جيروسكوب)

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

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

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

الخطوة 1: لنبدأ بفهم العبارات الشرطية 

قبل أن تبدأ البرمجة بشروط، اقرأ المقالة التي تشرح عبارات if - else. يمكن العثور على المقالة هنا (Google Doc / .docx / .pdf).
Screenshot of the linked article titled Using If else statements in VEXcode V5 Python.
للحصول على قائمة بالمشغلين لاستخدامها في عبارات if - else، اقرأ المقالة التي تشرح Booleans. يمكن العثور على هذه المقالة هنا (Google Doc/.docx/.pdf).

لقطة شاشة للمقالة المرتبطة بعنوان استخدام Booleans في VEXcode V5 Python.

الخطوة 2: لنبدأ البرمجة بعبارات مشروطة.

  • افتح نموذج مشروع Clawbot (نظام نقل الحركة بمحركين، بدون جيروسكوب).

    أمثلة على المشاريع في VEXcode V5 مع فلتر القوالب ومحرك Clawbot Drivetrain 2 بدون أيقونة جيروسكوبية مظللة بمربع أحمر يشير إلى المشروع الذي سيتم فتحه.

     

  • قم ببناء المشروع أدناه.
# Begin project code
	while True:
		drivetrain.drive(FORWARD)
		if brain.screen.pressing():
			drivetrain.stop()
			while brain.screen.pressing():
				wait(5, MSEC)
		wait(5, MSEC)

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

  • اشرح ما يقوم به Clawbot في المشروع. ستحتاج إلى شرح أكثر من حقيقة أنه ينشئ زر إيقاف. اشرح التعليمات التي تجعل المخلب يفعل ماذا.
  • اكتب ملخصًا لجملة واحدة يلخص ما يفعله المشروع.
  • اختبر لمعرفة ما إذا كان تنبؤك بما يفعله Clawbot في المشروع صحيحًا.
  • قم بتسمية المشروع CreatingAStopButton. قم بتنزيل المشروع وتشغيله على Clawbot.
    يقرأ مربع حوار اسم المشروع في شريط أدوات VEXcode V5 إنشاء زر إيقاف، ويظهر أنه تم تحديد الفتحة 1.
  • تحقق من تفسيراتك للمشروع، وأضف ملاحظات لتصحيحها حسب الحاجة.

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

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

لا يُتوقع من الطلاب أن يفهموا سبب استخدام أوامر while brain.screen.pressing (): and wait(5, MSEC). اشرح أن هذه الأوامر ضرورية بسبب سرعة تدفق برنامج الروبوت. إذا لم يكن هناك، فإن محركات Clawbot ستتصرف كما لو أن المستخدم يضغط على الشاشة مرارًا وتكرارًا أثناء دورانها خلال المشروع. بدلاً من ذلك، توقف هذه التعليمات تدفق البرنامج ولا تجعل المشروع يبدأ الحلقة مرة أخرى حتى يتوقف المستخدم عن الضغط على الشاشة.

يمكن أن يكون خط الرمز المستعار بسيطًا مثل: تقدم للأمام حتى يتم الضغط على الشاشة.

يمكن الاحتفاظ بدفاتر ملاحظات الطلاب الهندسية وتسجيلها بشكل فردي (Google Doc / .docx / .pdf) أو كفريق واحد (Google Doc / .docx / .pdf). توفر الروابط السابقة نموذج تقييم مختلف لكل نهج. عندما يتم تضمين نموذج تقييم في التخطيط التعليمي، من الجيد شرح نموذج التقييم أو على الأقل إعطاء نسخ للطلاب قبل بدء النشاط.

الخطوة 3: فهم عبارات while and wait().

لاحظ أنه في حالة الضغط على شاشة الدماغ، يتحرك تدفق المشروع بسرعة وسينتقل المشروع إلى التعليمات التالية، وهي  أمرdrivetrain.stop ().

وبالتالي، يحتاج المشروع إلى أوامر الانتظار والانتظار التي تخبر الروبوت بالبقاء متوقفًا حتى يتم تحرير شاشة الدماغ. خلاف ذلك، فإن عبارة " إلى الأبد" ستؤدي إلى بدء المشروع مرة أخرى.

while brain.screen.pressing():
    wait(5, MSEC)

 أوامر الوقت والانتظار ضرورية بسبب سرعة تدفق المشروع. إذا لم يكونوا هناك، سينتقل المشروع إلى التعليمات التالية قبل أن يتاح للروبوت الوقت للرد.

الخطوة 4: تغيير المشروع.

خطوتنا التالية هي تغيير عبارة if إلى عبارة if - else.

  • ابدأ بحفظ CreatingAStopButton كمشروع جديد، StopOrDrive.يقرأ مربع الحوار اسم المشروع في شريط أدوات VEXcode V5 Stop أو Drive ويظهر أنه تم تحديد الفتحة 1.
  • إذا كنت بحاجة إلى مساعدة في حفظ مشروع، فاطّلع على هذه المقالات.
  • ثم قم ببناء  مشروع StopOrDrive الموضح أدناه.
# Begin project code
	while True:
		if brain.screen.pressing():
			drivetrain.stop()
			while brain.screen.pressing():
				wait(5, MSEC)
		else:
			drivetrain.drive(FORWARD)
		wait(5, MSEC)
  • قم بتنزيل StopOrDrive إلى الفتحة 2 على Clawbot.

نافذة تحديد الفتحة مفتوحة في شريط أدوات VEXcode V5، ويتم تحديد الفتحة 2 وتمييزها بمربع أحمر.

  • للمساعدة في تنزيل مشروع وتشغيله، راجع هذه المقالة.
  • اختبر CreateingAStopButton (Slot 1) ثم اختبر StopOrDrive (Slot 2) وقارنها لمعرفة ما إذا كان هناك أي اختلاف في سلوك الروبوت. لاحظ أي اختلافات في دفتر الملاحظات الهندسي الخاص بك

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

فيما يتعلق بسلوك الروبوت، يجب ألا يكون هناك فرق بين مشروعي CreatingAStopButton  و StopOrDrive.

إذا كان الطلاب بحاجة إلى مزيد من المساعدة في فهم عبارات if - else، فراجع هذه المقالة (Google Doc / .docx / .pdf).

يجعل المشروعان Clawbot يتصرف بنفس الطريقة. والفرق الوحيد هو استخدام عبارة if - else في مشروع StopOrDrive. سيسمح لك
استخدام عبارة if - else بإضافة أزرار إضافية إلى الشاشة في الأنشطة القادمة.

أيقونة توسيع التعلم الخاص بك قم بتوسيع نطاق تعلمك

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

وجه الطلاب أولاً لمعرفة كيفية تنظيم شاشة الدماغ في نظام إحداثي. سيحتاجون إلى فهم هذا من أجل تعيين المعلمات ضمن الأوامر التي سيستخدمونها. تتوافق الإحداثيات المستخدمة مع عدد البكسلات وليس عدد العمود أو الصف. فيما يلي تخطيط الشاشة:تعرض شبكة البكسل لشاشة الدماغ V5 12 صفًا مرقمًا على طول الجانب الأيسر، مع الصف العلوي المسمى الصف 1 والصف السفلي المسمى الصف 12. في الجزء العلوي يوجد 48 عمودًا مرقمًا، مع العمود 1 المسمى في أقصى اليسار والعمود 48 المسمى في أقصى اليمين. يبلغ إجمالي قياسات البكسل 480 بكسل في الطول 240 بكسل.

يجب على الطلاب تخطيط واختبار وتنقيح هذه التغييرات في المشروع أثناء توثيقها في دفاتر ملاحظاتهم الهندسية. للحصول على نموذج تقييم دفتر الملاحظات الهندسي الفردي، انقر فوق أحد الروابط التالية (Google Doc / .docx / .pdf)، أو انقر فوق أحد الروابط التالية لدفاتر ملاحظات الفريق (Google Doc / .docx / .pdf).

فيما يلي مثال على الحل: 

# Begin project code
	draw = Event()
	
	def draw_button():
		brain.screen.set_fill_color(Color.RED)
		brain.screen.draw_rectangle(0, 0, 480, 240)
		wait(1, SECONDS)
	
	draw(draw_button)
	while True:
		draw.broadcast()
		drivetrain.drive(FORWARD)
	
		if brain.screen.pressing():
			drivetrain.stop()
			while brain.screen.pressing():
				wait(5, MSEC)
		else:
			drivetrain.drive(FORWARD)
			
		wait(5, MSEC)

كما ترون، يتم رسم الزر لالتقاط الشاشة بأكملها بدءًا من نقطة الأصل (0، 0) وملء جميع 480 بكسل أفقي (محور س) و 240 بكسل عمودي (محور ص).