Оптический датчик#
Введение#
Оптический датчик V5 определяет цвет, яркость и наличие близлежащих объектов, используя комбинацию датчика цвета RGB и датчика приближения. Он также может использовать встроенный светодиод для подсветки объектов, что обеспечивает более точное обнаружение.

На этой странице в качестве примера имени оптического датчика используется optical_sensor При необходимости замените его на собственное имя.
Ниже приведён список доступных методов:
set_light– Включает или выключает светодиод оптического датчика.set_light_power– Устанавливает уровень мощности света оптического датчика.is_near_object– Возвращает значение, указывающее, обнаружил ли оптический датчик объект в пределах досягаемости.color– Возвращает цвет, обнаруженный оптическим датчиком.brightness– Возвращает количество света, отраженного от объекта.hue– Возвращает оттенок, обнаруженный оптическим датчиком.object_detected– Регистрирует функцию, которая будет вызываться, когда оптический датчик обнаружит объект.object_lost– Регистрирует функцию, которая будет вызываться, когда оптический датчик потеряет объект.
Конструктор – Ручная инициализация оптического датчика.
Optical– Создает оптический датчик.
set_light#
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#
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 class, основанный на обнаруженном значении оттенка. Их можно сравнивать с предопределенными объектами 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)
Параметры |
Описание |
|---|---|
|
Ранее определенная функция, которая выполняется, когда оптический датчик обнаруживает новый объект. |
|
Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information. |
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)
Параметры |
Описание |
|---|---|
|
Ранее определенная функция, которая выполняется, когда оптический датчик теряет обнаруженный объект. |
|
Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information. |
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)