مستشعر المسافة#

مقدمة#

تُستخدم فئة المسافة distance للتحكم في البيانات والوصول إليها من مستشعر المسافة.

يستطيع مستشعر المسافة اكتشاف ما إذا كان هناك جسم أمامه، وتحديد المسافة التي تفصله عنه. كما يمكنه أيضًا تحديد سرعته النسبية، وتقدير حجمه (صغير، متوسط، كبير).

يعمل مستشعر المسافة ضمن نطاق يتراوح من 20 مم إلى 2000 مم.

عند مسافة أقل من 200 مم، تكون الدقة حوالي ±15 مم. أما عند مسافة أعلى من 200 مم، فتتحسن الدقة لتصل إلى حوالي 5%.

يستخدم مستشعر المسافة ليزرًا من الفئة 1. يتم توجيه الكشف للأمام مباشرة وهو آمن للاستخدام في الفصول الدراسية.

مُنشئات الفئات#

distance( int32_t  index );

مُدمِّر الفئة#

يدمر الكائن ذو المسافة distance ويحرر الموارد المرتبطة به.

~distance();

حدود#

المعلمة

يكتب

وصف

index

int32_t

المنفذ الذكي الذي يتصل به مستشعر المسافة، مكتوبًا على النحو التالي: PORTx، حيث x هو رقم المنفذ (على سبيل المثال، PORT1).

أمثلة#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

الدوال الأعضاء#

تتضمن فئة المسافة distance الدوال الأعضاء التالية:

  • objectDistance — تُرجع المسافة بين مستشعر المسافة وأقرب كائن تم اكتشافه.

  • objectSize — تُرجع الحجم المُقدَّر للكائن المكتشف.

  • objectVelocity — تُرجع مدى سرعة تحرك الجسم المكتشف باتجاه أو بعيدًا عن مستشعر المسافة.

  • isObjectDetected — تُرجع ما إذا كان مستشعر المسافة يكتشف حاليًا وجود جسم ما.

  • changed — يسجل دالة رد نداء يتم تشغيلها عند تغيير قيمة المسافة المكتشفة.

  • installed — إرجاع ما إذا كان مستشعر المسافة مثبتًا ومتصلًا.

قبل استدعاء أي من الدوال الأعضاء ذات المسافة distance ، يجب إنشاء نسخة ذات مسافة distance ، كما هو موضح أدناه:

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

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

Available Functions
double objectDistance( distanceUnits units );

Parameters

المعلمة

يكتب

وصف

units

distanceUnits

وحدة قياس المسافة:

  • mm - مليمترات (من 20 مم إلى 2000 مم)
  • cm - سنتيمترات (من 2 سم إلى 200 سم)
  • inches - بوصات (من 0.78 بوصة إلى 78.74 بوصة)

Return Values

يُرجع قيمة double تمثل المسافة بين مستشعر المسافة وأقرب جسم تم اكتشافه بالوحدات المحددة.

objectSize#

يُعيد الحجم المُقدّر للكائن الذي تم اكتشافه بواسطة مستشعر المسافة.

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

Available Functions
sizeType objectSize();

Parameters

لا تأخذ هذه الدالة أي معلمات.

Return Values

يُرجع قيمة sizeType تشير إلى الحجم المُقدّر للكائن المُكتشف:

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

يعيد السرعة النسبية للجسم المكتشف.

تُظهر السرعة مدى سرعة تحرك الجسم باتجاه مستشعر المسافة أو ابتعاده عنه. تشير القيمة القريبة من الصفر إلى أن الجسم لا يتحرك كثيرًا بالنسبة للمستشعر.

Available Functions
double objectVelocity();

Parameters

لا تأخذ هذه الدالة أي معلمات.

Return Values

تُرجع قيمة double تمثل السرعة النسبية للجسم المكتشف بوحدة م/ث (متر في الثانية).

isObjectDetected#

تُرجع هذه الدالة ما إذا كان مستشعر المسافة يكتشف حاليًا وجود جسم ما.

Available Functions
bool isObjectDetected();

Parameters

لا تأخذ هذه الدالة أي معلمات.

Return Values

يُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة يكتشف جسمًا ما:

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

يسجل دالة رد نداء يتم تشغيلها عند تغير قيمة المسافة المكتشفة.

Available Functions
void changed( void (* callback)(void) );

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

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

Return Values

هذه الدالة لا تُرجع قيمة.

installed#

يُرجع ما إذا كان مستشعر المسافة مثبتًا ومتصلًا.

Available Functions
bool installed();

Parameters

لا تأخذ هذه الدالة أي معلمات.

Return Values

يُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة مثبتًا ومتصلًا أم لا:

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.