مجموعة أدوات المعلم
- الغرض من هذا النشاط
سيعرف هذا النشاط الطلاب على استخدام عبارات 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 جاهزة.
| الكمية | المواد اللازمة |
|---|---|
| 1 |
مجموعة VEX V5 Classroom Starter (مع برنامج ثابت محدث) |
| 1 |
VEXcode V5 (أحدث إصدار، ويندوز، ماك أو إس) |
| 1 |
دفتر ملاحظات هندسي |
| 1 |
قالب Clawbot (مجموعة نقل الحركة بمحركين، بدون جيروسكوب) |
نصائح للمعلم
إذا كانت هذه هي المرة الأولى التي يستخدم فيها الطالب VEXcode V5، فيمكنه الرجوع إلى البرامج التعليمية في أي وقت أثناء هذا الاستكشاف. توجد البرامج التعليمية في شريط الأدوات.

الخطوة 1: لنبدأ بفهم العبارات الشرطية
قبل أن تبدأ البرمجة بشروط، اقرأ مقالة المكتبة VIX التي تشرح عبارات If Then else. يمكن العثور على المقالة هنا.
للحصول على قائمة بالمشغلين لاستخدامها في عبارات If Then Else، اقرأ مقالة مكتبة VEX التي تشرح Booleans. يمكن العثور على هذه المقالة هنا.
الخطوة 2: لنبدأ البرمجة بعبارات مشروطة.
-
افتح نموذج مشروع Clawbot (نظام نقل الحركة بمحركين، بدون جيروسكوب).

- قم ببناء المشروع أدناه.
// 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 في المشروع صحيحًا.
- احفظ المشروع وقم بتنزيله باسم CreatingAStopButton إلى الفتحة 1 على Clawbot، ثم قم بتشغيله.
- للمساعدة في تنزيل مشروع، راجع البرنامج التعليمي في VEXcode V5 الذي يشرح كيفية تنزيل وتشغيل مشروع (C++).
- تحقق من تفسيراتك للمشروع وأضف ملاحظات لتصحيحها حسب الحاجة.
صندوق أدوات المعلم
-
الإجابات
يحتوي هذا المشروع على روبوت يتحرك باستمرار إلى الأمام ولكنه يتوقف إذا تم الضغط على الشاشة. يقوم بذلك باستخدام عبارة FOREVER للقيادة والتحقق باستمرار. إذا تم الضغط على الشاشة (TRUE)، فسيتوقف Clawbot عن القيادة.
لا يُتوقع من الطلاب فهم سبب استخدام تعليمات 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.
- ابدأ بحفظ 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 الذي يشرح كيفية تنزيل وتشغيل مشروع (C++).
- اختبر CreateingAStopButton (Slot 1) ثم اختبر StopOrDrive (Slot 2) وقارنها لمعرفة ما إذا كان هناك أي اختلاف في سلوك الروبوت. لاحظ أي اختلافات في دفتر الملاحظات الهندسي الخاص بك
صندوق أدوات المعلم
-
الإجابة
فيما يتعلق بسلوك الروبوت، يجب ألا يكون هناك فرق بين مشروعي CreatingAStopButton و StopOrDrive.
إذا كان الطلاب بحاجة إلى مزيد من المساعدة في فهم عبارات If - Else، فانقر هنا.
يجعل المشروعان Clawbot يتصرف بنفس الطريقة. والفرق الوحيد هو استخدام عبارة if then else في مشروع StopOrDrive.
سيسمح لك استخدام عبارة if then بإضافة أزرار إضافية إلى الشاشة في الأنشطة القادمة.
قم بتوسيع نطاق تعلمك
مع تقدم مختبر العلوم والتكنولوجيا والهندسة والرياضيات هذا، سيقوم الطلاب بتطوير مشاريع تسمح لشاشة Clawbot بالعمل كواجهة مستخدم. استعدادا لذلك، تحدي الطلاب لمعرفة كيفية رسم مستطيل ملون على الشاشة التي تعمل مثل زر. نظرًا لأن الضغط في أي مكان على الشاشة هو الشرط الحالي، يجب أن يشغل الزر الشاشة بأكملها. يجب على الطلاب جعل المشروع يبث حدثًا لرسم الزر عند البدء.
وجه الطلاب أولاً لمعرفة كيفية تنظيم شاشة الدماغ في نظام إحداثي. سيحتاجون إلى فهم هذا من أجل تعيين المعلمات ضمن التعليمات التي سيستخدمونها. تتوافق الإحداثيات المستخدمة مع عدد البكسلات وليس عدد العمود أو الصف. فيما يلي تخطيط الشاشة:

يجب على الطلاب تخطيط واختبار وتنقيح هذه التغييرات في المشروع أثناء توثيقها في دفاتر ملاحظاتهم الهندسية. للحصول على نموذج تقييم دفتر الملاحظات الهندسي الفردي، انقر فوق أحد الروابط التالية (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 بكسل عمودي (محور ص).