Attāluma sensors#

Ievads#

Attāluma sensors var noteikt, vai sensora priekšā atrodas objekts, un atgriezt attālumu līdz šim objektam. Tas var arī atgriezt noteiktā objekta relatīvo ātrumu un novērtēt, vai objekts ir mazs, vidējs vai liels.

Attāluma sensors darbojas diapazonā no 20 mm līdz 2000 mm.

Zem 200 mm precizitāte ir aptuveni ±15 mm. Virs 200 mm precizitāte uzlabojas līdz aptuveni 5%.

Attāluma sensors izmanto 1. klases lāzeru. Detekcija ir vērsta taisni uz priekšu un ir droša lietošanai klasē.

Attāluma sensors.

Šajā lapā kā attāluma sensora nosaukuma piemērs tiek izmantots distance_sensor Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.

Zemāk ir pieejamo metožu saraksts:

  • object_distance — Atgriež attālumu starp attāluma sensoru un tuvāko noteikto objektu.

  • object_velocity — Atgriež, cik ātri noteiktais objekts virzās uz attāluma sensoru vai prom no tā.

  • object_size — Atgriež noteiktā objekta aptuveno izmēru.

  • is_object_detected — Atgriež, vai attāluma sensors pašlaik nosaka objektu.

  • changed — Reģistrē funkciju, kas jāizpilda ikreiz, kad mainās attāluma sensora vērtība.

Konstruktors — attāluma sensora manuāla inicializācija.

  • Distance — Izveido attāluma sensoru.

objekta_attālums#

object_distance atgriež attālumu starp attāluma sensoru un tuvāko noteikto objektu decimālskaitļa (peldošā skaitļa) veidā.

Usage:
distance_sensor.object_distance(units)

Parametri

Apraksts

units

Pēc izvēles. Attāluma mērvienība: MM (pēc noklusējuma, no 20 mm līdz 2000 mm) vai INCHES (no 0,78 collām līdz 78,74 collām).

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

objekta_ātrums#

object_velocity atgriež noteiktā objekta relatīvo ātrumu decimālskaitļa (peldošā skaitļa) veidā m/s (metros sekundē).

Ātrums parāda, cik ātri objekts virzās attāluma sensora virzienā vai prom no tā. Vērtība, kas ir tuvu 0, nozīmē, ka objekts nekustas daudz attiecībā pret sensoru.

Usage:
distance_sensor.object_velocity()

Parametri

Apraksts

Šai metodei nav parametru.

objekta_izmērs#

object_size atgriež attāluma sensora noteiktā objekta aptuveno izmēru.

Attāluma sensors novērtē objekta izmēru, pamatojoties uz to, cik lielu daļu no sensora skata aizņem noteiktais objekts.

  • ObjectSizeType(0, “NONE”) — Nav atrasts neviens objekts.

  • ObjectSizeType(1, “SMALL”) — Ir atrasts mazs objekts.

  • ObjectSizeType(2, “MEDIUM”) — Ir atrasts vidēja lieluma objekts.

  • ObjectSizeType(3, “LARGE”) — Ir atklāts liels objekts.

Usage:
distance_sensor.object_size()

Parametri

Apraksts

Šai metodei nav parametru.

ir_noteikts_objekts#

is_object_detected atgriež, vai attāluma sensors pašlaik nosaka objektu.

  • True — Attāluma sensors nosaka objektu.

  • False — Attāluma sensors neuztver objektu.

Usage:
distance_sensor.is_object_detected()

Parametri

Apraksts

Šai metodei nav parametru.

# 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

mainījies#

changed reģistrē funkciju, kas tiks izsaukta ikreiz, kad mainīsies attāluma sensora vērtība.

Usage:
distance_sensor.changed(callback, arg)

Parametri

Apraksts

callback

Iepriekš definēta funkcija, kas tiek izpildīta, kad mainās attāluma sensora vērtība.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Funkciju izmantošana ar parametriem.

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

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

Konstruktors#

Konstruktori tiek izmantoti, lai manuāli izveidotu Distance objektus, piemēram, konfigurējot attāluma sensoru ārpus VEXkoda.

Distance#

Distance izveido attāluma sensora objektu.

Usage:
Distance(smartport)

Parametrs

Apraksts

smartport

Viedā pieslēgvieta, kurai ir pievienots attāluma sensors, tiek pierakstīta kā Ports.PORTx, kur x ir pieslēgvietas numurs.

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