مستشعر المسافة#
مقدمة#
تُستخدم فئة المسافة distance للتحكم في البيانات والوصول إليها من مستشعر المسافة.
يستطيع مستشعر المسافة اكتشاف ما إذا كان هناك جسم أمامه، وتحديد المسافة التي تفصله عنه. كما يمكنه أيضًا تحديد سرعته النسبية، وتقدير حجمه (صغير، متوسط، كبير).
يعمل مستشعر المسافة ضمن نطاق يتراوح من 20 مم إلى 2000 مم.
عند مسافة أقل من 200 مم، تكون الدقة حوالي ±15 مم. أما عند مسافة أعلى من 200 مم، فتتحسن الدقة لتصل إلى حوالي 5%.
يستخدم مستشعر المسافة ليزرًا من الفئة 1. يتم توجيه الكشف للأمام مباشرة وهو آمن للاستخدام في الفصول الدراسية.
مُنشئات الفئات#
distance( int32_t index );
مُدمِّر الفئة#
يدمر الكائن ذو المسافة distance ويحرر الموارد المرتبطة به.
~distance();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ الذكي الذي يتصل به مستشعر المسافة، مكتوبًا على النحو التالي: |
أمثلة#
// 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 Functionsdouble objectDistance( distanceUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
وحدة قياس المسافة:
|
يُرجع قيمة 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.
objectVelocity#
يعيد السرعة النسبية للجسم المكتشف.
تُظهر السرعة مدى سرعة تحرك الجسم باتجاه مستشعر المسافة أو ابتعاده عنه. تشير القيمة القريبة من الصفر إلى أن الجسم لا يتحرك كثيرًا بالنسبة للمستشعر.
Available Functionsdouble objectVelocity();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesتُرجع قيمة double تمثل السرعة النسبية للجسم المكتشف بوحدة م/ث (متر في الثانية).
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) );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
مؤشر إلى دالة سيتم استدعاؤها عند تغير قيمة المسافة المكتشفة. يجب ألا تأخذ الدالة أي معلمات وأن تُرجع القيمة |
هذه الدالة لا تُرجع قيمة.
installed#
يُرجع ما إذا كان مستشعر المسافة مثبتًا ومتصلًا.
Available Functionsbool installed();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesيُرجع قيمة منطقية تشير إلى ما إذا كان مستشعر المسافة مثبتًا ومتصلًا أم لا:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.