استخدام مستشعر المسافة VEX IQ (الجيل الأول).

وصف

يقوم هذا المستشعر بإبلاغ المسافة بينه وبين أقرب جسم صلب (نطاق 50 مم - 1 متر). يقوم بحساب المسافة باستخدام الوقت الذي تستغرقه الموجات فوق الصوتية لترتد من جسم ما وتعود إلى المستشعر.

قطعة مستشعر المسافة VEX IQ (الجيل الأول).

كيف يعمل مستشعر المسافة: الاستماع للمسافة

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

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

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


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

كتلة VEXcode IQ التي تم العثور على كائن والتي تقرأ "تم العثور على كائن من مسافة معينة؟"
رسمان بيانيان. في الأعلى، يشير مستشعر المسافة نحو مكعب أخضر قريب، وقد تم وضع علامة صح بجانبه. في الأسفل، لا يشير مستشعر المسافة إلى أي شيء قريب، وقد تم وضع علامة X عليه.

يمكن لهذا المستشعر اكتشاف ما إذا كان هناك جسم أمامه.

VEXcode IQ المسافة من الكتلة التي تقرأ المسافة بالمليمتر.

يمكن لهذا المستشعر قياس المسافة بينه وبين الجسم.

  • يمكن للروبوت استخدام هذا المستشعر للقيادة لمسافة معينة بعيدًا عن الجسم. شاهد الرسوم المتحركة أدناه لرؤية تغير قيمة المسافة أثناء قيادة الروبوت حتى تصبح المسافة أقل من 160 ملم.

  • يمكن للروبوت استخدام هذا المستشعر للقيادة إلى جسم ما دون لمسه. شاهد هذا الرسوم المتحركة لرؤية روبوتين يستخدمان أجهزة استشعار المسافة لتنسيق قيادتهما.

  • يمكن استخدام القيم التي يوفرها هذا المستشعر لضبط سرعة الروبوت اعتمادًا على ما إذا كان قريبًا أو بعيدًا عن جسم أو سطح ما. شاهد هذا الرسم المتحرك لرؤية روبوت يتكيف بناءً على المسافة إلى الحائط.


استخدامات مستشعر المسافة في روبوت المنافسة

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

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

إضافة مستشعر المسافة كجهاز في VEXcode IQ

قائمة أجهزة VEXcode IQ بعد تحديد زر إضافة جهاز. تم تمييز خيار المسافة (الجيل الأول).

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

بمجرد تكوين المستشعر، ستظهر الأوامر في صندوق الأدوات الذي يمكنك استخدامه في مشروعك.

ترميز مستشعر المسافة في الكتل

تم العثور على كائن VEXcode IQ كتلة تقرأ Distance7 هل وجدت كائنًا؟

الكتلة <Object found> هي كتلة مراسلات منطقية تُبلغ عن حالة ما على أنها صحيحة أو خاطئة. الكتل المنطقية، مثل الكتلة <Object found> تتلاءم مع الكتل ذات المدخلات السداسية (ستة جوانب) للكتل الأخرى.

تشير الكتلة المنطقية <Object found> إلى الحالة "صحيح" إذا اكتشف المستشعر كائنًا، و"خطأ" إذا لم يقم المستشعر بذلك. لمعرفة المزيد حول الكتل المنطقية، قم بزيارة مقالة تعليمات أو أشكال الكتل والمعنى.

 

يمنع VEXcode IQ المشروع الذي يستخدم مستشعر المسافة للمضي قدمًا حتى يجد كائنًا. يقرأ المشروع عند البدء، قم بالقيادة للأمام، وانتظر حتى يجد Distance7 كائنًا، ثم توقف عن القيادة.

في هذا المثال، يتم استخدام الكتلة <Object found> مع كتلة [انتظر حتى] لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة شيئًا ما. عندما يكتشف المستشعر شيئًا ما، سيتوقف الروبوت عن القيادة، كما هو موضح في الصورة أعلاه. 

