Objektsensor#

Introduktion#

Objektsensorn är en infraröd (IR) närhetssensor som detekterar när ett objekt är nära med hjälp av reflekterat IR-ljus.

VEX-objektsensorn.

Den här sidan använder object_sensor som exempelnamn för objektsensorn. Ersätt det med ditt eget konfigurerade namn efter behov.

Nedan följer en lista över tillgängliga metoder:

  • reflectivity – Returnerar ett integer som representerar mängden ljus som reflekteras från objektet i procent.

  • is_object_detected – Returnerar om objektsensorn detekterar ett objekt.

  • set_threshold – Ställer in mängden reflekterat ljus som behövs innan ett objekt anses vara detekterat.

  • object_detected – Registrerar en funktion som ska anropas när objektsensorn detekterar ett nytt objekt.

  • object_lost – Registrerar en funktion som ska anropas när objektsensorn förlorar ett detekterat objekt.

  • changed – Registrerar en funktion som ska anropas när objektsensorns värde ändras.

Konstruktor – Initiera en objektsensor manuellt.

reflektivitet#

reflectivity returnerar ett integer som representerar mängden ljus som reflekteras från objektet i procent.

Notera:

  • 0 % reflektivitet betyder att objektet är mycket mörkt. Sensorn ser ett råvärde på 3000 eller högre.

  • 100 % reflektivitet innebär att objektet är mycket ljusstarkt. Sensorn ser ett råvärde på 0.

Usage:
object_sensor.reflectivity()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# 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_detekted#

is_object_detected returnerar om objektsensorn detekterar ett objekt.

  • True – Objektsensorn detekterar ett objekt.

  • False – Objektsensorn detekterar inte ett objekt.

Usage:
object_sensor.is_object_detected()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# 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 anger mängden reflekterat ljus som behövs i procent innan ett objekt anses vara detekterat.

Usage:
object_sensor.set_threshold(value)

Parametrar

Beskrivning

value

Mängden reflekterat ljus som behövs för att betrakta ett objekt som detekteras som ett heltal, från 0 till 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)

objekt_upptäckt#

object_detected registrerar en funktion som ska anropas varje gång objektsensorn detekterar ett nytt objekt.

Usage:
object_sensor.object_detected(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när objektsensorn detekterar ett nytt objekt.

arg

Valfritt. En tuple som innehåller argument som ska skickas till callback-funktionen. Se Funktioner med parametrar för mer information.

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

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

objekt_förlorat#

object_lost registrerar en funktion som ska anropas när objektsensorn förlorar ett detekterat objekt.

Usage:
object_sensor.object_lost(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när objektsensorn förlorar ett detekterat objekt.

arg

Valfritt. En tuple som innehåller argument som ska skickas till callback-funktionen. Se Funktioner med parametrar för mer information.

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

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

ändrad#

changed registrerar en funktion som ska anropas när objektsensorns värde ändras.

Usage:
object_sensor.changed(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när objektsensorns värde ändras.

arg

Valfritt. En tuple som innehåller argument som ska skickas till callback-funktionen. Se Funktioner med parametrar för mer information.

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

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

Konstruktörer#

Konstruktorer används för att manuellt skapa ObjectDetector objekt, vilka är nödvändiga för att konfigurera objektsensorer.

ObjectDetector#

ObjectDetector skapar en objektsensor.

Usage:
ObjectDetector(port, reverse_det)

Parameter

Beskrivning

port

Den 3-trådsport som objektsensorn är ansluten till:

  • På EXP Brain – brain.three_wire_port.x där x är portens nummer.
  • På en 3-tråds expander – expander.a där expander är namnet på expanderinstansen.

reverse_det

Valfritt. Huruvida detekteringslogiken ska reverseras:

  • True – När ett objekt är förlorat, returnera att ett objekt har upptäckts, och när ett objekt detekteras, returnera att det är förlorat.
  • False (standard) – När ett objekt är förlorat, returnera att ett objekt är förlorat, och när ett objekt detekteras, returnera att det är upptäckt.

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