Objektový senzor#
Zavedení#
Třída objectdetector se používá k měření odrazivosti a detekci objektů pomocí infračerveného (IR) světla senzoru objektů.
Konstruktor třídy#
objectdetector(
triport::port &port,
bool bReverse = false );
Destruktor tříd#
Zničí objekt objectdetector a uvolní přidružené prostředky.
virtual ~objectdetector();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
3vodičový port, ke kterému je připojen objektový senzor, zapsaný jako |
|
|
Volitelná booleovská hodnota pro obrácení směru objektového senzoru:
|
Příklady#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Členské funkce#
Třída objectdetector obsahuje následující členské funkce:
reflectivity— Vrátí odrazivost detekovanou senzorem objektů.isObjectDetected— Vrátí, zda senzor objektů detekuje objekt.setDetectionThreshold— Nastaví detekční dosah senzoru objektů.objectDetected— Registruje funkci, která má být volána, když senzor objektů detekuje objekt.objectLost— Registruje funkci, která se má zavolat, když senzor objektů ztratí objekt.
Před voláním jakékoli členské funkce objectdetector musí být vytvořena instance objectdetector , jak je znázorněno níže:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Vrátí odrazivost naměřenou senzorem objektů.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Jednotka, která vyjadřuje odrazivost:
|
Vrací hodnotu int32_t která představuje odrazivost měřenou detektorem objektů v procentech v rozsahu 0 - 100 %.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Vrátí, zda je objekt aktuálně detekován detektorem objektů.
Available Functionsbool isObjectDetected();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací booleovskou hodnotu označující, zda byl detekován objekt:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Nastaví prahovou hodnotu detekce pro detektor objektů na specifickou hodnotu.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Parametry |
Typ |
Popis |
|---|---|---|
|
|
Práh odrazivosti pro detekci objektu v rozsahu 0–100. |
|
|
Jednotka, která představuje novou prahovou hodnotu:
|
Tato funkce nevrací hodnotu.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Zaregistruje funkci zpětného volání pro případ detekce objektu.
Available Functionsvoid objectDetected(void (* callback)(void));
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce zpětného volání, která se má volat při detekci objektu. |
Tato funkce nevrací hodnotu.
Examplesvoid detected() {
Brain.Screen.print("object detected");
}
// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);
objectLost#
Zaregistruje funkci zpětného volání pro případ ztráty objektu.
Available Functionsvoid objectLost(void (* callback)(void));
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Funkce zpětného volání, která se má volat při ztrátě objektu. |
Tato funkce nevrací hodnotu.
Examplesvoid lost() {
Brain.Screen.print("object lost");
}
// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);