Objekta sensors#

Ievads#

objectdetector klase tiek izmantota, lai mērītu atstarošanos un noteiktu objektus ar objektu sensora infrasarkano (IR) gaismu.

Klases konstruktors#

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

Klases iznīcinātājs#

Iznīcina objectdetector objektu un atbrīvo saistītos resursus.

virtual ~objectdetector();

Parametri#

Parametrs

Tips

Apraksts

port

triport::port &

3 vadu ports, kuram ir pievienots objekta sensors, kas pierakstīts kā Brain.ThreeWirePort.X vai ExpanderName.X, kur X ir porta burts (piemēram, Brain.ThreeWirePort.A vai Expander1.A).

bReverse

bool

Papildu Būla vērtība objekta sensora virziena maiņai:

  • false (noklusējums) — Nemainīt virzienu
  • true — Mainīt virzienu

Piemēri#

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

Dalībnieku funkcijas#

Klase objectdetector ietver šādas dalībfunkcijas:

  • reflectivity — Atgriež objekta sensora noteikto atstarošanas spēju.

  • isObjectDetected — Atgriež, vai objekta sensors ir noteicis objektu.

  • setDetectionThreshold — Iestata objekta sensora noteikšanas diapazonu.

  • objectDetected — Reģistrē funkciju, kas jāizsauc, kad objekta sensors nosaka objektu.

  • objectLost — Reģistrē funkciju, kas jāizsauc, kad objekta sensors pazaudē objektu.

Pirms jebkuru objectdetector dalībfunkciju izsaukšanas ir jāizveido objectdetector instance, kā parādīts zemāk:

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

reflectivity#

Atgriež objekta sensora izmērīto atstarošanas spēju.

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

Parameters

Parametri

Tips

Apraksts

units

percentUnits

Atstarošanas spēju attēlojošā mērvienība:

  • percent / pct — procenti

Return Values

Atgriež int32_t kas attēlo objekta detektora izmērīto atstarošanas spēju procentos diapazonā no 0 līdz 100%.

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

isObjectDetected#

Atgriež, vai objektu pašlaik nosaka objektu detektors.

Available Functions
bool isObjectDetected();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Atgriež Būla vērtību, kas norāda, vai objekts ir atklāts:

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

setDetectionThreshold#

Iestata objektu detektora noteikšanas slieksni uz noteiktu vērtību.

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

Parameters

Parametri

Tips

Apraksts

threshold

int32_t

Objektu noteikšanas atstarošanas slieksnis diapazonā no 0 līdz 100.

units

percentUnits

Vienība, kas apzīmē jauno slieksni:

  • percent / pct — procenti

Return Values

Šī funkcija neatgriež vērtību.

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

objectDetected#

Reģistrē atzvanīšanas funkciju, kad tiek atklāts objekts.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Atzvanīšanas funkcija, kas jāizsauc, kad tiek atklāts objekts.

Return Values

Šī funkcija neatgriež vērtību.

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

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

objectLost#

Reģistrē atzvanīšanas funkciju objekta pazaudēšanas gadījumā.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Atzvanīšanas funkcija, kas jāizsauc, ja objekts tiek pazaudēts.

Return Values

Šī funkcija neatgriež vērtību.

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

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