استخدام مستشعر المسافة 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 المسافة بالملليمتر.

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

 

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

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

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

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

المسافة_7.تم اكتشاف الكائن ()

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

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

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

يُبلغ الأمر 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()

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

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

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

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

Last Updated: