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

port

triport::port &

3vodičový port, ke kterému je připojen objektový senzor, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

bReverse

bool

Volitelná booleovská hodnota pro obrácení směru objektového senzoru:

  • false (výchozí) — Neobracet směr
  • true — Obrátit směr

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

Parameters

Parametry

Typ

Popis

units

percentUnits

Jednotka, která vyjadřuje odrazivost:

  • percent / pct — procenta

Return Values

Vrací hodnotu int32_t která představuje odrazivost měřenou detektorem objektů v procentech v rozsahu 0 - 100 %.

Examples
// 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 Functions
bool isObjectDetected();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací 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 Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

Parametry

Typ

Popis

threshold

int32_t

Práh odrazivosti pro detekci objektu v rozsahu 0–100.

units

percentUnits

Jednotka, která představuje novou prahovou hodnotu:

  • percent / pct — procenta

Return Values

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 Functions
void objectDetected(void (* callback)(void));

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Funkce zpětného volání, která se má volat při detekci objektu.

Return Values

Tato funkce nevrací hodnotu.

Examples
void 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 Functions
void objectLost(void (* callback)(void));

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Funkce zpětného volání, která se má volat při ztrátě objektu.

Return Values

Tato funkce nevrací hodnotu.

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

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