الدرس 2: استخدام كتل المقارنة والقيادة حتى الاقتراب
في هذا الدرس، ستقوم بإنشاء مشروع ينقل روبوت الواقع الافتراضي إلى الحرف "A" باستخدام مستشعر المسافة مع كتلة المراسل <Less than> المنطقية. في التحدي المصغر، ستطبق هذه المهارات للتنقل من بداية متاهة الجدار إلى الرقم "1".

مخرجات التعلم
- حدد أن <Greater than> الكتلة هي كتلة منطقية تبلغ عما إذا كانت القيمة الأولى أكبر من القيمة الثانية.
- حدد أن <Less than> الكتلة هي كتلة منطقية تبلغ عما إذا كانت القيمة الأولى أقل من القيمة الثانية.
- حدد أن <Less than> المكوّنات <Greater than> أو تبلغ عن قيمة صحيحة أو خاطئة في المكوّن [انتظر حتى].
- صف كيفية إنشاء مشروع يحتوي على محرك روبوت الواقع الافتراضي للأمام حتى تكون قيمة مستشعر المسافة أقل من قيمة حدية تبلغ 50 ملم (مم).
اسم المشروع وحفظه
- ابدأ مشروعًا جديدًا في VEXcode VR واسم المشروع Unit5Lesson2. تذكر أنه يمكنك استخدام كتل VEXcode أو كتل Switch أو مزيج من كلا النوعين من الكتل لمشروعك.

استخدم مستشعر المسافة لتجنب الجدران
- اسحب كتلة [Drive] إلى مساحة العمل.

- قم بإرفاق كتلة [انتظر حتى] أسفل كتلة [Drive].

سيستخدم هذا المشروع مستشعر المسافة للتنقل عبر ملعب المتاهة الجدارية دون الاصطدام بالجدران. ستستخدم كتلة (المسافة من) داخل الكتلة <Less than> المنطقية في هذا المشروع.
و <Less than>و <Greater than>و <Equal to> هي كتل مقارنة - فهي تقارن القيم. وهي أيضًا كتل مراسل منطقية تبلغ عن قيمة حقيقية عند استيفاء شرط المقارنة، وكاذبة عند عدم استيفاء الشرط.
- <Less than> تقارير TRUE عندما تكون القيمة الأولى أصغر من القيمة الثانية و FALSE عندما تكون
القيمة الأولى أكبر من أو تساوي القيمة الثانية.
- <Greater than> تقارير TRUE عندما تكون القيمة الأولى أكبر من القيمة الثانية، و FALSE عندما تكون
القيمة الأولى أصغر من أو تساوي القيمة الثانية.
- <Equal to> تقارير صحيحة عندما تكون القيمتان متطابقتين تمامًا، وخطأ عندما لا تكونان
متطابقتين.

يمكن أن تقبل كتل المقارنة الكسور العشرية أو الأعداد الصحيحة أو الكتل العددية. كما يقبلون كتل المراسلين الدائرية، مثل كتلة (المسافة من). يمكن أن تكون كتلة (المسافة من) مع كتلة مقارنة عند استخدام مستشعر المسافة في مشروع.
في هذا المثال، ستصدر الكتلة تقريرًا صحيحًا عندما تكون المسافة من كائن ومستشعر المسافة على روبوت الواقع الافتراضي أقل من 50 ملليمتر (مم).

- اسحب الكتلة <Less than> المنطقية إلى كتلة [انتظر حتى].
- ضع الكتلة المستديرة (المسافة من) داخل كتلة المراسل المنطقية

- ستبقي كتلة [انتظر حتى] روبوت الواقع الافتراضي يتحرك للأمام حتى يتم استيفاء الشرط، والمسافة المبلغ عنها
أقل من 50 ملم (مم). بعد ذلك، سينتقل المشروع إلى الكتلة التالية في المكدس، والتي ستكون كتلة [Stop
driving].

- هناك حاجة إلى كتلة [توقف عن القيادة] بعد كتلة [انتظر حتى] لأن روبوت الواقع الافتراضي سيستمر في القيادة
حتى يتم توجيهه للتوقف. أضف كتلة [Stop driving] إلى المشروع.

- قم بتشغيل ملعب المتاهة الجدارية إذا لم يكن مفتوحًا بالفعل وقم بتشغيل المشروع.
- راقب محرك روبوت الواقع الافتراضي من بداية متاهة الحائط وتوقف عندما يبلغ مستشعر المسافة أنه أقل من 50
ملم (مم) من الحائط.

- باستخدام <Less than> الكتلة مع كتلة (المسافة من) داخل كتلة [انتظر حتى]، يوجه روبوت الواقع الافتراضي للانتظار حتى يكون أقل من 50 ملم (مم) من الجدار قبل التوقف.
- أعد ضبط الملعب لتحريك روبوت الواقع الافتراضي مرة أخرى إلى وضع البداية.
استخدام كتل المفاتيح
في هذا الدرس، تعرفت على <Greater than>المكوّنات <Less than> <Equal to> المنطقية و و. توضح الصورة أدناه كتل مقارنة التبديل المنطقية. لكي تعمل كتلة التبديل المنطقية على النحو المنشود، يجب إدخال وظائف Switch Python مع الإملاء وعلامات الترقيم الصحيحة.
لاحظ أن <Equal to> كتلة التبديل تستخدم علامتين متساويتين (==). وذلك لأنه في
بايثون، تمثل علامة المساواة الواحدة (=) تعيينًا لقيمة (على سبيل المثال، x = 10)، بينما تتحقق علامتان
متساويتان (==) مما إذا كانت قيمتان متساويتين. تأكد من استخدام علامتين متساويتين عند استخدام <Equal
to> كتلة التبديل. 
لقد رأيت أيضًا مثالًا على مشروع سيقود فيه روبوت الواقع الافتراضي للأمام حتى تقل المسافة المبلغ عنها عن 50 ملليمترًا (مم) من جسم ما. بعد ذلك، سيتوقف روبوت الواقع الافتراضي. يعرض المشروع الموجود على اليمين أوامر Python المقابلة داخل كتلة Switch. يخبر الأمر، while not front_distance.get_distance(MM) < 50 الروبوت بالتحقق مما إذا كانت المسافة المبلغ عنها أقل من 50 مم من الكائن.
يقوم سطر التعليمة البرمجية التالي، الانتظار (5، ملي ثانية)، بإيقاف التعليمة البرمجية مؤقتًا لمدة 5 مللي ثانية. سينتظر الأمر الذي يتحقق مما إذا كانت المسافة المبلغ عنها أقل من 50 مم من كائن لمدة 5 مللي ثانية قبل التحقق من الحالة مرة أخرى.

قم بتحديد زر التالي للمتابعة مع بقية هذا الدرس.