Skip to main content

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

  • أعد ضبط الملعب لتحريك روبوت الواقع الافتراضي مرة أخرى إلى وضع البداية.
  • الآن، سوف يستدير روبوت الواقع الافتراضي ويعود إلى الرقم "1" بمجرد أن يصل إلى الرقم "31" في ملعب خريطة شبكة الأرقام.

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

    نظرة عامة على الكتل التي يجب إضافتها إلى مشروعنا من وقت سابق لقيادة الروبوت من المساحة 1، إلى المساحة 31، والعودة إلى المساحة 1. ويتم ذلك عن طريق إضافة كتل الانعطاف والقيادة والانتظار قبل كتلة إيقاف القيادة. يقرأ المشروع الكامل الآن عند البدء، قم بالقيادة للأمام وانتظر حتى يكون موضع Y للروبوت بالملليمترات أكبر من -300. بعد ذلك، انعطف يمينًا لمدة 180 درجة ثم قُد للأمام. أخيرًا، انتظر حتى يكون موضع Y للروبوت بالملليمترات أقل من -900 ثم توقف عن القيادة.
  • لاحظ أن الكتلة الثانية [انتظر حتى] تحتوي على <Less than> كتلة بدلاً من <Greater than> كتلة. وذلك لأن روبوت الواقع الافتراضي يقود الآن إلى أسفل المحور Y والأرقام أصبحت أكثر سلبية. سيتوقف روبوت الواقع الافتراضي بمجرد أن تكون قيم Y أقل من -900.

    نفس مشروع كتل VEXcode VR لدفع روبوت VR من الفضاء 1، إلى الفضاء 31، إلى الفضاء 1، مع تمييز كتلة الانتظار حتى الثانية للفت الانتباه إلى استخدام كتلة أقل من بدلاً من كتلة أكبر من. يقرأ المشروع بأكمله عند البدء، قم بالقيادة للأمام وانتظر حتى يكون موضع Y للروبوت بالملليمترات أكبر من -300. بعد ذلك، انعطف يمينًا لمدة 180 درجة ثم قُد للأمام. أخيرًا، انتظر حتى يكون موضع Y للروبوت بالملليمترات أقل من -900 ثم توقف عن القيادة.
  • قم بتشغيل ملعب خريطة شبكة الأرقام إذا لم يكن مفتوحًا بالفعل، وقم بتشغيل المشروع.
  • شاهد روبوت الواقع الافتراضي يقود إلى الرقم "1" في ملعب خريطة شبكة الأرقام.
  • في هذا المشروع، ينتقل روبوت الواقع الافتراضي إلى الرقم "1" في ملعب خريطة شبكة الأرقام. نظرًا لأن قيم Y تتناقص مع انتقال روبوت الواقع الافتراضي إلى الرقم "1"، يستخدم المشروع <Less than> كتلة.
  • سيتوقف روبوت الواقع الافتراضي بمجرد أن تكون القيمة Y أقل من القيمة Y للإحداثيات التي يكون عليها الرقم المشار إليه. نظرًا لأن قيمة Y للرقم "1" هي -900، سيتوقف روبوت الواقع الافتراضي عن القيادة بمجرد أن تكون قيمة Y أقل من -900.

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

    لمعلوماتك

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

    مثال على مشروع VEXcode VR BLOCKS لقيادة الروبوت من الفضاء 1، إلى الفضاء 81، والعودة إلى الفضاء 41. تمت إضافة تعليقات لجعل التعليمات البرمجية أكثر قابلية للقراءة وإدراج إحداثيات كل موقع للمساعدة في تصحيح الأخطاء. يبدأ المشروع بكتلة When Started متبوعة بتعليق يقول "Drive to 81 located at (-900,700 )". التالي تقدم للأمام وانتظر حتى يكون موضع Y للروبوت بالملليمتر أكبر من 700. بعد ذلك، يقرأ تعليق "استدر" متبوعًا بكتلة للانعطاف يمينًا لمدة 180 درجة. التالي هو تعليق آخر يقرأ "Drive to 41 located at (-900, -100 )" متبوعًا بكتلة Drive Forward. أخيرًا، انتظر حتى يكون موضع Y للروبوت بالملليمترات أقل من -100 ثم توقف عن القيادة.

    لمزيد من المعلومات حول التعليقات، راجع المقال التعليقات - كتل الواقع الافتراضي .

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

توضح الصورة أدناه المشروع أعلاه الذي تم تحويله إلى كتلة تبديل. لاحظ أن التعليقات في بايثون مكتوبة باللون الأخضر. يمكنك كتابة التعليقات في بايثون عن طريق إدخال علامة رطل (#) متبوعة بتعليقك. 

تنفيذ كتلة مفتاح VEXcode VR لرمز كتل VR للانتقال من المساحة 1، إلى المساحة 81، إلى المساحة 41. رمز التبديل هو 11 سطرًا، على النحو التالي: '# Drive to 81 located at (-900, 700), drivetrain.drive (FORWARD), while not location.position (Y, MM )> 700: wait(5, MSEC), # Turn around, drivetrain.turn_for (RIGHT, 180, DEGREES), # Drive to 41 located at (-900, -100), drivetrain.drive (FORWARD), while not location.position (Y, MM )<-100: wait(5, MSEC), drivetrain.stop ()'.

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