يُبلغ مستشعر المسافة الموجود على VR Robot عن المسافة بين VR Robot وأقرب كائن. يقوم المستشعر بحساب المسافة باستخدام الوقت الذي يستغرقه ضوء الليزر للارتداد عن الجسم والعودة إلى المستشعر.
مستشعر المسافة على روبوت الواقع الافتراضي
مستشعر المسافة هو مستشعر يُبلغ عن المسافة بين VR Robot وأقرب جسم صلب.
يستخدم مستشعر المسافة نفس المبادئ التي تستخدمها أجهزة السونار لقياس الصوت. يرسل نبضة صغيرة من ضوء الليزر مع باعثه على أحد جوانب المستشعر، ثم يضاعف الوقت الذي يستغرقه الضوء لينعكس مرة أخرى إلى جهاز الاستقبال على الجانب الآخر من المستشعر. يقوم المستشعر بحساب المسافة بناءً على المدة التي استغرقها النبض للقيام برحلة ذهابًا وإيابًا. بعد ذلك، يقوم مستشعر المسافة بإبلاغ روبوت الواقع الافتراضي عن مدى قرب أقرب كائن.
يتغير عرض نطاق رؤية مستشعرات المسافة عندما يبدو بعيدًا عن الجزء الأمامي لروبوت الواقع الافتراضي:
- يستطيع المستشعر اكتشاف الأجسام ضمن مجال رؤية يبلغ 10 درجات عند البحث عن كائنات على بعد أقل من 1000 ملم (~ 39 بوصة).
- يستطيع المستشعر اكتشاف الكائنات ضمن مجال رؤية يبلغ 5 درجات عند البحث عن كائنات على مسافة تتراوح بين 1000 ملم (~ 39 بوصة) و2000 ملم (~ 78 بوصة).
- يستطيع المستشعر اكتشاف الكائنات ضمن مجال رؤية يبلغ درجتين عند البحث عن كائنات تبعد أكثر من 2000 ملم (~ 78 بوصة).
الاستخدامات الشائعة لمستشعر المسافة
يستطيع مستشعر المسافة اكتشاف ما إذا كان هناك جسم أمام روبوت الواقع الافتراضي. ويمكن استخدام هذا لتجنب عقبة.
كتل VEXcode VR | ملعب المتاهة الجدارية | |
---|---|---|
VEXcode VR بايثون | ||
def main(): |
||
يمكن لمستشعر المسافة قياس المسافة بين الجزء الأمامي من مستشعر المسافة والجزء الأمامي من الجسم. قد يكون هذا مفيدًا لإكمال المتاهة دون الاصطدام المستمر بالجدران أو تجنب أي شيء. |
كتل VEXcode VR | ملعب Dynamic Castle Crasher | |
---|---|---|
VEXcode VR بايثون | ||
def main(): |
||
في هذا المثال، سوف يتحرك VR Robot للأمام إذا عثر مستشعر المسافة على جسم ما. إذا لم يكتشف أي كائن، فسوف يستدير VR Robot إلى اليمين ويستمر في التحقق من وجود أي شيء. ملاحظة: سيجد هذا المثال المبنى الأول، ولكنه يحتاج إلى تحسينات لتجنب السقوط من على الطاولة. |
استخدام مستشعر المسافة مع كتل VEXcode VR
يمكن العثور على الكتل المستخدمة مع مستشعر المسافة في فئة الاستشعار.
<المسافة التي تم العثور عليها للكائن> بلوك
يكتشف مستشعر المسافة ما إذا كان هناك كائن أمامه باستخدام الكتلة <المسافة التي تم العثور على الكائن>. يستطيع مستشعر المسافة اكتشاف جسم أو سطح ضمن مسافة 3000 مم (~118 بوصة) من المستشعر.
الكتلة <المسافة التي تم العثور عليها للكائن>هي كتلة منطقية تُرجع الشرط إما صحيح أو خطأ ويتم وضعها داخل أي كتل ذات مسافات سداسية (ستية الجوانب) للكتل الأخرى.
لمزيد من المعلومات حول الكتل المنطقية، شاهد هذه المقالة.
قيمة الكتلة <Distance found object> هي كتلة منطقية تُبلغ عن صحة عندما يكون مستشعر المسافة قريبًا من كائن ما، وتُبلغ عن خطأ عندما لا يكون قريبًا بدرجة كافية من كائن ما.
سيتم الإبلاغ عن True أو false وتظهر في وحدة تحكم المراقبة.
لمعرفة المزيد حول وحدة التحكم بالشاشة، شاهد هذه المقالة.
(المسافة من) بلوك
باستخدام كتلة (المسافة من)، يستطيع مستشعر المسافة الإبلاغ عن مسافة أقرب كائن بالملليمتر (مم) أو البوصة.
تُبلغ الكتلة (المسافة من) عن قيم رقمية وتتناسب مع أي كتل ذات مسافات بيضاوية.
لمزيد من المعلومات حول كتل المراسلين، شاهد هذه المقالة.
يمكن عرض قيمة الكتلة (المسافة من) بوحدات المليمتر (مم) أو البوصة على وحدة تحكم الشاشة في VEXcode VR.
لمعرفة المزيد حول وحدة التحكم بالشاشة، شاهد هذه المقالة.
استخدام مستشعر المسافة في VEXcode VR Python
للبدء في برمجة مستشعر المسافة باستخدام Python، ستحتاج أولاً إلى فتح مشروع نصي VEXcode VR. لمزيد من المعلومات، راجع هذه المقالة.
بعد ذلك، حدد موقع فئة الاستشعار في صندوق الأدوات وابحث عن أوامر Found_object و get_distance. هذه هي الوظائف التي تبلغ عن قيمة منطقية أو قيمة رقمية حول المستشعر.
لإضافة الأمر إلى مشروعك، يمكنك سحب الأمر من Toolbox، أو كتابة الأمر في مساحة العمل باستخدام وظيفة الإكمال التلقائي.
لمعرفة المزيد حول الإكمال التلقائي في VEXcode VR مع Python، راجع هذه المقالة.
def main(): |
يمكن استخدام حلقة بينما مع المستشعرات الموجودة على الروبوت الخاص بك عندما تريد أن يقوم الروبوت الخاص بك بشيء مثل القيادة حتى يصبح مستشعر المسافة على بعد 50 مم أو أقل من الحائط، ثم يتوقف أو يستدير. في هذا المشروع، سيتقدم الروبوت للأمام بينما يبلغ مستشعر المسافة قيمة أكبر من 50 مم، وسيتوقف عن القيادة عندما يكون مستشعر المسافة على بعد أقل من 50 مم من الحائط. |
def main(): |
يمكن عرض قيمة أوامرget_distance وFound_object على وحدة تحكم المراقبة في VEXcode VR. لمعرفة المزيد حول استخدام وحدة تحكم المراقبة في VEXcode VR Python، راجع هذه المقالة. |