Objektianturi#

Johdanto#

objectdetector -luokkaa käytetään heijastavuuden mittaamiseen ja objektianturin havaitsemaan kohteita.

Luokan rakentaja#

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

Luokan tuhoaja#

Tuhoaa objectdetector -objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~objectdetector();

Parametrit#

Parametri

Tyyppi

Kuvaus

port

triport::port &

3-johtiminen portti, johon objektianturi on kytketty, kirjoitetaan muodossa Brain.ThreeWirePort.X tai ExpanderName.X, jossa X on portin kirjain (esimerkiksi Brain.ThreeWirePort.A tai Expander1.A).

bReverse

bool

Valinnainen totuusarvo objektianturin suunnan kääntämiseksi:

  • false (oletus) — Älä käännä suuntaa
  • true — Käännä suunta

Esimerkkejä#

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

Jäsenten toiminnot#

Luokka objectdetector sisältää seuraavat jäsenfunktiot:

  • reflectivity — Palauttaa objektianturin havaitseman heijastavuuden.

  • isObjectDetected — Palauttaa, havaitseeko objektianturi objektin.

  • setDetectionThreshold — Asettaa objektianturin tunnistusalueen.

  • objectDetected — Rekisteröi funktion, jota kutsutaan, kun objektianturi havaitsee objektin.

  • objectLost — Rekisteröi funktion, jota kutsutaan, kun objektianturi kadottaa objektin.

Ennen minkään objectdetector -jäsenfunktion kutsumista on luotava objectdetector -instanssi alla olevan mukaisesti:

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

reflectivity#

Palauttaa objektianturin mittaaman heijastavuuden.

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

Parameters

Parametrit

Tyyppi

Kuvaus

units

percentUnits

Heijastavuutta kuvaava yksikkö:

  • percent / pct — prosenttia

Return Values

Palauttaa arvon int32_t joka edustaa objektinilmaisimen mittaamaa heijastavuutta prosentteina väliltä 0–100 %.

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

isObjectDetected#

Palauttaa, onko objektinilmaisin havainnut objektin tällä hetkellä.

Available Functions
bool isObjectDetected();

Parameters

Tämä funktio ei ota vastaan ​​parametreja.

Return Values

Palauttaa totuusarvon, joka ilmaisee, onko objekti havaittu:

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

setDetectionThreshold#

Asettaa objektitunnistimen tunnistyskynnyksen tiettyyn arvoon.

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

Parameters

Parametrit

Tyyppi

Kuvaus

threshold

int32_t

Kohteen havaitsemisen heijastuskynnys välillä 0–100.

units

percentUnits

Uutta kynnysarvoa edustava yksikkö:

  • percent / pct — prosenttia

Return Values

Tämä funktio ei palauta arvoa.

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

objectDetected#

Rekisteröi takaisinkutsufunktion, kun objekti havaitaan.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Takaisinkutsufunktio, jota kutsutaan, kun objekti havaitaan.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

// Display a message when an object is detected.
void detected() {
  Brain.Screen.print("object detected");
}

Rekisteröi takaisinkutsu int main()

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

objectLost#

Rekisteröi takaisinkutsufunktion, kun objekti katoaa.

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

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Takaisinkutsufunktio, jota kutsutaan, kun objekti katoaa.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

// Display a message when an object is lost.
void lost() {
  Brain.Screen.print("object lost");
}

Rekisteröi takaisinkutsu int main()

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