Tárgyérzékelő#
Bevezetés#
Az objectdetector osztályt a fényvisszaverődés mérésére és az objektumérzékelő általi objektumok észlelésére használják.
Osztálykonstruktor#
objectdetector(
triport::port &port,
bool bReverse = false );
Osztálydestruktor#
Megsemmisíti a objectdetector objektumot és felszabadítja a hozzá tartozó erőforrásokat.
virtual ~objectdetector();
Paraméterek#
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A 3 vezetékes port, amelyhez az objektumérzékelő csatlakozik, a következőképpen írva: |
|
|
Egy opcionális logikai érték az objektumérzékelő irányának megfordításához:
|
Példák#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Tagfüggvények#
Az objectdetector osztály a következő tagfüggvényeket tartalmazza:
reflectivity— Visszaadja az objektumérzékelő által érzékelt fényvisszaverő képességet.isObjectDetected— Visszaadja, hogy az objektumérzékelő érzékelt-e objektumot.setDetectionThreshold— Beállítja az objektumérzékelő érzékelési tartományát.objectDetected— Regisztrál egy függvényt, amely akkor hívódik meg, amikor az objektumérzékelő objektumot érzékel.objectLost— Regisztrál egy függvényt, amely akkor hívódik meg, amikor az objektumérzékelő elveszít egy objektumot.
Mielőtt bármilyen objectdetector tagfüggvényt meghívnánk, létre kell hozni egy objectdetector példányt, az alábbiak szerint:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Visszaadja az objektumérzékelő által mért fényvisszaverő képességet.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Paraméterek |
Típus |
Leírás |
|---|---|---|
|
|
A fényvisszaverő képességet kifejező mértékegység:
|
int32_t értéket ad vissza, amely az objektumdetektor által mért fényvisszaverő képességet jelenti százalékban, 0 és 100% között.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Visszaadja, hogy az objektumdetektor jelenleg észlel-e egy objektumot.
Available Functionsbool isObjectDetected();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy logikai értéket ad vissza, amely jelzi, hogy a rendszer észlelt-e egy objektumot:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Beállítja az objektumdetektor érzékelési küszöbértékét egy adott értékre.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Paraméterek |
Típus |
Leírás |
|---|---|---|
|
|
A tárgyérzékelés visszaverődési küszöbértéke 0 és 100 között. |
|
|
Az új küszöbértéket képviselő mértékegység:
|
Ez a függvény nem ad vissza értéket.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Visszahívó függvényt regisztrál, amikor egy objektumot észlel.
Available Functionsvoid objectDetected(void (* callback)(void));
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A visszahívó függvény, amelyet egy objektum észlelésekor kell meghívni. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniáljuk a visszahívó függvényt (
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }Regisztrálja a visszahívást a
int main()függvényen belül.int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
Visszahívó függvényt regisztrál, amikor egy objektum elveszik.
Available Functionsvoid objectLost(void (* callback)(void));
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az objektum elvesztése esetén meghívandó visszahívó függvény. |
Ez a függvény nem ad vissza értéket.
ExamplesDefiniáljuk a visszahívó függvényt (
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }Regisztrálja a visszahívást a
int main()függvényen belül.int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }