Skip to main content

الدرس 2: القيادة إلى اللون الأخضر ثم الأقراص الزرقاء

القيادة إلى اللون الأخضر ثم الأقراص الزرقاء

  • يحتوي المشروع السابق على روبوت الواقع الافتراضي الذي ينعطف يمينًا عندما يكتشف مستشعر العين الأمامية قرصًا أخضر. الآن، قم ببناء مشروع حيث يقوم روبوت الواقع الافتراضي بتشغيل أربعة أقراص على Disk Maze Playground.
  • الهدف هو إنشاء نمط ثابت حيث يدور روبوت الواقع الافتراضي يمينًا عندما يكتشف مستشعر العين الأمامي قرصًا أخضر، ويسارًا عندما يكتشف مستشعر العين الأمامي قرصًا أزرق.

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

    يحظر VEXcode VR المشروع من وقت سابق، مع إضافة كتل التعليق و Drive Forward. يقرأ المشروع بأكمله الآن عند البدء متبوعًا بتعليق يقرأ "القيادة إلى القرص الأول (الأخضر)، ثم الانعطاف يمينًا". بعد ذلك، قم بالقيادة للأمام،  وانتظر حتى تكتشف العين الأمامية اللون الأخضر ثم انعطف يمينًا لمدة 90 درجة. التالي هو كتلة التعليق التي تقرأ "محرك الأقراص إلى القرص التالي (الأزرق)، ثم انعطف يسارًا". أخيرًا، تقدم للأمام.
  • أضف [انتظر حتى] آخر مع تعيين <Color sensing> الكتلة للكشف عن "اللون الأزرق"، لأن القرص التالي الذي سيواجهه روبوت الواقع الافتراضي سيكون باللون الأزرق.

    يحظر VEXcode VR المشروع من وقت سابق، مع إضافة كتلة الانتظار حتى بعد كتلة Drive Forward الأخيرة. يقرأ المشروع بأكمله الآن عند البدء متبوعًا بتعليق يقرأ "القيادة إلى القرص الأول (الأخضر)، ثم الانعطاف يمينًا". بعد ذلك، قم بالقيادة للأمام،  وانتظر حتى تكتشف العين الأمامية اللون الأخضر ثم انعطف يمينًا لمدة 90 درجة. التالي هو كتلة التعليق التي تقرأ "محرك الأقراص إلى القرص التالي (الأزرق)، ثم انعطف يسارًا". أخيرًا، تقدم للأمام وانتظر حتى تكتشف العين الأمامية اللون الأزرق.
  • أضف كتلة [Turn for] واضبط المعلمة على "يسار".

    يحظر VEXcode VR المشروع من وقت سابق، مع إضافة كتلة انعطاف لليسار لمدة 90 درجة بعد آخر كتلة انتظار حتى. يقرأ المشروع بأكمله الآن عند البدء متبوعًا بتعليق يقرأ "القيادة إلى القرص الأول (الأخضر)، ثم الانعطاف يمينًا". بعد ذلك، قم بالقيادة للأمام،  وانتظر حتى تكتشف العين الأمامية اللون الأخضر ثم انعطف يمينًا لمدة 90 درجة. التالي هو كتلة التعليق التي تقرأ "محرك الأقراص إلى القرص التالي (الأزرق)، ثم انعطف يسارًا". بعد ذلك قم بالقيادة للأمام وانتظر حتى تكتشف العين الأمامية اللون الأزرق قبل الانعطاف إلى اليسار لمدة 90 درجة.
  • قم بتشغيل المشروع لمعرفة كيفية تحرك روبوت الواقع الافتراضي عبر ملعب متاهة القرص.

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

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

    سنستخدم الآن كتلة التكرار لتبسيط التعليمات البرمجية وتقصيرها. يبرز المربع الأحمر الأقسام الثلاثة المستخدمة للوصول إلى الأقراص الزرقاء، حيث أن هذا هو نفس الرمز ثلاث مرات يمكننا إضافته إلى مجموعة Repeat Block لتكرارها 3 مرات بدلاً من ذلك. الآن، يقرأ المشروع عند البدء، قم بالقيادة للأمام وانتظر حتى تكتشف العين الأمامية اللون الأخضر قبل الانعطاف إلى اليمين لمدة 90 درجة. بعد ذلك، كرر الرمز للوصول إلى قرص أزرق ثلاث مرات: قُد للأمام، وانتظر حتى تكتشف العين الأمامية اللون الأزرق ثم انعطف يسارًا لمدة 90 درجة. بعد إغلاق حلقة التكرار، توقف عن القيادة.
  • افتح Disk Maze Playground إذا لم يكن مفتوحًا بالفعل، وقم بتشغيل المشروع.
  • شاهد روبوت الواقع الافتراضي ينتقل إلى أربعة أقراص في ملعب متاهة القرص.

    المنظر من أعلى إلى أسفل لملعب Disk Maze من وقت سابق، مع سهم يوضح المسار المقصود للروبوت VR. يجب أن يقود الروبوت إلى الأمام من منصة البداية للوصول إلى القرص الأخضر الأول والانعطاف يمينًا قبل الانعطاف يسارًا عند قرصين أزرقين والتوقف عند الثالث. يشير الصندوق الأحمر إلى أن الروبوت يتوقف عند القرص الأزرق الثالث.
  • في هذا المشروع، يتحرك روبوت الواقع الافتراضي للأمام حتى يكتشف مستشعر العين الأمامي اللون الأخضر.
    • يتحول روبوت الواقع الافتراضي إلى اليمين 90 درجة ويدفع للأمام مرة أخرى حتى يتم اكتشاف اللون الأزرق.
    • ثم يستدير روبوت الواقع الافتراضي إلى اليسار ويدفع للأمام حتى يكتشف مستشعر العين الأمامي اللون الأزرق. بمجرد اكتشاف اللون الأزرق، يتحول روبوت الواقع الافتراضي إلى اليسار مرة أخرى.
    • أخيرًا، يتحرك روبوت الواقع الافتراضي للأمام حتى يكتشف مستشعر العين الأمامية اللون الأزرق، ثم يتوقف.
  • لاحظ النمط القائل بأنه عندما يكتشف مستشعر العين الأمامي اللون الأخضر، يتحول روبوت الواقع الافتراضي إلى اليمين. عندما يكتشف مستشعر العين الأمامية اللون الأزرق، يتحول روبوت الواقع الافتراضي إلى اليسار في هذا المشروع.

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

