Távolságérzékelő#

Bevezetés#

A Távolságérzékelő képes érzékelni, hogy van-e egy tárgy az érzékelő előtt, és visszaadni a tárgy távolságát. Vissza tudja adni az érzékelt tárgy relatív sebességét is, és meg tudja becsülni, hogy a tárgy kicsi, közepes vagy nagy.

A távolságérzékelő 20 mm és 2000 mm közötti tartományban működik.

200 mm alatt a pontosság körülbelül ±15 mm. 200 mm felett a pontosság körülbelül 5%-ra javul.

A távolságérzékelő 1. osztályú lézert használ. Az érzékelés egyenesen előre irányul, és biztonságos a tanteremben való használatra.

A távolságérzékelő.

Ez az oldal distance_sensor értéket használja példaként a távolságérzékelő nevére. Szükség szerint cserélje ki a saját konfigurált névre.

Az alábbiakban felsoroljuk az elérhető módszereket:

  • object_distance — Visszaadja a távolságérzékelő és a legközelebbi érzékelt tárgy közötti távolságot.

  • object_velocity — Visszaadja, hogy a detektált tárgy milyen gyorsan mozog a távolságérzékelő felé vagy attól távolodva.

  • object_size — Visszaadja az észlelt objektum becsült méretét.

  • is_object_detected — Visszaadja, hogy a távolságérzékelő jelenleg érzékel-e objektumot.

  • changed — Regisztrál egy függvényt, amely akkor fut le, amikor a távolságérzékelő értéke megváltozik.

Konstruktor — Távolságérzékelő manuális inicializálása.

  • Distance — Létrehoz egy távolságérzékelőt.

objektumtávolság#

object_distance Visszaadja a távolságérzékelő és a legközelebbi érzékelt objektum közötti távolságot decimális törtként (float formátumban).

Usage:
distance_sensor.object_distance(units)

Paraméterek

Leírás

units

Opcionális. A távolság mértékegysége: MM (alapértelmezett, 20 mm - 2000 mm) vagy INCHES (0,78 hüvelyk - 78,74 hüvelyk).

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

objektum_sebesség#

object_velocity Az érzékelt objektum relatív sebességét adja vissza decimális törtként (float) m/s-ben (méter per másodperc).

A sebesség megmutatja, hogy a tárgy milyen gyorsan mozog a távolságérzékelő felé vagy attól távolodva. A 0-hoz közeli érték azt jelenti, hogy a tárgy nem mozog sokat az érzékelőhöz képest.

Usage:
distance_sensor.object_velocity()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

objektumméret#

object_size Az 1-es paraméter a távolságérzékelő által érzékelt objektum becsült méretét adja vissza.

A távolságérzékelő a tárgy méretét az alapján becsüli meg, hogy az érzékelő látóterének mekkora részét foglalja el az érzékelt tárgy.

  • ObjectSizeType(0, “NONE”) — Nem észlelhető objektum.

  • ObjectSizeType(1, “SMALL”) — Egy kis objektumot észlelt a rendszer.

  • ObjectSizeType(2, “MEDIUM”) — Közepes méretű objektumot észlelt a rendszer.

  • ObjectSizeType(3, “LARGE”) — Nagy objektumot észlelt a rendszer.

Usage:
distance_sensor.object_size()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

objektum_észlelt_#

is_object_detected Visszaadja, hogy a távolságérzékelő jelenleg érzékel-e objektumot.

  • True — A távolságérzékelő tárgyat érzékel.

  • False — A távolságérzékelő nem érzékel tárgyat.

Usage:
distance_sensor.is_object_detected()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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

megváltozott#

changed regisztrál egy függvényt, amely minden alkalommal meghívódik, amikor a távolságérzékelő értéke megváltozik.

Usage:
distance_sensor.changed(callback, arg)

Paraméterek

Leírás

callback

Egy korábban definiált függvény, amely akkor hajtódik végre, amikor a távolságérzékelő értéke megváltozik.

arg

Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt.

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

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

Konstruktőr#

A konstruktorokat Distance objektumok manuális létrehozására használjuk, például amikor egy Távolságérzékelőt a VEXcode-on kívül konfigurálunk.

Distance#

Distance paraméterrel létrehozunk egy Distance Sensor objektumot.

Usage:
Distance(smartport)

Paraméter

Leírás

smartport

Az az intelligens port, amelyhez a távolságérzékelő csatlakozik, Ports.PORTxformában írva, ahol x a port száma.

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