Skip to main content

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

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

  • سيعرف هذا النشاط الطلاب على الشروط والتعليمات التي تجعل الروبوت يتقدم للأمام ما لم يتم الضغط على الشاشة.

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

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

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

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

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

  • أوامر VEXcode V5 C++ التي سيتم استخدامها في هذا الاستكشاف: 
    • Drivetrain.drive(للأمام )؛
    • Brain.Screen.pressing()
    • Drivetrain.stop ()؛
    • إذا (الشرط){}
    • waitUntil ()؛
    • بينما (الشرط){}  
    • انتظر(ثانية واحدة )؛

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

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

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

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

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

1

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

1

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

1

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

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

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

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

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

قبل أن تبدأ البرمجة بشروط، اقرأ مقالة المكتبة VIX التي تشرح عبارات If Then else. يمكن العثور على المقالة هنا.

لقطة شاشة من مكتبة VEX، تعرض مقالة بعنوان استخدام عبارات if - else في VEXcode V5.للحصول على قائمة بالمشغلين لاستخدامها في عبارات If Then Else، اقرأ مقالة مكتبة VEX التي تشرح Booleans. يمكن العثور على هذه المقالة هنا.لقطة شاشة من مكتبة VEX، تعرض مقالة بعنوان استخدام Booleans في VEXcode V5.

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

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

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

     

  • قم ببناء المشروع أدناه.
// Begin project code
	int main() {
	  // Initializing Robot Configuration. DO NOT REMOVE!
	  vexcodeInit();
	
	  while (true) {
		Drivetrain.drive(forward);
		if (Brain.Screen.pressing()) {
		  Drivetrain.stop();
		  waitUntil(!Brain.Screen.pressing());
		}    
	  }  
	}

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

  • اشرح ما يقوم به Clawbot في المشروع. ستحتاج إلى شرح أكثر من حقيقة أنه ينشئ زر إيقاف. اشرح التعليمات التي تجعل المخلب يفعل ماذا.
  • اكتب ملخصًا لجملة واحدة يلخص ما يفعله المشروع.
  • اختبر لمعرفة ما إذا كان تنبؤك بما يفعله Clawbot في المشروع صحيحًا.

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

  • احفظ المشروع وقم بتنزيله باسم CreatingAStopButton إلى الفتحة 1 على Clawbot، ثم قم بتشغيله.
  • للمساعدة في تنزيل مشروع، راجع البرنامج التعليمي في VEXcode V5 الذي يشرح كيفية تنزيل وتشغيل مشروع (C++).
  • تحقق من تفسيراتك للمشروع وأضف ملاحظات لتصحيحها حسب الحاجة.

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

يحتوي هذا المشروع على روبوت يتحرك باستمرار إلى الأمام ولكنه يتوقف إذا تم الضغط على الشاشة. يقوم بذلك باستخدام عبارة FOREVER للقيادة والتحقق باستمرار. إذا تم الضغط على الشاشة (TRUE)، فسيتوقف Clawbot عن القيادة.يظهر مشروع إنشاء زر إيقاف مع الأوامر المسماة بالغرض منها. يتم وضع دائرة حول الأمر if باللون الأحمر ويحمل علامة Check if condition is True - يتم الضغط على الشاشة. يُسمى أمر إيقاف نقطة مجموعة نقل الحركة Runs the block if true (تشغيل الكتلة إذا كان صحيحًا). يتحكم الانتظار حتى يتم تسمية الأمر في سرعة المعالجة.

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

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

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

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

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

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

waitUntil(!Brain.Screen.pressing());

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

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

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

يقرأ مربع حوار اسم المشروع في شريط أدوات VEXcode V5 Stop أو Drive ويظهر أنه تم تحديد الفتحة 1.

  • ابدأ بحفظ CreatingAStopButton كمشروع جديد، StopOrDrive.
  • إذا كنت بحاجة إلى مساعدة في حفظ مشروع، فانقر هنا للحصول على C++.
  • ثم قم ببناء  مشروع StopOrDrive الموضح أدناه.
// Begin project code
	int main() {
	  // Initializing Robot Configuration. DO NOT REMOVE!
	  vexcodeInit();
	
	  while (true) {
		Drivetrain.drive(forward);
		if (Brain.Screen.pressing()) {
		  Drivetrain.stop();
		  waitUntil(!Brain.Screen.pressing());
		} 
		else {
		  Drivetrain.drive(forward);
		}   
	  }  
	}  
  • قم بتنزيل StopOrDrive إلى الفتحة 2 على Clawbot.

اختيار الفتحة في شريط أدوات VEXcode V5 مفتوح ويتم تحديد الفتحة 2 وتمييزها بمربع أحمر. يقرأ اسم المشروع "إيقاف أو قيادة".

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

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

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

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

يجعل المشروعان Clawbot يتصرف بنفس الطريقة. والفرق الوحيد هو استخدام عبارة if then else في مشروع StopOrDrive.

سيسمح لك استخدام عبارة if then بإضافة أزرار إضافية إلى الشاشة في الأنشطة القادمة.

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

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

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

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

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

// ابدأ سحب رمز
المشروع = event ();

void drawButton (){ Brain.Screen.setFillColor
  (red); Brain.Screen.drawRectangle
  (0, 0, 480, 240);
  wait(1, seconds
);}

int main
  (){// Initializing Robot Configuration. لا تقم بالإزالة!
  vexcodeInit ();

  draw(drawButton);

  while (true
    ){draw.broadcast ();
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing ()){ waitUntil
      ()!Brain.Screen.pressing ());
    } 
    else {
      Drivetrain.drive(forward);
   
  
}}}  

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