Skip to main content

الدرس 3: القيادة إلى الرقم "31"

في هذا الدرس، سيقود روبوت الواقع الافتراضي إلى الرقم "31" ثم يعود إلى الرقم "1" في ملعب خريطة شبكة الأرقام!

منظر من أعلى إلى أسفل لملعب خريطة شبكة الأرقام، مع تمييز الرقم 31 بواسطة مربع أحمر. يبدأ روبوت الواقع الافتراضي من الرقم 1، والرقم 31 مربع هو ثلاث مسافات فوقه.

لاحظ أن روبوت الواقع الافتراضي سيسافر على طول المحور Y للانتقال إلى الرقم "31" في ملعب خريطة شبكة الأرقام.

منظر من أعلى إلى أسفل لملعب خريطة شبكة الأرقام، مع تمييز المساحة رقم 31 بواسطة صندوق أسود. يشير الخط إلى القياسات عبر المحور Y، مع كون المسافة الأولى -900 ملليمتر على المحور Y، والمسافة التالية -700 تستمر في العد بمقدار 200 في كل مرة. تقع المساحة رقم 31 في موقع Y يبلغ -300 ملليمتر.

سيقود روبوت الواقع الافتراضي إلى موقع الرقم "31" في ملعب خريطة شبكة الأرقام. ومع ذلك، قبل أن يتمكن روبوت الواقع الافتراضي من الانتقال إلى هذا الرقم، يجب إخبار روبوت الواقع الافتراضي بمكان هذا الرقم. إحداثيات الرقم "31" هي (-900، -300).

منظر من أعلى إلى أسفل لملعب خريطة شبكة الأرقام، مع مؤشرين محوريين يحددان موقع المساحة رقم 31. يبدأ روبوت الواقع الافتراضي عند -900 X و -900 Y، بينما تكون مساحة الرقم 31 عند -900 X و -300 Y.
  • اسحب كتلة [Drive] غير المنتظرة إلى مساحة العمل.

    مشروع كتل VEXcode VR جديد يبدأ بكتلة When Started متبوعة بكتلة Drive Forward.
  • قم بإرفاق كتلة [انتظر حتى] أسفل كتلة [Drive].

    استمرار لمشروع كتل VEXcode VR، الآن مع كتلة الانتظار حتى تتم إضافتها بعد كتلة Drive Forward. يقرأ المشروع بأكمله الآن عند البدء، قم بالقيادة للأمام وانتظر حتى. تحتوي كتلة الانتظار حتى على معلمة منطقية فارغة.
  • اسحب كتلة المراسل <Greater than> المنطقية إلى كتلة [انتظر حتى].

    استمرار لمشروع كتل VEXcode VR، الآن مع إدراج كتلة أكبر من في كتلة الانتظار حتى. يقرأ المشروع بأكمله الآن عند البدء، قم بالقيادة للأمام متبوعًا بكتلة انتظار حتى تحتوي على كتلة أكبر من التي تنص على أن "الفراغ أكبر من 50".
  • لاحظ أنه يتم استخدام <Greater than> الكتلة بدلاً من <Less than> الكتلة لأن روبوت الواقع الافتراضي يقود لأعلى من أسفل الملعب. يبدأ روبوت الواقع الافتراضي بقيمة Y تبلغ -900 ملليمتر (مم). مع تقدم روبوت الواقع الافتراضي، تزداد قيم Y.

    نفس المنظر من أعلى إلى أسفل لملعب خريطة شبكة الأرقام مع مؤشرين محوريين يحددان موقع مسافة الرقم 31 من السابق. يبدأ روبوت الواقع الافتراضي عند -900 X و -900 Y، بينما تكون مساحة الرقم 31 عند -900 X و -300 Y.
  • اسحب كتلة (موضع الروبوت) إلى <Greater than> الكتلة.

    استمرار لمشروع كتل VEXcode VR، الآن مع إدراج موضع كتلة الروبوت في الكتلة الأكبر من. يقرأ المشروع بأكمله الآن عند البدء، قم بالقيادة للأمام وانتظر حتى يكون موضع X للروبوت بالملليمترات أكبر من 50.
  • اضبط معلمة كتلة (موضع الروبوت) على "Y" ومعلمة <Greater than> الكتلة على -300.

    استمرار لمشروع كتل VEXcode VR، الآن مع تغيير محور موضع كتلة الروبوت من X إلى Y وتغيير المعلمة الثانية للكتلة الأكبر من 50 إلى -300. يقرأ المشروع بأكمله الآن عند البدء، قم بالقيادة للأمام وانتظر حتى يكون موضع Y للروبوت بالملليمترات أكبر من -300.
  • اسحب كتلة [Stop driving] وأضفها إلى المشروع.

    استمرار لمشروع كتل VEXcode VR، الآن مع كتلة Stop Driving المضافة أسفل كتلة Wait Until. يقرأ المشروع بأكمله الآن عند البدء، قم بالقيادة للأمام وانتظر حتى يكون موضع Y للروبوت بالملليمترات أكبر من -300. أخيرًا، توقف عن القيادة.
  • قم بتشغيل ملعب خريطة شبكة الأرقام إذا لم يكن مفتوحًا بالفعل وقم بتشغيل المشروع.
  • شاهد روبوت الواقع الافتراضي يقود إلى الرقم "31" في ملعب خريطة شبكة الأرقام.

    منظر من أعلى إلى أسفل لملعب خريطة شبكة الأرقام مع روبوت الواقع الافتراضي الذي يرتكز على المساحة رقم 31.
  • في هذا المشروع، ينتقل روبوت الواقع الافتراضي إلى الرقم "31" في ملعب خريطة شبكة الأرقام. نظرًا لأن قيم Y تتزايد مع انتقال روبوت الواقع الافتراضي إلى الرقم "31"، يستخدم المشروع <Greater than> كتلة.
  • سيتوقف روبوت الواقع الافتراضي بمجرد أن تكون القيمة Y أكبر من القيمة Y للإحداثيات التي يكون عليها الرقم المشار إليه. نظرًا لأن قيمة Y للرقم "31" هي -300، سيتوقف روبوت الواقع الافتراضي عن القيادة بمجرد أن تكون قيمة Y أكبر من -300.
