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

مقدمة#

تُستخدم فئة السونار sonar مع مستشعر المسافة VEX IQ (الجيل الأول). وتُستخدم فئة المسافة distance مع مستشعر المسافة VEX IQ (الجيل الثاني).

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

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

1 — يقوم هذا المُنشئ بإنشاء مستشعر مسافة VEX IQ (الجيل الأول).

sonar(
    int32_t index);

2 — يقوم هذا المُنشئ بإنشاء مستشعر مسافة VEX IQ (الجيل الثاني).

distance(
    int32_t index);

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

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

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

~sonar();

2 — يدمر مستشعر المسافة VEX IQ (الجيل الثاني).

~distance();

حدود#

المعلمة

يكتب

وصف

index

int32_t

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

أمثلة#

1 — قم بإنشاء مثيل لمستشعر المسافة VEX IQ (الجيل الأول) في المنفذ 1.

sonar Distance1 = sonar(PORT1);

2 — قم بإنشاء مثيل لمستشعر المسافة VEX IQ (الجيل الثاني) في المنفذ 1.

distance Distance1 = distance(PORT1);

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

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

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

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

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

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

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

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

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

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

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

قبل استدعاء أي من وظائف الأعضاء distance أو sonar ، يجب إنشاء مثيل distance أو sonar ، كما هو موضح أدناه:

/* 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 VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);

foundObject#

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

Available Functions
bool foundObject();

Parameters

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

Return Values

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

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (1st gen) function.

distance#

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

Available Functions
double distance( distanceUnits units );

Parameters

المعلمة

يكتب

وصف

units

distanceUnits

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

  • mm — مليمترات (من 24 مم إلى 1000 مم)
  • cm — سنتيمترات (من 2.4 سم إلى 100 سم)
  • inches — بوصات (من 1 بوصة إلى 40 بوصة)

Return Values

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

Notes - This is a VEX IQ Distance Sensor (1st gen) function.

objectDistance#

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

Available Functions
double objectDistance( distanceUnits units );

Parameters

المعلمة

يكتب

وصف

units

distanceUnits

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

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

objectVelocity#

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

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

Available Functions
double objectVelocity();

Parameters

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

isObjectDetected#

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

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

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

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.
Notes - This is a VEX IQ Distance Sensor (2nd gen) function.

changed#

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

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

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

Return Values

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

Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.

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.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.