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 |
---|---|
|
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. |
|
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)