Sensor de objetos#

Introducción#

El sensor de objetos es un sensor de proximidad infrarrojo (IR) que detecta cuando un objeto está cerca mediante el uso de luz IR reflejada.

El sensor de objetos VEX.

Esta página utiliza object_sensor como ejemplo de nombre de Object Sensor. Reemplácelo con su propio nombre configurado según sea necesario.

A continuación se muestra una lista de los métodos disponibles:

  • reflectivity – Devuelve un integer que representa la cantidad de luz reflejada desde el objeto como un porcentaje.

  • is_object_detected – Devuelve si el sensor de objetos está detectando un objeto.

  • set_threshold – Establece la cantidad de luz reflejada necesaria antes de que se considere que se ha detectado un objeto.

  • object_detected – Registra una función que se llamará cada vez que el sensor de objetos detecte un nuevo objeto.

  • object_lost – Registra una función que se llamará cada vez que el sensor de objetos pierda un objeto detectado.

  • changed – Registra una función que se llamará cada vez que cambie el valor del sensor de objetos.

Constructor: inicializa manualmente un sensor de objetos.

reflectividad#

reflectivity devuelve un integer que representa la cantidad de luz reflejada desde el objeto como un porcentaje.

Nota:

  • 0% de reflectividad significa que el objeto es muy oscuro. El sensor ve un valor bruto de 3000 o superior.

  • 100% de reflectividad significa que el objeto es muy brillante. El sensor ve un valor bruto de 0.

Usage:
object_sensor.reflectivity()

Parámetros

Descripción

Este método no tiene 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 devuelve si el sensor de objetos está detectando un objeto.

  • True : el sensor de objetos detecta un objeto.

  • False – El sensor de objetos no está detectando un objeto.

Usage:
object_sensor.is_object_detected()

Parámetros

Descripción

Este método no tiene 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)

set_threshold#

set_threshold establece la cantidad de luz reflejada necesaria como porcentaje antes de que se considere que se ha detectado un objeto.

Usage:
object_sensor.set_threshold(value)

Parámetros

Descripción

value

La cantidad de luz reflejada necesaria para considerar un objeto a detectar como un número entero, 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)

object_detected#

object_detected registra una función que se llamará cada vez que el sensor de objetos detecte un nuevo objeto.

Usage:
object_sensor.object_detected(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando el sensor de objetos detecta un nuevo objeto.

arg

Opcional. Una tuple que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información.

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

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

object_lost#

object_lost registra una función que se llamará cada vez que el sensor de objetos pierda un objeto detectado.

Usage:
object_sensor.object_lost(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando el sensor de objetos pierde un objeto detectado.

arg

Opcional. Una tuple que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información.

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

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

cambió#

changed registra una función que se llamará cada vez que cambie el valor del sensor de objetos.

Usage:
object_sensor.changed(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando cambia el valor del sensor de objetos.

arg

Opcional. Una tuple que contiene argumentos para pasar a la función de devolución de llamada. Consulte Funciones con parámetros para obtener más información.

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

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

Constructores#

Los constructores se utilizan para crear manualmente ObjectDetector objetos ObjectDetector, que son necesarios para configurar los sensores de objetos.

ObjectDetector#

ObjectDetector crea un sensor de objetos.

Usage:
ObjectDetector(port, reverse_det)

Parámetro

Descripción

port

El puerto de 3 hilos al que está conectado el sensor de objetos:

  • En el EXP Brain – brain.three_wire_port.x donde x es el número del puerto.
  • En un Expansor de 3 hilos – expander.a donde expander es el nombre de la instancia del expansor.

reverse_det

Opcional. Si invertir la lógica de detección:

  • True – Cuando se pierde un objeto, devuelve que se detecta un objeto, y cuando se detecta un objeto, devuelve que se pierde.
  • False (predeterminado): cuando se pierde un objeto, devuelve que se pierde un objeto y, cuando se detecta un objeto, devuelve que se detecta.

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