Око#

Вступ#

Датчик ока VR може виявляти об’єкти та визначати їхній колір, яскравість і відтінок. Він також дозволяє налаштовувати діапазон виявлення та параметри освітлення для точніших показників.

Нижче наведено список усіх доступних методів:

Геттери – зчитують наявність об’єкта, колір, яскравість та відтінок.

  • near_object – Повертає, чи виявляє датчик ока об’єкт у межах досяжності.

  • detect – Повертає значення, чи виявляє датчик ока певний колір.

  • brightness – Повертає кількість світла, відбитого від об’єкта, у відсотках.

Зворотний виклик – Запускає код, коли об’єкт виявлено або втрачено.

  • object_detected – Реєструє функцію, яка викликається щоразу, коли датчик ока виявляє об’єкт.

  • object_lost – Реєструє функцію, яка викликається щоразу, коли Датчик Ока втрачає об’єкт.

Геттери#

near_object#

near_object повертає значення типу Boolean, яке повідомляє, чи виявляє датчик ока об’єкт у межах досяжності.

  • True – Датчик знаходиться поблизу об’єкта.

  • False – Датчик не знаходиться поблизу об’єкта.

Usage:
eye.near_object()

Параметри

Опис

Цей метод не має параметрів.

def main():
    # Stop driving when Eye Sensor is 
    # near an object
    drivetrain.drive(FORWARD)
    while True:
        if front_eye.near_object():
            drivetrain.stop()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

detect#

detect повертає логічне значення Boolean, яке повідомляє, чи виявляє датчик ока заданий колір, на основі виявленого значення відтінку.

  • True — Датчик ока виявляє вибраний колір.

  • False — Датчик ока не розпізнає вибраний колір.

Usage:
eye.detect(color)

Параметри

Опис

color

Колір, який має перевірити датчик ока:

  • BLUE
  • GREEN
  • NONE
  • RED
def main():
    # Stop the robot if the Eye Sensor 
    # detects red
    drivetrain.turn(RIGHT)
    while True:
        if front_eye.detect(RED):
            drivetrain.stop()
        wait(5, MSEC)

# VR threads — Do not delete
vr_thread(main)

brightness#

brightness повертає кількість світла, відбитого від об’єкта, у вигляді десяткового дробу (float), що представляє відсоток.

Вищий відсоток означає, що більше світла відбивається назад до датчика ока. Нижчий відсоток означає, що менше світла відбивається назад.

Usage:
eye.brightness(units)

Параметри

Опис

units

Одиниця вимірювання яскравості: PERCENT

Зворотний виклик#

object_detected#

object_detected реєструє функцію, яка викликається щоразу, коли датчик ока виявляє новий об’єкт.

Usage:
eye.object_detected(callback)

Параметри

Опис

callback

Раніше визначена функція, яка виконується, коли датчик ока виявляє новий об’єкт.

def detected():
    # Display a message
    drivetrain.stop()
    brain.print("object detected")
    wait(0.5,SECONDS)
    brain.clear()

def main():
    # Drive until an object is detected
    drivetrain.drive(FORWARD)
    front_eye.object_detected(detected)

# VR threads — Do not delete
vr_thread(main)

object_lost#

object_lost реєструє функцію, яка викликається щоразу, коли датчик ока втрачає виявлений об’єкт.

Usage:
eye.object_lost(callback)

Параметри

Опис

callback

Раніше визначена функція, яка виконується, коли датчик ока втрачає виявлений об’єкт.

def lost():
    # Display a message
    drivetrain.stop()
    brain.print("object lost")
    wait(0.5,SECONDS)
    brain.clear()

def main():
    # Back away from an object
    drivetrain.drive(REVERSE)
    front_eye.object_lost(lost)

# VR threads — Do not delete
vr_thread(main)