استخدام مستشعر المسافة في VEXcode VR مع Python

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


مستشعر المسافة على روبوت الواقع الافتراضي

العين الأمامية للأسفل

مستشعر المسافة هو مستشعر يُبلغ عن المسافة بين VR Robot وأقرب جسم صلب.

VR من أعلى إلى أسفل

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


أوامر VEXcode VR المستخدمة مع مستشعر المسافة

distance_commands.png

يمكن العثور على الأوامر المستخدمة مع مستشعر المسافة في فئة الاستشعار.

get_distance الأمر

Screen_Shot_2021-10-07_at_4.17.49_PM.png

باستخدام الأمر get_distance ، يستطيع مستشعر المسافة الإبلاغ عن مسافة أقرب كائن بالملليمتر (مم) أو البوصة. يُبلغ الأمر get_distanceعن قيم رقمية إما بالملليمتر (مم) أو بالبوصة.

ديف الرئيسي (): 
Monitor_sensor("distance.get_distance")

لعرض قيم مستشعر المسافة في وحدة تحكم الشاشة، اسحب أو اكتب أمر مستشعر الشاشة. ثم قم بتعيين المعلمة على معرف السلسلة لعرض قيمة المستشعر. في هذه الحالة سيكون معرف السلسلة هو "distance.get_distance".

Screen_Shot_2021-10-07_at_4.52.59_PM.png

سيتم عرض المسافة بالملليمتر (مم) والبوصة في وحدة التحكم بالشاشة.

تم العثور على كائن الأمر

Screen_Shot_2021-10-07_at_4.24.37_PM.png

يكتشف مستشعر المسافة ما إذا كان هناك كائن أمامه باستخدام الأمر مسافة العثور على كائن. يستطيع مستشعر المسافة اكتشاف جسم أو سطح ضمن مسافة 3000 مم (~118 بوصة) من المستشعر. يقوم أمر المسافة التي تم العثور على الكائن بإرجاع قيمة منطقية إما True أو False.

ديف الرئيسي ():
Monitor_sensor("distance.found_object")

تقوم قيمة الأمر Found_object بإرجاع قيمة منطقية، وتُبلغ True عندما يكون مستشعر المسافة قريبًا من كائن ما، وتُبلغ False عندما لا يكون قريبًا بدرجة كافية من كائن ما.

لعرض قيم مستشعر المسافة في وحدة تحكم الشاشة، اسحب أو اكتب أمر مستشعر الشاشة. ثم قم بتعيين المعلمة على معرف السلسلة لعرض قيمة المستشعر. في هذه الحالة سيكون معرف السلسلة هو "distance.found_object".

Screen_Shot_2021-10-07_at_5.12.14_PM.png

سيتم الإبلاغ عن True أو false وتظهر في وحدة تحكم المراقبة.

يتيح الليزر للمستشعر أن يكون لديه مجال رؤية ضيق جدًا، لذلك يكون الاكتشاف دائمًا أمام المستشعر مباشرة. 


الاستخدامات الشائعة لمستشعر المسافة

VR من أعلى إلى أسفل

يستطيع مستشعر المسافة اكتشاف ما إذا كان هناك جسم أمام روبوت الواقع الافتراضي. ويمكن استخدام هذا لتجنب عقبة.

Screen_Shot_2021-10-07_at_4.39.16_PM.png

يمكن لمستشعر المسافة قياس المسافة بين الجزء الأمامي من مستشعر المسافة والجزء الأمامي من الجسم. قد يكون هذا مفيدًا لإكمال المتاهة دون الاصطدام المستمر بالجدران أو تجنب أي شيء.

def main():
while distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Wall Maze Playground.


مشروع مثال لجهاز استشعار المسافة

Screen_Shot_2021-10-07_at_4.48.44_PM.png

في هذا المثال، سوف يتحرك VR Robot للأمام إذا عثر مستشعر المسافة على جسم ما. إذا لم يكتشف أي كائن، فسوف يستدير VR Robot إلى اليمين ويستمر في التحقق من وجود أي شيء.

ملاحظة: سيجد هذا المثال المبنى الأول، ولكنه يحتاج إلى تحسينات لتجنب السقوط من على الطاولة.

def main():
while True:
if distance.found_object():
drivetrain.drive(FORWARD)
else:
drivetrain.turn(RIGHT)
wait(5, MSEC)

لاستخدام المثال أعلاه، انسخ هذا الرمز إلى VEXcode VR وقم بتشغيل المشروع على Castle Crasher أو Dynamic Castle Crasher Playground.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: