Objectsensor#
Invoering#
De objectdetectorklasse objectdetector worden gebruikt om reflectiviteit te meten en objecten te detecteren door de objectsensor.
Klasseconstructor#
objectdetector(
triport::port &port,
bool bReverse = false );
Klasse-destructor#
Vernietigt het objectdetector objectdetector object en geeft de bijbehorende resources vrij.
virtual ~objectdetector();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De 3-draads poort waarop de objectsensor is aangesloten, wordt weergegeven als |
|
|
Een optionele booleanwaarde om de richting van de objectsensor om te keren:
|
Voorbeelden#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Lidfuncties#
De objectdetectorklasse objectdetector lidfuncties:
reflectivity— Geeft de reflectiviteit terug die door de objectsensor is gedetecteerd.isObjectDetected— Geeft aan of de objectsensor een object detecteert.setDetectionThreshold— Stelt het detectiebereik van de objectsensor in.objectDetected— Registreert een functie die moet worden aangeroepen wanneer de objectsensor een object detecteert.objectLost— Registreert een functie die moet worden aangeroepen wanneer de objectsensor een object verliest.
Before calling any objectdetector member functions, a objectdetector instance must be created, as shown below:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Geeft de reflectiviteit terug die door de objectsensor is gemeten.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De eenheid die de reflectiviteit weergeeft:
|
Retourneert een int32_t die de reflectiviteit weergeeft, gemeten door de objectdetector als een percentage in het bereik van 0 - 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Geeft aan of er momenteel een object wordt gedetecteerd door de objectdetector.
Available Functionsbool isObjectDetected();
Deze functie accepteert geen parameters.
Return ValuesRetourneert een Booleaanse waarde die aangeeft of een object is gedetecteerd:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Stelt de detectiedrempel voor de objectdetector in op een specifieke waarde.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Parameters |
Type |
Beschrijving |
|---|---|---|
|
|
De reflectiviteitsdrempel voor objectdetectie ligt tussen 0 en 100. |
|
|
De eenheid die de nieuwe drempelwaarde vertegenwoordigt:
|
Deze functie retourneert geen waarde.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Registreert een callbackfunctie die wordt aangeroepen wanneer een object wordt gedetecteerd.
Available Functionsvoid objectDetected(void (* callback)(void));
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De callbackfunctie die wordt aangeroepen wanneer een object wordt gedetecteerd. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }Registreer de callback binnen
int main()int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
Registreert een callbackfunctie voor het geval een object verloren gaat.
Available Functionsvoid objectLost(void (* callback)(void));
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De callbackfunctie die wordt aangeroepen wanneer een object verloren gaat. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }Registreer de callback binnen
int main()int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }