Objectsensor#

Invoering#

De objectsensor is een infrarood (IR) nabijheidssensor die detecteert wanneer een object zich in de buurt bevindt door middel van gereflecteerd IR-licht.

De VEX-objectsensor.

Op deze pagina wordt object_sensor als voorbeeld van een objectsensornaam gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.

Hieronder vindt u een lijst met beschikbare methoden:

  • reflectivity – Retourneert een integer dat de hoeveelheid licht weergeeft die door het object wordt gereflecteerd als een percentage.

  • is_object_detected – Geeft aan of de objectsensor een object detecteert.

  • set_threshold – Stelt de hoeveelheid gereflecteerd licht in die nodig is voordat een object als gedetecteerd wordt beschouwd.

  • object_detected – Registreert een functie die wordt aangeroepen wanneer de objectsensor een nieuw object detecteert.

  • object_lost – Registreert een functie die wordt aangeroepen wanneer de objectsensor een gedetecteerd object verliest.

  • changed – Registreert een functie die wordt aangeroepen wanneer de waarde van de objectsensor verandert.

Constructor – Initialiseer handmatig een objectsensor.

reflectiviteit#

reflectivity retourneert een integer die de hoeveelheid licht vertegenwoordigt die door het object wordt gereflecteerd als een percentage.

Opmerking:

  • 0% reflectiviteit betekent dat het object erg donker is. De sensor registreert een ruwe waarde van 3000 of hoger.

  • 100% reflectiviteit betekent dat het object zeer helder is. De sensor registreert een ruwe waarde van 0.

Usage:
object_sensor.reflectivity()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 geeft aan of de objectsensor een object detecteert.

  • True – De objectsensor detecteert een object.

  • False – De objectsensor detecteert geen object.

Usage:
object_sensor.is_object_detected()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 stelt de hoeveelheid gereflecteerd licht in als percentage voordat een object als gedetecteerd wordt beschouwd.

Usage:
object_sensor.set_threshold(value)

Parameters

Beschrijving

value

De hoeveelheid gereflecteerd licht die nodig is om een ​​object als detecteerbaar te beschouwen, is een geheel getal van 0 tot 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 registreert een functie die wordt aangeroepen wanneer de objectsensor een nieuw object detecteert.

Usage:
object_sensor.object_detected(callback, arg)

Parameters

Beschrijving

callback

Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de objectsensor een nieuw object detecteert.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies met parameters voor meer informatie.

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 registreert een functie die wordt aangeroepen wanneer de objectsensor een gedetecteerd object verliest.

Usage:
object_sensor.object_lost(callback, arg)

Parameters

Beschrijving

callback

Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de objectsensor een gedetecteerd object verliest.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies met parameters voor meer informatie.

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

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

veranderd#

changed registreert een functie die wordt aangeroepen wanneer de waarde van de objectsensor verandert.

Usage:
object_sensor.changed(callback, arg)

Parameters

Beschrijving

callback

Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de waarde van de objectsensor verandert.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies met parameters voor meer informatie.

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

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

Constructeurs#

Constructors worden gebruikt om handmatig ObjectDetector objecten te creëren, die nodig zijn voor het configureren van objectsensoren.

ObjectDetector#

ObjectDetector creëert een objectsensor.

Usage:
ObjectDetector(port, reverse_det)

Parameter

Beschrijving

port

De 3-draads poort waarop de objectsensor is aangesloten:

  • Op de EXP Brain – brain.three_wire_port.x waarbij x het poortnummer is.
  • Op een 3-draads expander – expander.a waarbij expander de naam van de expander-instantie is.

reverse_det

Optioneel. Of de detectielogica moet worden omgekeerd:

  • True – Wanneer een object verloren is, retourneer dan dat een object is gedetecteerd, en wanneer een object is gedetecteerd, retourneer dan dat het verloren is.
  • False (standaard) – Wanneer een object verloren is, retourneer dan dat een object verloren is, en wanneer een object is gedetecteerd, retourneer dan dat het is gedetecteerd.

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