Etäisyysanturi#
Johdanto#
Etäisyysanturi voi havaita, onko anturin edessä kohde, ja palauttaa tiedon kohteen etäisyydestä. Se voi myös palauttaa havaitun kohteen suhteellisen nopeuden ja arvioida, onko kohde pieni, keskikokoinen vai suuri.
Etäisyysanturi toimii 20 mm - 2000 mm:n alueella.
Alle 200 mm:n tarkkuus on noin ±15 mm. Yli 200 mm:n tarkkuus paranee noin 5 %:iin.
Etäisyysanturi käyttää luokan 1 laseria. Tunnistus suuntautuu suoraan eteenpäin ja on luokkahuoneturvallinen.

Tällä sivulla käytetään esimerkkinä etäisyysanturin nimeä distance_sensor Korvaa se tarvittaessa omalla määritetyllä nimelläsi.
Alla on luettelo käytettävissä olevista menetelmistä:
object_distance— Palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.object_velocity— Palauttaa, kuinka nopeasti havaittu kohde liikkuu etäisyysanturia kohti tai siitä poispäin.object_size— Palauttaa havaitun objektin arvioidun koon.is_object_detected— Palauttaa, havaitseeko etäisyysanturi tällä hetkellä kohteen.changed— Rekisteröi funktion suoritettavaksi aina, kun etäisyysanturin arvo muuttuu.
Konstructor — Etäisyysanturin manuaalinen alustaminen.
Distance— Luo etäisyysanturin.
objektin_etäisyys#
object_distance palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden desimaalilukuna (liukulukuna).
Usage:
distance_sensor.object_distance(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Etäisyysyksikkö: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
objektin_nopeus#
object_velocity palauttaa havaitun kohteen suhteellisen nopeuden desimaalilukuna (liukulukuna) yksikkönä m/s (metriä sekunnissa).
Nopeus näyttää, kuinka nopeasti kohde liikkuu kohti etäisyysanturia tai siitä poispäin. Lähellä nollaa oleva arvo tarkoittaa, että kohde ei liiku paljon anturiin nähden.
Usage:
distance_sensor.object_velocity()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
objektin_koko#
object_size palauttaa etäisyysanturin havaitseman kohteen arvioidun koon.
Etäisyysanturi arvioi kohteen koon sen perusteella, kuinka suuren osan anturin näkökentästä havaittu kohde peittää.
ObjectSizeType(0, “NONE”)— Objektia ei havaittu.ObjectSizeType(1, “SMALL”)— Pieni objekti on havaittu.ObjectSizeType(2, “MEDIUM”)— Keskikokoinen objekti on havaittu.ObjectSizeType(3, “LARGE”)— Suuri objekti on havaittu.
Usage:
distance_sensor.object_size()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
on_objekti_havaittu#
is_object_detected palauttaa, havaitseeko etäisyysanturi tällä hetkellä kohteen.
True— Etäisyysanturi havaitsee kohteen.False— Etäisyysanturi ei havaitse kohdetta.
Usage:
distance_sensor.is_object_detected()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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
muuttunut#
changed rekisteröi funktion kutsuttavaksi aina, kun etäisyysanturin arvo muuttuu.
Usage:
distance_sensor.changed(callback, arg)
Parametrit |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan, kun etäisyysanturin arvo muuttuu. |
|
Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa. |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
Rakentaja#
Konstruktoreita käytetään Distance -objektien manuaaliseen luomiseen, esimerkiksi etäisyysanturin konfiguroinnissa VEXcoden ulkopuolella.
Distance#
Distance luo etäisyysanturiobjektin.
Usage:
Distance(smartport)
Parametri |
Kuvaus |
|---|---|
|
Älyportti, johon etäisyysanturi on kytketty, kirjoitetaan muodossa |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)