Avståndssensor#
Introduktion#
Avståndssensorn kan detektera om ett objekt befinner sig framför sensorn och returnera hur långt bort objektet är. Den kan också returnera det detekterade objektets relativa hastighet och uppskatta om objektet är litet, medelstort eller stort.
Avståndssensorn arbetar inom ett område från 20 mm till 2000 mm.
Under 200 mm är noggrannheten cirka ±15 mm. Över 200 mm förbättras noggrannheten till cirka 5 %.
Avståndssensorn använder en laser av klass 1. Detekteringen riktas rakt fram och är klassrumssäker.

Den här sidan använder distance_sensor som exempelnamn för avståndssensorn. Ersätt det med ditt eget konfigurerade namn efter behov.
Nedan följer en lista över tillgängliga metoder:
object_distance— Returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet.object_velocity— Returnerar hur snabbt det detekterade objektet rör sig mot eller bort från avståndssensorn.object_size— Returnerar den uppskattade storleken på det detekterade objektet.is_object_detected— Returnerar om avståndssensorn för närvarande detekterar ett objekt.changed— Registrerar en funktion som ska köras när avståndssensorns värde ändras.
Konstruktör — Initiera en avståndssensor manuellt.
Distance— Skapar en avståndssensor.
objektavstånd#
object_distance returnerar avståndet mellan avståndssensorn och det närmaste detekterade objektet som ett decimaltal (flyttal).
Usage:
distance_sensor.object_distance(units)
Parametrar |
Beskrivning |
|---|---|
|
Valfritt. Avståndsenheten: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
objekthastighet#
object_velocity returnerar den relativa hastigheten för det detekterade objektet som ett decimaltal (flyttal) i m/s (meter per sekund).
Hastigheten visar hur snabbt objektet rör sig mot eller bort från avståndssensorn. Ett värde nära 0 betyder att objektet inte rör sig mycket i förhållande till sensorn.
Usage:
distance_sensor.object_velocity()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
objektstorlek#
object_size returnerar den uppskattade storleken på objektet som detekterats av avståndssensorn.
Avståndssensorn uppskattar objektstorleken baserat på hur mycket av sensorns synfält som upptas av det detekterade objektet.
ObjectSizeType(0, “NONE”)— Inget objekt upptäcktes.ObjectSizeType(1, “SMALL”)— Ett litet objekt har upptäckts.ObjectSizeType(2, “MEDIUM”)— Ett medelstort objekt har upptäckts.ObjectSizeType(3, “LARGE”)— Ett stort objekt har upptäckts.
Usage:
distance_sensor.object_size()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
is_object_detekted#
is_object_detected returnerar om avståndssensorn för närvarande detekterar ett objekt.
True— Avståndssensorn detekterar ett objekt.False— Avståndssensorn detekterar inte ett objekt.
Usage:
distance_sensor.is_object_detected()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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
ändrad#
changed registrerar en funktion som ska anropas när avståndssensorns värde ändras.
Usage:
distance_sensor.changed(callback, arg)
Parametrar |
Beskrivning |
|---|---|
|
En tidigare definierad funktion som körs när avståndssensorns värde ändras. |
|
Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information. |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
Konstruktör#
Konstruktorer används för att manuellt skapa Distance objekt, till exempel när man konfigurerar en Distance Sensor utanför VEXcode.
Distance#
Distance skapar ett avståndssensorobjekt.
Usage:
Distance(smartport)
Parameter |
Beskrivning |
|---|---|
|
Den smarta porten som avståndssensorn är ansluten till, skriven som |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)