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ě.

Snímač vzdálenosti.

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

units

Volitelné. Jednotka vzdálenosti: MM (výchozí, 20 mm až 2000 mm) nebo INCHES (0,78 palce až 78,74 palce).

# 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

callback

Dříve definovaná funkce, která se provede při změně hodnoty senzoru vzdálenosti.

arg

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

smartport

Inteligentní port, ke kterému je připojen senzor vzdálenosti, zapsaný jako Ports.PORTx, kde x je číslo portu.

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