Afstandssensor#

Invoering#

De afstandssensor kan detecteren of een object zich voor de sensor bevindt en de afstand tot dat object bepalen. Ook kan de sensor de relatieve snelheid van het gedetecteerde object meten en inschatten of het object klein, middelgroot of groot is.

De afstandssensor werkt binnen een bereik van 20 mm tot 2000 mm.

Onder de 200 mm bedraagt ​​de nauwkeurigheid ongeveer ±15 mm. Boven de 200 mm verbetert de nauwkeurigheid tot ongeveer 5%.

De afstandssensor maakt gebruik van een klasse 1-laser. De detectie is recht vooruit gericht en is veilig voor gebruik in de klas.

De afstandssensor.

Op deze pagina wordt distance_sensor als voorbeeldnaam voor de afstandssensor gebruikt. Vervang dit door uw eigen geconfigureerde naam indien nodig.

Hieronder vindt u een lijst met beschikbare methoden:

  • object_distance — Geeft de afstand terug tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object.

  • object_velocity — Geeft aan hoe snel het gedetecteerde object zich naar de afstandssensor toe of van de afstandssensor af beweegt.

  • object_size — Geeft de geschatte grootte van het gedetecteerde object terug.

  • is_object_detected — Geeft aan of de afstandssensor momenteel een object detecteert.

  • changed — Registreert een functie die wordt uitgevoerd wanneer de waarde van de afstandssensor verandert.

Constructor — Initialiseer handmatig een afstandssensor.

  • Distance — Maakt een afstandssensor aan.

object_distance#

object_distance retourneert de afstand tussen de afstandssensor en het dichtstbijzijnde gedetecteerde object als een decimaal getal (float).

Usage:
distance_sensor.object_distance(units)

Parameters

Beschrijving

units

Optioneel. De afstandseenheid: MM (standaard, 20 mm tot 2000 mm) of INCHES (0,78 inch tot 78,74 inch).

# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
  pass
drivetrain.stop()

object_velocity#

object_velocity retourneert de relatieve snelheid van het gedetecteerde object als een decimaal getal (float) in m/s (meter per seconde).

De snelheid geeft aan hoe snel het object zich naar de afstandssensor toe of van de sensor af beweegt. Een waarde dicht bij 0 betekent dat het object ten opzichte van de sensor nauwelijks beweegt.

Usage:
distance_sensor.object_velocity()

Parameters

Beschrijving

Deze methode heeft geen parameters.

object_size#

object_size retourneert de geschatte grootte van het object dat door de afstandssensor is gedetecteerd.

De afstandssensor schat de objectgrootte op basis van hoeveel van het gezichtsveld van de sensor wordt ingenomen door het gedetecteerde object.

  • ObjectSizeType(0, “NONE”) — Geen object gedetecteerd.

  • ObjectSizeType(1, “SMALL”) — Er is een klein object gedetecteerd.

  • ObjectSizeType(2, “MEDIUM”) — Er is een middelgroot object gedetecteerd.

  • ObjectSizeType(3, “LARGE”) — Er is een groot object gedetecteerd.

Usage:
distance_sensor.object_size()

Parameters

Beschrijving

Deze methode heeft geen parameters.

is_object_detected#

is_object_detected geeft aan of de afstandssensor momenteel een object detecteert.

  • True — De afstandssensor detecteert een object.

  • False — De afstandssensor detecteert geen object.

Usage:
distance_sensor.is_object_detected()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# Drive forward until the object is within 50 mm away
while True:
  drivetrain.drive(FORWARD)
  if distance_sensor.is_object_detected():
    if distance_sensor.object_distance(MM) < 50:
      drivetrain.stop()
      break

veranderd#

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

Usage:
distance_sensor.changed(callback, arg)

Parameters

Beschrijving

callback

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

arg

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

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

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

Constructor#

Constructors worden gebruikt om handmatig Distance objecten te creëren, bijvoorbeeld bij het configureren van een afstandssensor buiten VEXcode.

Distance#

Distance creëert een Afstandssensor-object.

Usage:
Distance(smartport)

Parameter

Beschrijving

smartport

De slimme poort waarop de afstandssensor is aangesloten, wordt weergegeven als Ports.PORTx, waarbij x het poortnummer is.

# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)