حتى الآن، قمت بإنشاء مشروع للقيادة إلى القرص الأخضر ثم الأقراص الزرقاء الثلاثة.

توضح الصورة أدناه المشروع بأكمله باستخدام كتل VEXcode، مع السلوكيات المتكررة المستخدمة للقيادة إلى الأقراص الزرقاء الثلاثة المربعة باللون الأحمر.

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

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

مشروع المركز

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

من المتوقع أن تصل كتل VEXcode VR إلى الأقراص الأربعة الأولى، ولكن مع تحويل حلقة Repeat بأكملها إلى كتل تبديل Python. يقرأ المشروع بأكمله عند البدء، قم بالقيادة للأمام وانتظر حتى تكتشف العين الأمامية اللون الأخضر قبل الانعطاف يمينًا لمدة 90 درجة. التالي، هو كتلة التبديل التي تحتوي على رمز بايثون التالي: 'for repeat_count in range(3): drivetrain.drive(FORWARD) while not front_eye.detect (BLUE): wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES )'. الآن، خارج مجموعة المفاتيح، أخيرًا توقف عن القيادة.

FOR REPEAT_COUNT في النطاق(3): هو أمر Python الذي يخبر الروبوت أنه يجب تكرار أسطر التعليمات البرمجية البادئة التالية ثلاث مرات. لاحظ أنه يجب عليك تضمين نقطتين () بعد حلقة FOR. 

الأسطر اللاحقة من التعليمات البرمجية هي السلوكيات التي سيتم تكرارها. لاحظ أن هذه السلوكيات يتم تثبيتها بمسافة بادئة في 4 مسافات افتراضية. 

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

يتم وضع السطر wait (5, MSEC)  أسفل الأمر while not front_eye.detect(BLUE) لأن مستشعر العين الأمامية سوف يتحقق من اللون الأزرق، ويتوقف لمدة 5 MSEC بين كل فحص.

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