مستشعر الجسم#

مقدمة#

تُستخدم فئة objectdetector لقياس الانعكاسية والكشف عن الأجسام باستخدام ضوء الأشعة تحت الحمراء (IR) الخاص بمستشعر الأجسام.

مُنشئ الفئة#

objectdetector( 
  triport::port &port, 
  bool           bReverse = false );

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

يقوم بتدمير الكائن objectdetector وتحرير الموارد المرتبطة به.

virtual ~objectdetector();

حدود#

المعلمة

يكتب

وصف

port

triport::port &

المنفذ ذو الأسلاك الثلاثة الذي يتصل به مستشعر الكائن، مكتوبًا على النحو التالي: Brain.ThreeWirePort.X أو ExpanderName.X، حيث X هو حرف المنفذ (على سبيل المثال، Brain.ThreeWirePort.A أو Expander1.A).

bReverse

bool

قيمة منطقية اختيارية لعكس اتجاه مستشعر الكائن:

  • false (افتراضي) — لا تعكس الاتجاه
  • true — اعكس الاتجاه

أمثلة#

// 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 Functions
int32_t reflectivity( 
  percentUnits units = percentUnits::pct );

Parameters

حدود

يكتب

وصف

units

percentUnits

الوحدة التي تمثل الانعكاسية:

  • percent بالمئة pct بالمئة

Return Values

تُرجع قيمة int32_t تمثل الانعكاسية التي تم قياسها بواسطة كاشف الأجسام كنسبة مئوية في النطاق 0 - 100%.

Examples
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);

isObjectDetected#

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

Available Functions
bool isObjectDetected();

Parameters

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

Return Values

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

  • true — An object is detected.
  • false — No object is detected.

setDetectionThreshold#

يضبط عتبة الكشف لكاشف الأجسام على قيمة محددة.

Available Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

حدود

يكتب

وصف

threshold

int32_t

عتبة الانعكاسية للكشف عن الأجسام، في النطاق من 0 إلى 100.

units

percentUnits

الوحدة التي تمثل العتبة الجديدة:

  • percent بالمئة pct بالمئة

Return Values

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

Examples
// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);

objectDetected#

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

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

دالة الاستدعاء التي سيتم استدعاؤها عند اكتشاف كائن ما.

Return Values

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

Examples
void detected() {
  Brain.Screen.print("object detected");
}

// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);

objectLost#

يسجل دالة رد نداء عند فقدان كائن ما.

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

دالة الاستدعاء التي يتم استدعاؤها عند فقدان كائن ما.

Return Values

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

Examples
void lost() {
  Brain.Screen.print("object lost");
}

// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);