ഒബ്ജക്റ്റ് സെൻസർ#
ആമുഖം#
ഒബ്ജക്റ്റ് സെൻസറിന്റെ ഇൻഫ്രാറെഡ് (IR) പ്രകാശം ഉപയോഗിച്ച് പ്രതിഫലനക്ഷമത അളക്കുന്നതിനും വസ്തുക്കളെ കണ്ടെത്തുന്നതിനും objectdetector ക്ലാസ് ഉപയോഗിക്കുന്നു.
ക്ലാസ് കൺസ്ട്രക്റ്റർ#
objectdetector(
triport::port &port,
bool bReverse = false );
ക്ലാസ് ഡിസ്ട്രക്റ്റർ#
objectdetector ഒബ്ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.
virtual ~objectdetector();
പാരാമീറ്ററുകൾ#
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഒബ്ജക്റ്റ് സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, |
|
|
ഒബ്ജക്റ്റ് സെൻസറിന്റെ ദിശ റിവേഴ്സ് ചെയ്യുന്നതിനുള്ള ഒരു ഓപ്ഷണൽ ബൂളിയൻ:
|
ഉദാഹരണങ്ങൾ#
// 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 );
പാരാമീറ്ററുകൾ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
പ്രതിഫലനത്തെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്:
|
0 - 100% ശ്രേണിയിൽ ഒബ്ജക്റ്റ് ഡിറ്റക്ടർ അളക്കുന്ന പ്രതിഫലനത്തെ പ്രതിനിധീകരിക്കുന്ന int32_t നൽകുന്നു.
// 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));
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഒരു വസ്തു കണ്ടെത്തുമ്പോൾ വിളിക്കേണ്ട കോൾബാക്ക് ഫംഗ്ഷൻ. |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Examplesvoid detected() {
Brain.Screen.print("object detected");
}
// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);
objectLost#
ഒരു വസ്തു നഷ്ടപ്പെടുമ്പോൾ ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.
Available Functionsvoid objectLost(void (* callback)(void));
പാരാമീറ്റർ |
ടൈപ്പ് ചെയ്യുക |
വിവരണം |
|---|---|---|
|
|
ഒരു വസ്തു നഷ്ടപ്പെട്ടാൽ വിളിക്കേണ്ട കോൾബാക്ക് ഫംഗ്ഷൻ. |
ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.
Examplesvoid lost() {
Brain.Screen.print("object lost");
}
// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);