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

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

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

- للبدء، يجب أن يواجه روبوت الواقع الافتراضي الرقم "5". اسحب أو اكتب turn_for command.
# Add project code in "main"
def main (): drivetrain.turn_for
(RIGHT, 90, DEGREES)
- اسحب حلقة بينما تحت الأمر turn_for . يجب أن يبدو مشروعك كما يلي:
# Add project code in "main"
def main (): drivetrain.turn_for
(RIGHT, 90, DEGREES)
while condition:
wait(5, MSEC)
- تمامًا مثل وحدة مستشعر المسافة، سيستخدم هذا المشروع حالة موضع مستشعر الموقع مع مشغل مقارنة للتنقل في ملعب خريطة شبكة الأرقام. اضبط الشرط للحلقة بينما على الموضع في المحور X أقل من -100 بالملليمتر (مم). يجب أن يبدو مشروعك كما يلي:
# Add project code in "main"
def main (): drivetrain.turn_for
(RIGHT, 90, DEGREES)
while location.position (X, MM) < -100:
wait(5, MSEC)
- اسحب أو اكتب الأمر الذي لا يحتاج إلى انتظار drive داخل حلقة while. يجب أن يبدو مشروعك كما يلي:
# Add project code in "main"
def main (): drivetrain.turn_for
(RIGHT, 90, DEGREES)
while location.position (X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC)
- لاحظ أنه يتم استخدام عامل التشغيل "أقل من" بدلاً من عامل التشغيل "أكبر من" لأن روبوت الواقع الافتراضي يقود إلى اليمين من الجانب الأيسر من الملعب. يبدأ روبوت الواقع الافتراضي بقيمة X تبلغ -900 ملليمتر (مم). مع تقدم روبوت الواقع الافتراضي، تزداد قيم X، وبالتالي سيستمر الروبوت في التقدم بينما تكون قيمة X أقل من -100.

لمعلوماتك
ستحتاج إلى اختيار مشغل المقارنة الذي ستستخدمه في مشروعك، اعتمادًا على الاتجاه الذي تريد أن ينتقل إليه روبوت الواقع الافتراضي على طول المحور X أو Y. عندما يتجه روبوت الواقع الافتراضي نحو قيمة أكبر، سيتم استخدام عامل أقل من (<) مع حلقة بينما ؛ وعندما يتجه روبوت الواقع الافتراضي نحو قيمة أصغر، سيتم استخدام عامل أكبر من (>) مع حلقة بينما .
يتوافق هذا مع الحركات اليسرى واليمنى عند النظر إلى الملعب. إذا كان روبوت الواقع الافتراضي يتحرك من اليسار إلى اليمين أو من الأسفل إلى الأعلى (قيم أكبر)، يتم استخدام عامل التشغيل أقل من للقيادة بينما يكون الموضع أقل من القيمة المستهدفة.
إذا كان روبوت الواقع الافتراضي يتحرك من اليمين إلى اليسار أو من أعلى إلى أسفل (قيم أصغر)، يتم استخدام أكبر من المشغل للقيادة بينما يكون الموضع أكبر من القيمة المستهدفة.
باستخدام مشغلي المقارنة، سينتقل روبوت الواقع الافتراضي بينما تكون القيمة التي يبلغ عنها مستشعر الموقع أكبر من>() أو أقل من<() قيمة العتبة. في هذا المثال، سينتقل روبوت الواقع الافتراضي إلى موجب 500 ملليمتر (مم) على المحور X. سيقود روبوت الواقع الافتراضي بينما يكون المركز على المحور X في أي مكان من 0 إلى 499 موجب. عندما يبلغ مستشعر الموقع أن الموضع 501 أو أعلى، سيتوقف روبوت الواقع الافتراضي عن القيادة.
# Add project code in "main"
def main ():
monitor_sensor(location.position) drivetrain.turn_for
(RIGHT, 90, DEGREES)
while location.position(X, MM) < 500:
drivetrain.drive(FORWARD)
wait(5, MSEC
)drivetrain.stop ()
لاحظ أن القيمة التي أبلغ عنها مستشعر الموقع ليست بالضبط 500 ملليمتر (مم). مثل مستشعر المسافة، يتم استخدام مشغلي المقارنة بسبب الوقت الذي يستغرقه روبوت الواقع الافتراضي للتكرار من خلال المشروع وقيم التقرير.
- اسحب أو اكتب الأمر stop خارج الحلقة while. يجب أن يبدو مشروعك كما يلي:
# Add project code in "main"
def main (): drivetrain.turn_for
(RIGHT, 90, DEGREES)
while location.position(X, MM) < -100:
drivetrain.drive(FORWARD)
wait(5, MSEC
)drivetrain.stop ()
- افتح نافذة الملعب إذا لم تكن مفتوحة بالفعل. تأكد من فتح خريطة شبكة الأرقام Playground ، ثم قم بتشغيل المشروع.
- شاهد روبوت الواقع الافتراضي يقود إلى الرقم "5" في ملعب خريطة شبكة الأرقام.

- في هذا المشروع، ينتقل روبوت الواقع الافتراضي إلى الرقم "5" في ملعب خريطة شبكة الأرقام. يتم استخدام الحلقة بينما حتى يستمر روبوت الواقع الافتراضي في التحرك للأمام بينما تكون قيمة X أقل بمقدار من قيمة X للإحداثيات التي يوجد عليها الرقم المشار إليه.
- بمجرد أن تصبح قيمة X أكبر من -100، ينتقل المشروع إلى الأمر التالي خارج الحلقة، وهو أمر stop. نظرًا لأن قيمة X للرقم "5" هي -100، سيتوقف روبوت الواقع الافتراضي عن القيادة بمجرد أن تكون قيمة X أكبر من -100.

لمعلوماتك
لاحظ أن القيمة التي أبلغ عنها مستشعر الموقع قد لا تكون بالضبط -100 مليمتر (مم). مثل مستشعر المسافة، يتم استخدام مشغلي المقارنة بسبب الوقت الذي يستغرقه روبوت الواقع الافتراضي للتكرار من خلال المشروع وقيم التقرير.
في VEXcode VR Python، يمكنك استخدام عامل مقارنة أكبر من أو يساوي >(=) أو أقل من أو يساوي <(=) في مشروعك للحصول على دقة إضافية في تحركاتك.
# Add project code in "main"
def main ():
drivetrain.turn_for(RIGHT, 90, DEGREES)
while location.position (X, MM <)=-100:
drivetrain.drive(FORWARD)
wait(5, MSEC
)drivetrain.stop ()
اعتمادًا على سرعة روبوت الواقع الافتراضي ومدى سرعة تكرار المشروع خلال الحلقة، قد ترى أن روبوت الواقع الافتراضي قادر على التوقف بالقرب من قيمة العتبة عندما تتم إضافة أو يساوي (<= أو >=) إلى المشغل.
قم باختيار الزر التالي لمواصلة بقية هذا الدرس.