رسم تخطيطي يوضح تدفق المنطق في مشروع VEXcode VR Blocks. يبدأ المشروع بكتلة When Started (عند البدء) ثم يبدأ في القيادة للأمام، ويستمر هذا الأمر حتى يكون موضع Y لمستشعر الروبوت بالمليمترات أكبر من -300، وبعد ذلك تنهي كتلة Stop Driving (إيقاف القيادة) أمر Drive Forward (القيادة للأمام).

استخدام كتل المفاتيح 

في هذا الدرس، تعلمت كيفية استخدام كتلة VEXcode [انتظر حتى] مع شرط منطقي لأمر الروبوت بالانتظار حتى يصل الروبوت إلى موضع أكبر من -300 على محور Y قبل الانتقال إلى السلوك التالي.

توضح الصورة أدناه كتلة VEXcode بجانب كتلة Switch التي تحتوي على أمر Python لنفس السلوكيات. 

مقارنة بين كتلة VEXcode VR Wait Until وكتلة التبديل المقابلة لها. تقرأ كتلة الواقع الافتراضي "انتظر حتى يكون موضع Y للروبوت بالملليمترات أكبر من -300". يقرأ رمز Python الخاص بكتلة التبديل "while not location.position(Y, MM )> -300: wait(5, MSEC )". أمر الانتظار مثبت بمسافة بادئة أسفل بينما لا يوجد.داخل كتلة Switch، بينما ليس location.position(Y، MM) > -300: هو أول أمر Python يتحقق مما إذا كان موضع الروبوت على طول المحور X أكبر من -300.

يقوم الأمر الثاني ذو المسافة البادئة، الانتظار (5، مللي ثانية)، بإيقاف تنفيذ الحلقة الشرطية مؤقتًا لمدة 5 مللي ثانية.

في VEXcode VR، يتم دائمًا إضافة أمر wait مع الحلقة الشرطية. الغرض من الأمر wait هو التأكد من أن VEXcode VR يمكنه تشغيل المشروع بشكل صحيح كما هو مقصود، نظرًا لطبيعة منصة VEXcode VR المستندة إلى الويب. لا ينبغي أبدًا حذف الأمر wait عند استخدام حلقة شرطية، وإلا فقد لا يعمل مشروعك كما هو مقصود. 

في هذا المثال، يتحقق المشروع مما إذا كان موضع الروبوت أكبر من قيمة Y البالغة -300 كل 5 مللي ثانية أم لا. يتم وضع مسافة بادئة لهذا السطر من التعليمات البرمجية أسفل السطر الأول من التعليمات البرمجية لأن هذا الأمر هو السلوك الذي سيتكرر حتى يتم استيفاء الشرط (قيمة إحداثيات Y أكبر من -300). 

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