Objekto jutiklis#

Įvadas#

objectdetector klasė naudojama objektų jutiklio infraraudonųjų spindulių (IR) šviesai atspindėti ir aptikti objektus.

Klasės konstruktorius#

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

Klasės destruktorius#

Sunaikina objectdetector objektą ir išlaisvina susijusius išteklius.

virtual ~objectdetector();

Parametrai#

Parametras

Tipas

Aprašymas

port

triport::port &

3 laidų prievadas, prie kurio prijungtas objekto jutiklis, užrašomas kaip Brain.ThreeWirePort.X arba ExpanderName.X, kur X yra prievado raidė (pavyzdžiui, Brain.ThreeWirePort.A arba Expander1.A).

bReverse

bool

Pasirinktinė loginė reikšmė, skirta pakeisti objekto jutiklio kryptį:

  • false (numatytasis) — Nekeisti krypties
  • true — Keisti kryptį

Pavyzdžiai#

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

Narių funkcijos#

objectdetector klasė apima šias narines funkcijas:

  • reflectivity – Grąžina objekto jutiklio aptiktą atspindumą.

  • isObjectDetected — Grąžina, ar objekto jutiklis aptinka objektą.

  • setDetectionThreshold — Nustato objekto jutiklio aptikimo diapazoną.

  • objectDetected — Registruoja funkciją, kuri bus iškviesta, kai objektų jutiklis aptiks objektą.

  • objectLost — Registruoja funkciją, kuri bus iškviečiama, kai objektų jutiklis pames objektą.

Prieš iškviečiant bet kokias objectdetector nario funkcijas, reikia sukurti objectdetector egzempliorių, kaip parodyta žemiau:

// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);

reflectivity#

Grąžina objekto jutiklio išmatuotą atspindumo rodiklį.

Available Functions
int32_t reflectivity( 
  percentUnits units = percentUnits::pct );

Parameters

Parametrai

Tipas

Aprašymas

units

percentUnits

Atspindumo vienetas:

  • percent / pct — procentų

Return Values

Grąžina int32_t , rodantį objekto detektoriaus išmatuotą atspindumą procentais nuo 0 iki 100 %.

Examples
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);

isObjectDetected#

Grąžina, ar objektų detektorius šiuo metu aptinka objektą.

Available Functions
bool isObjectDetected();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią, ar objektas aptiktas:

  • true — An object is detected.
  • false — No object is detected.

setDetectionThreshold#

Nustato objekto detektoriaus aptikimo slenkstį į konkrečią reikšmę.

Available Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

Parametrai

Tipas

Aprašymas

threshold

int32_t

Objekto aptikimo atspindžio slenkstis yra 0–100 diapazone.

units

percentUnits

Vienetas, atitinkantis naują ribą:

  • percent / pct — procentai

Return Values

Ši funkcija negrąžina reikšmės.

Examples
// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);

objectDetected#

Registruoja atgalinio iškvietimo funkciją, kai aptinkamas objektas.

Available Functions
void objectDetected(void (* callback)(void));

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Atgalinio iškvietimo funkcija, kuri iškviečiama aptikus objektą.

Return Values

Ši funkcija negrąžina reikšmės.

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

// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);

objectLost#

Registruoja atgalinio iškvietimo funkciją, kai objektas prarandamas.

Available Functions
void objectLost(void (* callback)(void));

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Atgalinio iškvietimo funkcija, kuri iškviečiama, kai objektas prarandamas.

Return Values

Ši funkcija negrąžina reikšmės.

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

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