Око#
Вступ#
Робот VEX 123 має вбудований датчик ока, який може розпізнавати об’єкти та кольори. Він також може повідомляти, скільки світла відбивається назад до датчика, та значення відтінку виявленого кольору.
Датчик ока має підсвічування, яке можна вмикати або вимикати, щоб допомогти йому чіткіше бачити об’єкти та кольори.
Існує багато способів кодування датчика ока. Нижче наведено список усіх методів Eye:
Мутатори — налаштування датчика ока.
set_light— Вмикає або вимикає підсвічування датчика ока.set_light_power— Встановлює рівень потужності світла датчика ока.
Гетери — повертають дані, виявлені датчиком ока.
get_hue— Повертає відтінок, виявлений датчиком ока.get_brightness— Повертає яскравість, виявлену датчиком ока.is_object_detected— Повертає, чи виявляє датчик ока об’єкт у межах досяжності.is_color_detected— Повертає, чи виявляє датчик ока певний колір.is_bright— Повертає, чи виявляє датчик ока яскравий об’єкт.
Мутатори#
set_light#
set_light вмикає або вимикає підсвічування датчика ока.
Usage:
robot.eye.set_light(state)
Параметри |
Опис |
|---|---|
|
Стан світла датчика ока: |
# Continuously blink the light.
while True:
robot.eye.set_light(ON)
wait(2, SECONDS)
robot.eye.set_light(OFF)
wait(2, SECONDS)
set_light_power#
set_light_power встановлює яскравість світла датчика ока. Світло може допомогти датчику ока чіткіше розпізнавати об’єкти та кольори.
Вищий відсоток робить світло яскравішим. Нижчий відсоток робить світло тьмянішим.
Якщо світло датчика ока вимкнене, встановлення потужності світла вище 0% увімкне його.
Якщо світло датчика ока увімкнене, встановлення потужності світла на 0% вимкне його.
Usage:
robot.eye.set_light_power(value)
Параметри |
Опис |
|---|---|
|
Яскравість, на яку потрібно встановити світло датчика ока, від 0% до 100%. Використовуйте цілі числа. |
# Set the light to different power levels.
robot.eye.set_light_power(25)
wait(2, SECONDS)
robot.eye.set_light_power(50)
wait(2, SECONDS)
robot.eye.set_light_power(100)
Геттери#
get_hue#
get_hue повертає колір, виявлений датчиком ока, як ціле число від 0 до 359,00 градусів.
Відтінок – це спосіб опису кольору за допомогою чисел на колірному колі.

Usage:
robot.eye.get_hue()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Display if an object is pink.
while True:
console.clear()
if 290 < robot.eye.get_hue() < 350:
console.print("Pink!")
else:
console.print("Not pink!")
wait(0.1, SECONDS)
get_brightness#
get_brightness повертає яскравість виявленого світла, як ціле число від 0% до 100%.
Вищий відсоток означає, що більше світла відбивається назад до датчика ока. Нижчий відсоток означає, що менше світла відбивається назад.
Usage:
robot.eye.get_brightness()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.get_brightness() < 70:
console.print("Object not bright.")
else:
console.print("Bright object!")
is_object_detected#
is_object_detected повертає значення Boolean, яке повідомляє, чи виявляє датчик ока об’єкт у межах досяжності.
True— Датчик ока виявляє об’єкт.False— Датчик ока не виявляє об’єкт.
Usage:
robot.eye.is_object_detected()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Stop driving after detecting an object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
robot.stop()
is_color_detected#
is_color_detected повертає значення Boolean, яке повідомляє, чи виявляє датчик ока заданий колір, на основі виявленого значення відтінку.
True— Датчик ока виявляє вибраний колір.False— Датчик ока не розпізнає вибраний колір.
Датчик ока працює найкраще, коли об’єкт знаходиться близько та освітлення чітке.
Usage:
robot.eye.is_color_detected(color)
Параметри |
Опис |
|---|---|
|
Колір, який має перевірити датчик ока:
|
# Stop driving after detecting a green object.
robot.eye.set_light(ON)
robot.drive(FORWARD)
wait(0.1, SECONDS)
while not robot.eye.is_color_detected(GREEN):
wait(0.1, SECONDS)
robot.stop()
is_bright#
is_bright повертає значення типу Boolean, яке повідомляє, чи є об’єкт, виявлений датчиком ока, яскравим.
Об’єкт вважається яскравим, коли він відбиває понад 70% яскравості назад до датчика ока.
True— Виявлений об’єкт відображає більше 70% яскравості.False— Виявлений об’єкт відображає 70% яскравості або менше.
Usage:
robot.eye.is_bright()
Параметри |
Опис |
|---|---|
Цей метод не має параметрів. |
# Display whether a detected object is bright.
robot.eye.set_light_power(100)
robot.drive(FORWARD)
while not robot.eye.is_object_detected():
wait(0.1, SECONDS)
wait(0.1, SECONDS)
if robot.eye.is_bright():
console.print("Bright object!")
else:
console.print("Object not bright.")