ഒബ്ജക്റ്റ് സെൻസർ#

ആമുഖം#

ഒബ്ജക്റ്റ് സെൻസറിന്റെ ഇൻഫ്രാറെഡ് (IR) പ്രകാശം ഉപയോഗിച്ച് പ്രതിഫലനക്ഷമത അളക്കുന്നതിനും വസ്തുക്കളെ കണ്ടെത്തുന്നതിനും objectdetector ക്ലാസ് ഉപയോഗിക്കുന്നു.

ക്ലാസ് കൺസ്ട്രക്റ്റർ#

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

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

objectdetector ഒബ്‌ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

virtual ~objectdetector();

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

port

triport::port &

ഒബ്ജക്റ്റ് സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, 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

0 - 100% ശ്രേണിയിൽ ഒബ്‌ജക്റ്റ് ഡിറ്റക്ടർ അളക്കുന്ന പ്രതിഫലനത്തെ പ്രതിനിധീകരിക്കുന്ന int32_t നൽകുന്നു.

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);