Оптичний датчик#
Вступ#
Оптичний датчик V5 виявляє колір, яскравість та присутність об’єктів поблизу за допомогою комбінації кольорового датчика RGB та датчика наближення. Він також може використовувати вбудований світлодіод для підсвічування об’єктів для точнішого виявлення.

На цій сторінці як приклад назви оптичного датчика використовується optical_sensor За потреби замініть її власною налаштованою назвою.
Нижче наведено список доступних методів:
set_light– Вмикає або вимикає світлодіод оптичного датчика.set_light_power– Встановлює рівень потужності світла оптичного датчика.is_near_object– Повертає, чи оптичний датчик виявляє об’єкт у межах досяжності.color– Повертає колір, виявлений оптичним датчиком.brightness– Повертає кількість світла, відбитого від об’єкта.hue– Повертає відтінок, виявлений оптичним датчиком.object_detected– Реєструє функцію, яка викликається, коли оптичний датчик виявляє об’єкт.object_lost– Реєструє функцію, яка викликається, коли оптичний датчик втрачає об’єкт.
Конструктор – Ручна ініціалізація оптичного датчика.
Optical– Створює оптичний датчик.
встановити_світло#
set_light вмикає або вимикає світлодіод оптичного датчика. Це може допомогти підвищити точність датчика під час визначення кольорів.
Usage:
optical_sensor.set_light(state)
Параметри |
Опис |
|---|---|
стан |
Вмикає або вимикає світлодіод. |
# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)
set_light_power#
set_light_power встановлює яскравість світлодіода оптичного датчика. Світло може допомогти оптичному датчику чіткіше виявляти об’єкти та кольори.
Якщо світло оптичного датчика вимкнене, встановлення потужності світла вище 0% увімкне його.
Якщо світло оптичного датчика увімкнене, встановлення потужності світла на 0% вимкне його.
Вищий відсоток робить світло яскравішим. Нижчий відсоток робить світло тьмянішим.
Usage:
optical_sensor.set_light_power(percent, units)
Параметри |
Опис |
|---|---|
відсоток |
Яскравість, яку потрібно встановити для світлодіода, як ціле число. |
одиниці |
Необов’язково. Одиниця вимірювання яскравості: |
# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)
знаходиться_поблизу_об’єкта#
is_near_object повертає логічне значення, яке вказує, чи виявляє оптичний датчик об’єкт у межах досяжності.
True– Оптичний датчик виявляє об’єкт.False– Оптичний датчик не виявляє об’єкт.
Usage:
optical_sensor.is_near_object()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
pass
drivetrain.stop()
колір#
color повертає екземпляр класу Color на основі виявленого значення відтінку. Їх можна порівняти з попередньо визначеними об’єктами Color для створення умовних операторів.
Можливі кольори:
Color.BLACKColor.WHITEColor.RED– значення відтінку між 340° та 20°Color.GREEN– значення відтінку між 80° та 140°Color.BLUE– значення відтінку між 200° та 240°Color.YELLOW– значення відтінку між 40° та 60°Color.ORANGE- Значення відтінку між 20° - 40°Color.PURPLE- Значення відтінку між 240° - 280°Color.CYAN– значення відтінку між 140° та 200°
Примітка: Оптичний датчик шукає діапазони відтінків, що відповідають заданому кольору. Щоб дізнатися, як визначити певні діапазони відтінків, див. hue.
Usage:
optical_sensor.color()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
pass
drivetrain.stop()
яскравість#
brightness повертає кількість світла, відбитого від об’єкта, у вигляді десяткового дробу (float), що представляє відсоток.
Вищий відсоток означає, що більше світла відбивається назад до оптичного датчика. Нижчий відсоток означає, що менше світла відбивається назад.
Usage:
optical_sensor.brightness()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
відтінок#
hue повертає значення відтінку виявленого кольору у вигляді десяткового числа (float) від 0 до 359.
Відтінок – це спосіб опису кольору за допомогою чисел на колірному колі.

Usage:
optical_sensor.hue()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Look for the color pink using hue
while True:
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
if 300 < optical_sensor.hue() < 359:
brain.screen.print("This is pink!")
else:
brain.screen.print("No pink detected!")
виявлений_об’єкт#
object_detected реєструє функцію, яка викликається щоразу, коли оптичний датчик виявляє новий об’єкт.
Usage:
optical_sensor.object_detected(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли оптичний датчик виявляє новий об’єкт. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
def my_function():
brain.screen.print("Optical Sensor detected an object")
# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)
втрачений_об’єкт#
object_lost реєструє функцію, яка викликається щоразу, коли оптичний датчик втрачає виявлений об’єкт.
Usage:
optical_sensor.object_lost(callback, arg)
Параметри |
Опис |
|---|---|
|
Раніше визначена функція, яка виконується, коли оптичний датчик втрачає виявлений об’єкт. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
def my_function():
brain.screen.print("Optical Sensor lost an object")
# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)
Конструктор#
Конструктори використовуються для ручного створення об’єктів Optical , які необхідні для налаштування оптичного датчика поза VEXcode.
Optical#
Optical створює оптичний датчик.
Usage:
Optical(smartport)
Параметр |
Опис |
|---|---|
|
Розумний порт, до якого підключено оптичний датчик, записується як |
# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)