وصف
يقوم هذا المستشعر بإبلاغ المسافة بينه وبين أقرب جسم صلب (نطاق 50 مم - 1 متر). يقوم بحساب المسافة باستخدام الوقت الذي تستغرقه الموجات فوق الصوتية لترتد من جسم ما وتعود إلى المستشعر.
كيف يعمل مستشعر المسافة: الاستماع للمسافة
يستخدم مستشعر المسافة نفس مبادئ أجهزة السونار لقياس الصوت. يرسل الجهاز نبضة صغيرة من الموجات فوق الصوتية من خلال باعثه الموجود على أحد جانبي المستشعر، ثم يقيس الوقت الذي يستغرقه سماع الصوت وهو ينعكس إلى جهاز الاستقبال الموجود على الجانب الآخر من المستشعر. يقوم المستشعر بحساب المسافة بناءً على المدة التي استغرقتها نبضة الصوت للقيام بالرحلة ذهابًا وإيابًا. ثم يقوم مستشعر المسافة بإجراء عملية حسابية بناءً على سرعة الصوت لإخبار دماغ الروبوت بمدى بُعد أقرب جسم.
إذا لم يكن السطح مستوياً مثل جدار منحني أو كرة، فإن الموجة فوق الصوتية لا ترتد عن جميع الأجزاء بالتساوي أو في نفس الوقت. إن أقرب سطح كبير بما يكفي لعكس كمية قابلة للكشف من الموجة يحدد المسافة المكتشفة للجسم.
الاستخدامات الشائعة لمستشعر المسافة:
يمكن لهذا المستشعر اكتشاف ما إذا كان هناك جسم أمامه.
يمكن لهذا المستشعر قياس المسافة بينه وبين الجسم.
- يمكن للروبوت استخدام هذا المستشعر للقيادة لمسافة معينة بعيدًا عن الجسم. شاهد الرسوم المتحركة أدناه لرؤية تغير قيمة المسافة أثناء قيادة الروبوت حتى تصبح المسافة أقل من 160 ملم.
- يمكن للروبوت استخدام هذا المستشعر للقيادة إلى جسم ما دون لمسه. شاهد هذا الرسوم المتحركة لرؤية روبوتين يستخدمان أجهزة استشعار المسافة لتنسيق قيادتهما.
- يمكن استخدام القيم التي يوفرها هذا المستشعر لضبط سرعة الروبوت اعتمادًا على ما إذا كان قريبًا أو بعيدًا عن جسم أو سطح ما. شاهد هذا الرسم المتحرك لرؤية روبوت يتكيف بناءً على المسافة إلى الحائط.
استخدامات مستشعر المسافة في روبوت المنافسة
- يمكن للروبوت استخدام مستشعر المسافة لبدء سلسلة من السلوكيات عندما يكون في المكان الصحيح للقيام بذلك. على سبيل المثال، يمكن للروبوت أن يتحرك للأمام حتى يكتشف أنه على بعد 150 ملم من الحائط، ثم يدور بزاوية 90 درجة، ويطلق جسمًا في منطقة التسجيل.
- يمكن استخدام مستشعر المسافة لتحفيز إجراءات الروبوت، مثل التقاط قطعة لعبة، عند اكتشاف كائن داخل النطاق.
- يمكن للروبوت استخدام مستشعر المسافة للقيادة نحو جسم أو سطح حتى يصبح ضمن مسافة محددة، دون لمسه. يمكن استخدام هذا للتأكد من أن الروبوت لا يطرق قطع اللعبة.
- يمكن للروبوت استخدام مستشعر المسافة للابتعاد عن جسم ما أو سطح ما حتى يصل إلى مسافة محددة. يمكن استخدام هذا لتجنب الاصطدامات مع الروبوتات الأخرى في الميدان.
استخدام مستشعر المسافة في VEXcode IQ
إضافة مستشعر المسافة كجهاز في VEXcode IQ
لترميز مستشعر المسافة في VEXcode IQ، يجب عليك أولاً تكوين مستشعر المسافة. شاهد هذه المقالة لمعرفة المزيد حول تكوين المستشعر في VEXcode IQ.
بمجرد تكوين المستشعر، ستظهر الأوامر في صندوق الأدوات الذي يمكنك استخدامه في مشروعك.
ترميز مستشعر المسافة في الكتل
الكتلة <Object found> هي كتلة مراسلات منطقية تُبلغ عن حالة ما على أنها صحيحة أو خاطئة. الكتل المنطقية، مثل الكتلة <Object found> تتلاءم مع الكتل ذات المدخلات السداسية (ستة جوانب) للكتل الأخرى.
تشير الكتلة المنطقية <Object found> إلى الحالة "صحيح" إذا اكتشف المستشعر كائنًا، و"خطأ" إذا لم يقم المستشعر بذلك. لمعرفة المزيد حول الكتل المنطقية، قم بزيارة مقالة تعليمات أو أشكال الكتل والمعنى.
في هذا المثال، يتم استخدام الكتلة <Object found> مع كتلة [انتظر حتى] لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة شيئًا ما. عندما يكتشف المستشعر شيئًا ما، سيتوقف الروبوت عن القيادة، كما هو موضح في الصورة أعلاه.
تشير الكتلة (المسافة من) إلى مسافة أقرب كائن من مستشعر المسافة. ويبلغ نطاق القياس من 24 ملم إلى 1000 ملم، أو من 1 بوصة إلى 40 بوصة. كتلة (المسافة من) هي كتلة إبلاغ تُستخدم داخل الكتل ذات المساحات الدائرية.
في هذا المثال، يتم استخدام كتلة (المسافة من) مع كتلة [طباعة] لعرض المسافة بين مستشعر المسافة والكائن على شاشة Brain. تظهر الكتلة (المسافة من) أيضًا داخل الكتلة <Less than> الموجودة داخل الكتلة {Wait until}. سيؤدي هذا إلى قيام الروبوت بالقيادة حتى يكتشف مستشعر المسافة جسمًا على بعد أقل من 50 ملم، ثم يتوقف عن القيادة. وهذا ما يظهر في الفيديو الأول أعلاه.
ترميز مستشعر المسافة في بايثون
:لبرمجة مستشعر المسافة VEX IQ (الجيل الأول) في بايثون، يجب توصيله بـ VEX IQ (الجيل الثاني) Brain. لا يدعم جهاز VEX IQ (الجيل الأول) لغة بايثون.
distance_7.is_object_detected()يُبلغ الأمر distance.is_object_detected عن "صحيح" في حالة اكتشاف كائن، و"خطأ" في حالة عدم اكتشاف كائن.
ملاحظة:يتوافق اسم مستشعر المسافة الذي يظهر في الأمر مع الاسم الوارد في التكوين.
|
| في هذا المثال، يتم استخدام حلقةWhile مع شرط not مع الأمر distance.is_object_detected لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة وجود جسم. عندما يكتشف المستشعر وجود جسم ما، سيتوقف الروبوت عن القيادة، كما هو موضح في كود بايثون أعلاه. |
distance_7.distance(MM)يُبلغ الأمر distance.distance عن مسافة أقرب كائن من مستشعر المسافة. ويبلغ نطاق القياس من 24 ملم إلى 1000 ملم، أو من 1 بوصة إلى 40 بوصة.
|
|
في هذا المثال، يتم استخدام حلقة While مع شرط not مع الأمر distance.is_object_detected لجعل الروبوت يتحرك للأمام حتى يكتشف مستشعر المسافة وجود جسم. عندما يكتشف المستشعر وجود جسم ما، سيتوقف الروبوت عن القيادة. في هذا المثال، يتم استخدام الأمر distance.distance مع الأمر brain.screen.print لعرض المسافة بين مستشعر المسافة وجسم ما على شاشة Brain. يظهر الأمر distance.distance أيضًا داخل حلقة While مع شرط not . سيؤدي هذا إلى قيام الروبوت بالقيادة حتى يكتشف مستشعر المسافة وجود جسم على بعد أقل من 50 مليمترًا، ثم يتوقف عن القيادة. يظهر هذا في الفيديو الأول أعلاه. |