VEXcode IQ المسافة من الكتلة التي تقرأ Distance7 المسافة بالملليمتر.

تشير الكتلة (المسافة من) إلى مسافة أقرب كائن من مستشعر المسافة. ويبلغ نطاق القياس من 24 ملم إلى 1000 ملم، أو من 1 بوصة إلى 40 بوصة. كتلة (المسافة من) هي كتلة إبلاغ تُستخدم داخل الكتل ذات المساحات الدائرية.

 

يمنع VEXcode IQ المشروع الذي يستخدم مستشعر المسافة للدفع للأمام حتى تصبح المسافة أقل من 50 مم. يقرأ المشروع عند البدء، قم بالقيادة للأمام، اطبع مسافة Distance7 بالمليمتر على الدماغ، انتظر حتى تصبح مسافة Distance7 بالمليمتر أقل من 50، ثم توقف عن القيادة.

في هذا المثال، يتم استخدام كتلة (المسافة من) مع كتلة [طباعة] لعرض المسافة بين مستشعر المسافة والكائن على شاشة Brain. تظهر الكتلة (المسافة من) أيضًا داخل الكتلة <Less than> الموجودة داخل الكتلة {Wait until}. سيؤدي هذا إلى قيام الروبوت بالقيادة حتى يكتشف مستشعر المسافة جسمًا على بعد أقل من 50 ملم، ثم يتوقف عن القيادة. وهذا ما يظهر في الفيديو الأول أعلاه.

ترميز مستشعر المسافة في بايثون

:لبرمجة مستشعر المسافة VEX IQ (الجيل الأول) في بايثون، يجب توصيله بـ VEX IQ (الجيل الثاني) Brain. لا يدعم جهاز VEX IQ (الجيل الأول) لغة بايثون.

distance_7.is_object_detected()

يُبلغ الأمر distance.is_object_detected عن "صحيح" في حالة اكتشاف كائن، و"خطأ" في حالة عدم اكتشاف كائن.

ملاحظة:يتوافق اسم مستشعر المسافة الذي يظهر في الأمر مع الاسم الوارد في التكوين. 

drivetrain.drive(FORWARD)
while not distance_7.is_object_detected()
    wait(20, MSEC)
drivetrain.stop()
في هذا المثال، يتم استخدام حلقةWhile مع شرط not مع الأمر distance.is_object_detected لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة وجود جسم. عندما يكتشف المستشعر وجود جسم ما، سيتوقف الروبوت عن القيادة، كما هو موضح في كود بايثون أعلاه.
distance_7.distance(MM)

يُبلغ الأمر distance.distance عن مسافة أقرب كائن من مستشعر المسافة. ويبلغ نطاق القياس من 24 ملم إلى 1000 ملم، أو من 1 بوصة إلى 40 بوصة.

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
    wait(20, MSEC)
drivetrain.stop()

في هذا المثال، يتم استخدام حلقة While مع شرط not مع الأمر distance.is_object_detected لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة وجود جسم. عندما يكتشف المستشعر وجود جسم ما، سيتوقف الروبوت عن القيادة.

في هذا المثال، يتم استخدام الأمر distance.distance مع الأمر brain.screen.print لعرض المسافة بين مستشعر المسافة وجسم ما على شاشة Brain. يظهر الأمر distance.distance أيضًا داخل حلقة While مع شرط not . سيؤدي هذا إلى قيام الروبوت بالقيادة حتى يكتشف مستشعر المسافة وجود جسم على بعد أقل من 50 مليمترًا، ثم يتوقف عن القيادة. يظهر هذا في الفيديو الأول أعلاه.

لمعرفة المزيد حول برمجة مستشعر المسافة في بايثون، راجع الوحدة 5 من دورة علوم الحاسوب المستوى 1 - بايثون. 

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

Last Updated: