Sensor de objeto#

Introdução#

O Object Sensor é um sensor de proximidade infravermelho (IV) que deteta quando um objeto está próximo, utilizando a luz IV refletida.

O sensor de objectos VEX.

Esta página utiliza object_sensor como exemplo do nome do sensor de objectos. Substitua-o pelo nome que configurou, se necessário.

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

  • reflectivity – Devolve um integer que representa a quantidade de luz reflectida pelo objecto em percentagem.

  • is_object_detected – Retorna se o Sensor de Objectos está a detectar um objecto.

  • set_threshold – Define a quantidade de luz reflectida necessária antes de um objecto ser considerado detectado.

  • object_detected – Regista uma função a chamar sempre que o Sensor de Objetos detete um novo objeto.

  • object_lost – Regista uma função a ser chamada sempre que o Sensor de Objectos perder um objecto detectado.

  • changed – Regista uma função a ser chamada sempre que o valor do Sensor de Objectos se altere.

Construtor – Inicializa manualmente um sensor de objectos.

refletividade#

reflectivity devolve um integer que representa a quantidade de luz reflectida pelo objecto em percentagem.

Nota:

  • Uma refletividade de 0% significa que o objeto está demasiado escuro. O sensor deteta um valor bruto de 3000 ou superior.

  • Uma refletividade de 100% significa que o objeto é demasiado brilhante. O sensor recebe um valor bruto de 0.

Usage:
object_sensor.reflectivity()

Parâmetros

Descrição

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

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

is_object_detected#

is_object_detected retorna se o Sensor de Objectos está a detectar um objecto.

  • True – O sensor de objectos está a detectar um objecto.

  • False – O sensor de objetos não está a detetar nenhum objeto.

Usage:
object_sensor.is_object_detected()

Parâmetros

Descrição

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

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

definir_limite#

set_threshold define a quantidade de luz reflectida necessária, em percentagem, para que um objecto seja considerado detectado.

Usage:
object_sensor.set_threshold(value)

Parâmetros

Descrição

value

A quantidade de luz refletida necessária para que um objeto seja considerado detetado é expressa como um número inteiro, de 0 a 100.

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

objeto_detetado#

object_detected regista uma função a ser chamada sempre que o Sensor de Objectos detecta um novo objecto.

Usage:
object_sensor.object_detected(callback, arg)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando o Sensor de Objectos detecta um novo objecto.

arg

Opcional. Uma tuple contendo argumentos para passar para a função de callback. Consulte Funções com Parâmetros para obter mais informações.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

objeto_perdido#

object_lost regista uma função a ser chamada sempre que o Sensor de Objectos perder um objecto detectado.

Usage:
object_sensor.object_lost(callback, arg)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando o Sensor de Objectos perde um objecto detectado.

arg

Opcional. Uma tuple contendo argumentos para passar para a função de callback. Consulte Funções com Parâmetros para obter mais informações.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

mudado#

changed regista uma função a ser chamada sempre que o valor do Sensor de Objectos é alterado.

Usage:
object_sensor.changed(callback, arg)

Parâmetros

Descrição

callback

Uma função previamente definida que é executada quando o valor do Sensor de Objectos é alterado.

arg

Opcional. Uma tuple contendo argumentos para passar para a função de callback. Consulte Funções com Parâmetros para obter mais informações.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

Construtores#

Os construtores são utilizados para criar manualmente ObjectDetector , que são necessários para configurar os sensores de objetos.

ObjectDetector#

ObjectDetector cria um Sensor de Objectos.

Usage:
ObjectDetector(port, reverse_det)

Parâmetro

Descrição

port

A porta de 3 fios à qual o sensor de objectos está ligado:

  • No EXP Brain – brain.three_wire_port.x em que x é o número da porta.
  • Num Expansor de 3 Fios – expander.a em que expander é o nome da instância do expansor.

reverse_det

Opcional. Indica se a lógica de deteção deve ser invertida:

  • True – Quando um objeto é perdido, devolve que um objeto foi detetado e, quando um objeto é detetado, devolve que foi perdido.
  • False (padrão) – Quando um objeto é perdido, retorna que um objeto foi perdido e, quando um objeto é detetado, retorna que foi detetado.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)