Snímač vzdálenosti#
Zavedení#
Senzor vzdálenosti dokáže detekovat, zda se objekt nachází před senzorem, a vrátit údaj o jeho vzdálenosti. Dokáže také vypočítat relativní rychlost detekovaného objektu a odhadnout, zda je objekt malý, střední nebo velký.
Snímač vzdálenosti pracuje v rozsahu od 20 mm do 2000 mm.
Pod 200 mm je přesnost přibližně ±15 mm. Nad 200 mm se přesnost zlepšuje na přibližně 5 %.
Snímač vzdálenosti používá laser třídy 1. Detekce je namířena přímo před sebe a je bezpečná pro použití ve třídě.

Tato stránka používá jako příklad názvu senzoru vzdálenosti distance_sensor V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.
Níže je uveden seznam dostupných metod:
object_distance— Vrátí vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem.object_velocity— Vrátí, jak rychle se detekovaný objekt pohybuje směrem k senzoru vzdálenosti nebo od něj.object_size— Vrátí odhadovanou velikost detekovaného objektu.is_object_detected— Vrátí, zda senzor vzdálenosti aktuálně detekuje objekt.changed— Registruje funkci, která se spustí při každé změně hodnoty senzoru vzdálenosti.
Konstruktor – Ruční inicializace senzoru vzdálenosti.
Distance— Vytvoří senzor vzdálenosti.
vzdálenost_objektu#
object_distance vrací vzdálenost mezi senzorem vzdálenosti a nejbližším detekovaným objektem jako desetinné číslo (float).
Usage:
distance_sensor.object_distance(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka vzdálenosti: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
rychlost_objektu#
object_velocity vrací relativní rychlost detekovaného objektu jako desetinné číslo (float) v m/s (metrech za sekundu).
Rychlost ukazuje, jak rychle se objekt pohybuje směrem k senzoru vzdálenosti nebo od něj. Hodnota blízká 0 znamená, že se objekt vzhledem k senzoru příliš nepohybuje.
Usage:
distance_sensor.object_velocity()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
velikost_objektu#
object_size vrací odhadovanou velikost objektu detekovaného senzorem vzdálenosti.
Senzor vzdálenosti odhaduje velikost objektu na základě toho, jakou část zorného pole senzoru zabírá detekovaný objekt.
ObjectSizeType(0, “NONE”)— Nebyl detekován žádný objekt.ObjectSizeType(1, “SMALL”)— Byl detekován malý objekt.ObjectSizeType(2, “MEDIUM”)— Byl detekován objekt střední velikosti.ObjectSizeType(3, “LARGE”)— Byl detekován velký objekt.
Usage:
distance_sensor.object_size()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
je_detekován_objekt#
is_object_detected vrací, zda senzor vzdálenosti aktuálně detekuje objekt.
True— Senzor vzdálenosti detekuje objekt.False— Senzor vzdálenosti nedetekuje objekt.
Usage:
distance_sensor.is_object_detected()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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
změněno#
changed registruje funkci, která se má volat při každé změně hodnoty senzoru vzdálenosti.
Usage:
distance_sensor.changed(callback, arg)
Parametry |
Popis |
|---|---|
|
Dříve definovaná funkce, která se provede při změně hodnoty senzoru vzdálenosti. |
|
Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití funkcí s parametry. |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
Konstruktor#
Konstruktory se používají k ručnímu vytváření objektů Distance , například při konfiguraci senzoru vzdálenosti mimo VEXcode.
Distance#
Distance vytvoří objekt Senzor vzdálenosti.
Usage:
Distance(smartport)
Parametr |
Popis |
|---|---|
|
Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)