مستشعر المسافة#
مقدمة#
تُستخدم فئة السونار 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();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ الذكي الذي يتصل به مستشعر المسافة، مكتوبًا على النحو التالي: |
أمثلة#
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 Functionsbool foundObject();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesيُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة يكتشف جسمًا ما:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
يُعيد المسافة بين مستشعر المسافة وأقرب جسم تم اكتشافه.
Available Functionsdouble distance( distanceUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس المسافة:
|
يُرجع قيمة double تمثل المسافة بين مستشعر المسافة وأقرب جسم تم اكتشافه بالوحدات المحددة.
objectDistance#
يُعيد المسافة بين مستشعر المسافة وأقرب جسم تم اكتشافه.
Available Functionsdouble objectDistance( distanceUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس المسافة:
|
يُرجع قيمة double تمثل المسافة بين مستشعر المسافة وأقرب جسم تم اكتشافه بالوحدات المحددة.
objectVelocity#
يعيد السرعة النسبية للجسم المكتشف.
تُظهر السرعة مدى سرعة تحرك الجسم باتجاه مستشعر المسافة أو ابتعاده عنه. تشير القيمة القريبة من الصفر إلى أن الجسم لا يتحرك كثيرًا بالنسبة للمستشعر.
Available Functionsdouble objectVelocity();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesتُرجع قيمة double تمثل السرعة النسبية للجسم المكتشف بوحدة م/ث (متر في الثانية).
objectSize#
يُعيد الحجم المُقدّر للكائن الذي تم اكتشافه بواسطة مستشعر المسافة.
يقوم مستشعر المسافة بتقدير حجم الجسم بناءً على مقدار مجال رؤية المستشعر الذي يشغله الجسم المكتشف.
Available FunctionssizeType objectSize();
لا تأخذ هذه الدالة أي معلمات.
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.
isObjectDetected#
تُرجع هذه الدالة ما إذا كان مستشعر المسافة يكتشف حاليًا وجود جسم ما.
Available Functionsbool isObjectDetected();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesيُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة يكتشف جسمًا ما:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
يسجل دالة رد نداء يتم تشغيلها عند تغير قيمة المسافة المكتشفة.
Available Functionsvoid changed( void (* callback)(void) );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
مؤشر إلى دالة سيتم استدعاؤها عند تغير قيمة المسافة المكتشفة. يجب ألا تأخذ الدالة أي معلمات وأن تُرجع القيمة |
هذه الدالة لا تُرجع قيمة.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
يُرجع ما إذا كان مستشعر المسافة مثبتًا ومتصلًا.
Available Functionsbool installed();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesيُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة مثبتًا ومتصلًا أم لا:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.