Датчик об’єктів#
Вступ#
Клас objectdetector використовується для вимірювання відбивної здатності та виявлення об’єктів за допомогою датчика об’єктів.
Конструктор класів#
objectdetector(
triport::port &port,
bool bReverse = false );
Деструктор класів#
Знищує об’єкт objectdetector та звільняє пов’язані з ним ресурси.
virtual ~objectdetector();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
3-провідний порт, до якого підключено датчик об’єктів, записується як |
|
|
Додаткове логічне значення для зміни напрямку датчика об’єктів:
|
Приклади#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Функції-члени#
Клас objectdetector містить такі функції-члени:
reflectivity— Повертає відбивну здатність, виявлену датчиком об’єкта.isObjectDetected— Повертає, чи виявляє датчик об’єкта об’єкт.setDetectionThreshold— Встановлює діапазон виявлення датчика об’єктів.objectDetected— Реєструє функцію, яка викликається, коли датчик об’єктів виявляє об’єкт.objectLost— Реєструє функцію, яка викликається, коли Датчик об’єктів втрачає об’єкт.
Перед викликом будь-яких функцій-членів objectdetector необхідно створити екземпляр objectdetector , як показано нижче:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Повертає значення відбивної здатності, виміряне датчиком об’єкта.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Параметри |
Тип |
Опис |
|---|---|---|
|
|
Одиниця вимірювання, що представляє відбивну здатність:
|
Повертає значення int32_t , яке представляє відбивну здатність, виміряну детектором об’єктів, у відсотках у діапазоні від 0 до 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Повертає, чи виявлено об’єкт на даний момент детектором об’єктів.
Available Functionsbool isObjectDetected();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає логічне значення, яке вказує, чи виявлено об’єкт:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Встановлює певне значення порогу виявлення для детектора об’єктів.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Параметри |
Тип |
Опис |
|---|---|---|
|
|
Поріг відбивної здатності для виявлення об’єкта в діапазоні від 0 до 100. |
|
|
Одиниця, що представляє новий поріг:
|
Ця функція не повертає значення.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Реєструє функцію зворотного виклику для випадків виявлення об’єкта.
Available Functionsvoid objectDetected(void (* callback)(void));
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція зворотного виклику, яка викликається при виявленні об’єкта. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }Зареєструйте зворотний виклик всередині
int main()int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
Реєструє функцію зворотного виклику на випадок втрати об’єкта.
Available Functionsvoid objectLost(void (* callback)(void));
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція зворотного виклику, яка викликається у разі втрати об’єкта. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }Зареєструйте зворотний виклик всередині
int main()int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }