الدرس 1: ما هو مستشعر المسافة ؟
في هذا الدرس، سوف تتعلم ما هو مستشعر المسافة، ولماذا تستخدم مستشعر المسافة مع روبوت الواقع الافتراضي. ستتعلم أيضًا كيفية عمل مستشعر المسافة وكيفية استخدام مستشعر المسافة في مشروع VEXcode VR Python.
مخرجات التعلم
- حدد أن مستشعر المسافة يبلغ عن المسافة بين المستشعر نفسه وأقرب جسم.
- حدد أن مستشعر المسافة يحدد المسافة باستخدام الوقت الذي تستغرقه نبضة ضوء الليزر لعكس جسم ما والعودة إلى المستشعر.
- حدد أن الأمر found_object يبلغ عن قيمة منطقية إذا كان مستشعر المسافة قد وجد كائنًا أم لا.
- حدد أن الأمر get_distance يبلغ عن مسافة أقرب كائن من المستشعر بالملليمتر (مم) أو البوصة.
- صف سبب استخدام مستشعر المسافة في المشروع.
مستشعر المسافة
يمكن لمستشعر المسافة اكتشاف ما إذا كان هناك جسم أمام روبوت الواقع الافتراضي، وإذا كان الأمر كذلك، فكم يبعد هذا الجسم عن مستشعر المسافة. يمكن أن يكون هذا مفيدًا في التنقل في متاهة دون الاصطدام باستمرار بالجدران، أو لتجنب شيء ما، أو القيادة إلى شيء أو جدار في الملاعب.
في هذه الوحدة، ستستخدم مستشعر المسافة، وهو مستشعر يستخدم نبضة من ضوء الليزر لاكتشاف الأجسام. يسجل مستشعر المسافة المسافة بين مقدمة مستشعر المسافة على روبوت الواقع الافتراضي وأقرب جسم. يوجد مستشعر المسافة في العين الأمامية على روبوت الواقع الافتراضي. تمامًا مثل مستشعر المصد، يمكن لروبوت الواقع الافتراضي استخدام البيانات من مستشعر المسافة لاتخاذ القرارات.

يحسب مستشعر المسافة المسافة باستخدام الوقت الذي تستغرقه نبضة ضوء الليزر للانعكاس من جسم ما والعودة إلى المستشعر. يمكن استخدام مستشعر المسافة للكشف عن مدى بُعد روبوت الواقع الافتراضي عن الجدران في ملعب المتاهة الجدارية.

أمر كائن تم العثور على مسافة
يمكن استخدام مستشعر المسافة لاكتشاف ما إذا كان هناك جسم (مثل الجدار) أمامه. يمكن بعد ذلك استخدام هذه البيانات في مشروع حتى يتمكن روبوت الواقع الافتراضي من اتخاذ قرار عندما يكتشف مستشعر المسافة كائنًا.
استخدم الأمر found_object في مشروع Python للتحقق من حالة مستشعر المسافة. تعيد الأوامر found_object القيم المنطقية True أو False، اعتمادًا على ما إذا كان المستشعر قد اكتشف الكائن أم لا.
- found_object يعود صحيح عندما يكتشف مستشعر المسافة كائنًا أو سطحًا داخل مجال رؤيته، وعلى بعد 3000 مم من المستشعر.
- يتم إرجاع FALSE عندما لا يكتشف مستشعر المسافة كائنًا أو سطحًا في حدود 3000 مم.
يتم استخدام الأمر found_object عادةً مع بنية التحكم، مثل حلقة while ، حتى يتمكن روبوت الواقع الافتراضي من استخدام البيانات من مستشعر المسافة لاتخاذ قرار.
عند استخدام الأمر FOOD_OBJECT في مشروع، يجب تحديد مستشعر المسافة المستخدم. في ساحة اللعب بمتاهة الحائط ، يتوفر مستشعر المسافة الأمامية فقط على روبوت الواقع الافتراضي. عندما يتم سحب الأمر found_object من صندوق الأدوات إلى مشروع، سيحدد الأمر found_object تلقائيًا مستشعر المسافة المستخدم، كما هو موضح هنا. في مقطع الفيديو أدناه، تم تحديد الأمر found_object في شريط الأدوات وسحبه إلى مساحة العمل. عندما يظهر في المشروع، يظهر الأمر مع كتابة الجهاز على أنه "FRONT_DISTANCE" تلقائيًا.
الحصول على أمر المسافة
يمكن لمستشعر المسافة أيضًا الإبلاغ عن مسافة الكائن، واستخدام هذه القيمة لاتخاذ قرار. يعيد الأمر get_distance المسافة كائن من مقدمة روبوت الواقع الافتراضي.
اختر ما إذا كان يتم الإبلاغ عن المسافة بالملليمتر (مم) أو البوصة عن طريق ضبط المعلمة على "MM" أو "بوصة".
يمكن استخدام الأمر get_distance مع أوامر أخرى، مثل حلقة while ، في مشروع لإرشاد روبوت الواقع الافتراضي للقيادة لمسافة معينة بعيدًا عن (أو نحو) كائن ما، أو لإكمال إجراء عند الإبلاغ عن مسافة محددة .
عند استخدام الأمر get_distance في مشروع، يجب تحديد مستشعر المسافة المستخدم. In the Wall Maze Playground, only the Front Distance Sensor is available on the VR Robot. When the get_distance command is dragged from the Toolbox into a project, the get_distance command will automatically specify the Distance Sensor in use, as shown here. في مقطع الفيديو أدناه، تم تحديد الأمر get_distance في شريط الأدوات وسحبه إلى مساحة العمل. عندما يظهر في المشروع، يظهر الأمر مع كتابة الجهاز على أنه "FRONT_DISTANCE" تلقائيًا.
مستشعر المسافة ومشكلة متاهة الجدار
بالتفكير في مشكلة متاهة الجدار، فإن الهدف هو الحصول على محرك روبوت الواقع الافتراضي بينما يكون بعيدًا عن الجدار. عندما يقترب روبوت الواقع الافتراضي من الجدار، فإنه يحتاج بعد ذلك إلى التوقف أو الدوران دون لمس الجدار، من أجل الاستمرار عبر المتاهة. سيسمح استخدام مستشعر المسافة لروبوت الواقع الافتراضي بالارتقاء إلى كائن دون لمسه.
في مثال مقطع الفيديو التالي، سيتقدم روبوت الواقع الافتراضي للأمام بينما يشير مستشعر المسافة إلى أنه أكبر من 50 ملم من الجسم. بمجرد أن يكون على بعد أقل من 50 ملم، سيتوقف روبوت الواقع الافتراضي عن القيادة. لاحظ أن روبوت الواقع الافتراضي لا يلمس الجدار.
ستلاحظ أن لوحة المعلومات تعرض القيمة التي يقوم مستشعر المسافة بالإبلاغ عنها في الوقت الفعلي أثناء تشغيل
المشروع. عندما تكون القيمة أكبر من 50 ملم، سيستمر روبوت الواقع الافتراضي في المضي
قدمًا.
عندما يبلغ مستشعر المسافة عن قيمة أقل من 50 ملم، يكون روبوت الواقع الافتراضي بالقرب
من الحائط دون لمسه، ويتوقف عن القيادة.
في هذا المثال ، يتم استخدام الأمر get_distance مع عامل مقارنة لإرجاع قيمة منطقية في حلقة. سوف تتعلم المزيد عن أكبر من>() وأقل من>() من المشغلين في هذه الوحدة.