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