مستشعر الجسم#
مقدمة#
تُستخدم فئة objectdetector لقياس الانعكاسية واكتشاف الأجسام بواسطة مستشعر الأجسام.
مُنشئ الفئة#
objectdetector(
triport::port &port,
bool bReverse = false );
مُدمِّر الفئة#
يقوم بتدمير الكائن objectdetector وتحرير الموارد المرتبطة به.
virtual ~objectdetector();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ ذو الأسلاك الثلاثة الذي يتصل به مستشعر الكائن، مكتوبًا على النحو التالي: |
|
|
قيمة منطقية اختيارية لعكس اتجاه مستشعر الكائن:
|
أمثلة#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
الدوال الأعضاء#
تتضمن فئة objectdetector الدوال الأعضاء التالية:
reflectivity— تُرجع الانعكاسية التي تم اكتشافها بواسطة مستشعر الجسم.isObjectDetected— تُرجع ما إذا كان مستشعر الكائن يكتشف كائنًا أم لا.setDetectionThreshold— يحدد نطاق الكشف لمستشعر الكائن.objectDetected— يسجل دالة ليتم استدعاؤها عندما يكتشف مستشعر الكائن كائنًا.objectLost— يسجل دالة يتم استدعاؤها عندما يفقد مستشعر الكائن كائنًا.
قبل استدعاء أي من الدوال الأعضاء في كائن objectdetector ، يجب إنشاء مثيل لكائن objectdetector ، كما هو موضح أدناه:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
يعيد هذا الأمر قيمة الانعكاسية التي يقيسها مستشعر الجسم.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
حدود |
يكتب |
وصف |
|---|---|---|
|
|
الوحدة التي تمثل الانعكاسية:
|
تُرجع قيمة int32_t تمثل الانعكاسية التي تم قياسها بواسطة كاشف الأجسام كنسبة مئوية في النطاق 0 - 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
يُرجع ما إذا كان الكائن مكتشفًا حاليًا بواسطة كاشف الكائنات.
Available Functionsbool isObjectDetected();
لا تأخذ هذه الدالة أي معلمات.
Return Valuesيُرجع قيمة منطقية تشير إلى ما إذا تم اكتشاف كائن ما:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
يضبط عتبة الكشف لكاشف الأجسام على قيمة محددة.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
حدود |
يكتب |
وصف |
|---|---|---|
|
|
عتبة الانعكاسية للكشف عن الأجسام، في النطاق من 0 إلى 100. |
|
|
الوحدة التي تمثل العتبة الجديدة:
|
هذه الدالة لا تُرجع قيمة.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
يسجل دالة رد نداء عند اكتشاف كائن ما.
Available Functionsvoid objectDetected(void (* callback)(void));
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
دالة الاستدعاء التي سيتم استدعاؤها عند اكتشاف كائن ما. |
هذه الدالة لا تُرجع قيمة.
Examplesعرّف دالة الاستدعاء (خارج نطاق
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية
int main()int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
يسجل دالة رد نداء عند فقدان كائن ما.
Available Functionsvoid objectLost(void (* callback)(void));
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
دالة الاستدعاء التي يتم استدعاؤها عند فقدان كائن ما. |
هذه الدالة لا تُرجع قيمة.
Examplesعرّف دالة الاستدعاء (خارج نطاق
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية
int main()int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }