Датчик об’єктів#
Вступ#
Датчик об’єкта – це інфрачервоний (ІЧ) датчик наближення, який виявляє близькість об’єкта за допомогою відбитого ІЧ-світла.

На цій сторінці як приклад назви датчика об’єктів використовується object_sensor За потреби замініть її власною налаштованою назвою.
Нижче наведено список доступних методів:
reflectivity– Повертаєinteger, яке представляє кількість світла, відбитого від об’єкта, у відсотках.is_object_detected– Повертає, чи виявляє датчик об’єкта об’єкт.set_threshold– Встановлює кількість відбитого світла, необхідну для того, щоб об’єкт вважатися виявленим.object_detected– Реєструє функцію, яка викликається щоразу, коли Датчик об’єктів виявляє новий об’єкт.object_lost– Реєструє функцію, яка викликається щоразу, коли Датчик об’єктів втрачає виявлений об’єкт.changed– Реєструє функцію, яка викликається щоразу, коли змінюється значення Датчика об’єктів.
Конструктор – Ручна ініціалізація датчика об’єктів.
ObjectDetector– Створіть датчик об’єктів.
відбивна здатність#
reflectivity повертає integer, яке представляє кількість світла, відбитого від об’єкта, у відсотках.
Примітка:
0% відбивної здатності означає, що об’єкт дуже темний. Датчик бачить необроблене значення 3000 або вище.
100% відбивна здатність означає, що об’єкт дуже яскравий. Датчик бачить необроблене значення 0.
Usage:
object_sensor.reflectivity()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Drive forward when the reflectivity is greater than 50%.
while True:
if object_sensor.reflectivity() > 50:
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
виявлено_об’єкт#
is_object_detected повертає, чи виявляє датчик об’єкта об’єкт.
True– Датчик об’єкта виявляє об’єкт.False– Датчик об’єкта не виявляє об’єкт.
Usage:
object_sensor.is_object_detected()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
встановити_поріг#
set_threshold встановлює кількість відбитого світла у відсотках, необхідну для того, щоб об’єкт вважатися виявленим.
Usage:
object_sensor.set_threshold(value)
Параметри |
Опис |
|---|---|
|
Кількість відбитого світла, необхідна для того, щоб об’єкт можна було вважати цілим числом від 0 до 100. |
# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
if object_sensor.is_object_detected():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
виявлений_об’єкт#
object_detected реєструє функцію, яка викликається щоразу, коли датчик об’єктів виявляє новий об’єкт.
Usage:
object_sensor.object_detected(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли датчик об’єктів виявляє новий об’єкт. |
|
Необов’язково. Кортеж |
def my_function():
brain.screen.print("Object detected.")
# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)
втрачений_об’єкт#
object_lost реєструє функцію, яка викликається щоразу, коли датчик об’єктів втрачає виявлений об’єкт.
Usage:
object_sensor.object_lost(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена function, яка виконується, коли датчик об’єктів втрачає виявлений об’єкт. |
|
Необов’язково. Кортеж |
def my_function():
brain.screen.print("Object lost.")
# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)
змінився#
changed реєструє функцію, яка викликається щоразу, коли змінюється значення датчика об’єктів.
Usage:
object_sensor.changed(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена function, яка виконується, коли значення датчика об’єктів змінюється. |
|
Необов’язково. Кортеж |
def my_function():
brain.screen.print("Reflectivity changed.")
# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)
Конструктори#
Конструктори використовуються для ручного створення об’єктів ObjectDetector , які необхідні для налаштування датчиків об’єктів.
ObjectDetector#
ObjectDetector створює датчик об’єктів.
Usage:
ObjectDetector(port, reverse_det)
Параметр |
Опис |
|---|---|
|
3-провідний порт, до якого підключено датчик об’єктів:
|
|
Необов’язково. Чи слід змінювати логіку виявлення на зворотну:
|
# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)