Olho#

Introdução#

O sensor VR Eye consegue detetar objetos e identificar a sua cor, brilho e tonalidade. Permite também ajustar o alcance de deteção e as definições de iluminação para leituras mais precisas.

Segue-se uma lista de todos os métodos disponíveis:

Getters – Ler a presença, cor, brilho e matiz do objeto.

  • near_object – Retorna se o sensor ocular deteta um objeto dentro do alcance.

  • detect – Retorna se o sensor ocular detecta uma cor específica.

  • brightness – Devolve a quantidade de luz reflectida pelo objecto em percentagem.

Callback – Executa o código quando um objeto é detetado ou perdido.

  • object_detected – Regista uma função a chamar sempre que o sensor ocular detecta um objecto.

  • object_lost – Regista uma função a chamar sempre que o sensor ocular perde um objecto.

Getters#

near_object#

near_object retorna um Boolean que informa se o sensor ocular detecta ou não um objecto dentro do alcance.

  • True – O sensor está próximo de um objeto.

  • False – O sensor não está perto de um objeto.

Usage:
eye.near_object()

Parâmetros

Descrição

Este método não tem parâmetros.

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 devolve um Boolean que informa se o Sensor Ocular detecta uma cor especificada, com base no valor de matiz detectado.

  • True — O sensor ocular deteta a cor selecionada.

  • False — O sensor ocular não detetou a cor selecionada.

Usage:
eye.detect(color)

Parâmetros

Descrição

color

A cor que o sensor ocular deve verificar:

  • 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 devolve a quantidade de luz reflectida pelo objecto como um decimal (float) que representa uma percentagem.

Uma percentagem mais elevada significa que mais luz é refletida de volta para o sensor ocular. Uma percentagem mais baixa significa que menos luz é refletida de volta.

Usage:
eye.brightness(units)

Parâmetros

Descrição

units

A unidade que representa o brilho: PERCENT

Ligar de volta#

object_detected#

object_detected regista uma função a ser chamada sempre que o Sensor Ocular detete um novo objeto.

Usage:
eye.object_detected(callback)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando o sensor ocular deteta um novo objeto.

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 regista uma função a ser chamada sempre que o Sensor Ocular perder um objecto detectado.

Usage:
eye.object_lost(callback)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando o sensor ocular perde um objeto detetado.

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)