Detector de objetos#

Inicialización de la clase ObjectDetector#

Un sensor de objetos se crea utilizando el siguiente constructor:

ObjectDetector(puerto, reverso)

Este constructor utiliza dos parámetros:

Parámetro

Descripción

puerto

El puerto de 3 cables al que está conectado el sensor de objetos, ya sea un puerto en el Cerebro o un Expandedor de 3 cables.

revertir

Opcional. Configure esta opción para invertir la lógica de detección. El valor predeterminado es “Falso”.

Primero se debe crear un Brain o un 3-Wire Expander antes de poder usarlos para crear un objeto con el constructor de la clase ObjectDetector.

# Create the Brain.
brain = Brain()
# Construct an ObjectSensor "objdet" with the
# ObjectDetector class.
objdet = ObjectDetector(brain.three_wire_port.a)

Este objeto objdet se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase ObjectDetector.

Métodos de clase#

reflectivity()#

El método reflectivity(units) devuelve la reflectividad medida por el sensor de objetos. Esta reflectividad es una estimación basada en el valor bruto del sensor de objetos.

Una reflectividad del 0 % es un valor bruto de 3000 o superior. Una reflectividad del 100 % es un valor bruto de 0.

Parámetros

Descripción

unidades

Opcional. La única unidad válida para la reflectividad es “PORCENTAJE”.

Devuelve: La reflectividad medida por el sensor de objetos en el rango 0% - 100%.

# Print the Object Sensor's current reflectivity to the
# Brain's screen.
brain.screen.print(objdet.reflectivity())

set_threshold()#

El método set_threshold(value, units) establece el umbral de detección para el sensor de objetos en un valor específico.

Parámetros

Descripción

valor

Umbral de reflectividad para la detección de objetos. Rango de 0 a 100.

Devoluciones: Ninguna.

# Set the Object Sensor's reflectivity threhold to 50%.
objdet.set_threshold(50)

is_object_detected()#

El método is_object_detected() regresa si se detecta un objeto.

Devuelve: «Verdadero» si se detecta un objeto. «Falso» si no se detecta ninguno.

changed()#

El método changed(callback, arg) registra una función de devolución de llamada cuando cambia el valor de un sensor de objetos.

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando cambie el valor de un sensor de objetos.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Define a function detector_changed().
def detector_changed():
    # The brain will print that the Object Sensor value
    # changed on the Brain's screen.
    brain.screen.print("Object Sensor value changed")

# Run detector_changed when the value of the
# Object Sensor changes.
objdet.changed(detector_changed)

object_detected()#

El método object_detected(callback, arg) registra una función de devolución de llamada cuando se detecta un objeto.

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando se detecte un objeto.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Define a function detected().
def detected():
    # The Brain will print that an object was detected
    # on the Brain's screen.
    brain.screen.print("object detected")

# Run detected when the Object Sensor detects an object.
objdet.object_detected(detected)

object_lost()#

El método object_lost(callback, arg) registra una función de devolución de llamada para cuando se pierde un objeto.

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando se pierda un objeto.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

Devuelve: Una instancia de la clase Event.

# Define a function lost().
def lost():
    # The Brain will print that an object was lost on the
    # Brain's screen.
    brain.screen.print("object lost")

# Run lost() when the Object Sensor loses an object.
objdet.object_lost(lost)