Etäisyysanturi#
Johdanto#
Luokkaa sonar käytetään VEX IQ -etäisyysanturin (1. sukupolvi) kanssa. Luokkaa distance käytetään VEX IQ -etäisyysanturin (2. sukupolvi) kanssa.
Molemmat etäisyysanturit pystyvät havaitsemaan, onko anturin edessä esine, ja palauttamaan tiedon kohteen etäisyydestä. VEX IQ -etäisyysanturi (2. sukupolvi) voi myös palauttaa havaitun kohteen suhteellisen nopeuden ja arvioida, onko esine pieni, keskikokoinen vai suuri.
Luokanrakentajat#
1 — Tämä konstruktori luo VEX IQ -etäisyysanturin (1. sukupolvi).
sonar( int32_t index);
2 — Tämä konstruktori luo VEX IQ -etäisyysanturin (2. sukupolvi).
distance( int32_t index);
Luokan tuhoaja#
Tuhoaa etäisyyden distance objektin ja vapauttaa siihen liittyvät resurssit.
1 — Tuhoaa VEX IQ -etäisyysanturin (1. sukupolvi).
~sonar();
2 — Tuhoaa VEX IQ -etäisyysanturin (2. sukupolvi).
~distance();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Älyportti, johon etäisyysanturi on kytketty, kirjoitetaan muodossa |
Esimerkkejä#
1 — Luo VEX IQ -etäisyysanturin (1. sukupolvi) instanssi porttiin 1.
sonar Distance1 = sonar(PORT1);
2 — Luo VEX IQ -etäisyysanturin (2. sukupolvi) instanssi porttiin 1.
distance Distance1 = distance(PORT1);
Jäsenten toiminnot#
sonar -luokka sisältää seuraavat jäsenfunktiot:
foundObject— Palauttaa, havaitseeko etäisyysanturi tällä hetkellä kohteen.distance— Palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.
distance -luokka sisältää seuraavat jäsenfunktiot:
objectDistance— Palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.objectVelocity— Palauttaa, kuinka nopeasti havaittu kohde liikkuu etäisyysanturia kohti tai siitä poispäin.objectSize— Palauttaa havaitun objektin arvioidun koon.isObjectDetected— Palauttaa, havaitseeko etäisyysanturi kohteen tällä hetkellä.changed— Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun havaittu etäisyysarvo muuttuu.installed— Palauttaa, onko etäisyysanturi asennettu ja kytketty.
Ennen minkään distance tai sonar -jäsenfunktion kutsumista on luotava distance tai sonar -instanssi alla olevan mukaisesti:
/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);
foundObject#
Palauttaa, havaitseeko etäisyysanturi tällä hetkellä kohteen.
Available Functionsbool foundObject();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa totuusarvon, joka ilmaisee, havaitseeko etäisyysanturi kohteen:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
distance#
Palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.
Available Functionsdouble distance( distanceUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Etäisyysyksikkö:
|
Palauttaa luvun double joka edustaa etäisyysanturin ja lähimmän havaitun kohteen välistä etäisyyttä määritetyissä yksiköissä.
objectDistance#
Palauttaa etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.
Available Functionsdouble objectDistance( distanceUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Etäisyysyksikkö:
|
Palauttaa luvun double joka edustaa etäisyysanturin ja lähimmän havaitun kohteen välistä etäisyyttä määritetyissä yksiköissä.
objectVelocity#
Palauttaa havaitun kohteen suhteellisen nopeuden.
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.
Available Functionsdouble objectVelocity();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa luvun double joka edustaa havaitun kohteen suhteellista nopeutta yksiköissä m/s (metriä sekunnissa).
objectSize#
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ää.
Available FunctionssizeType objectSize();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa arvon sizeType joka ilmaisee havaitun objektin arvioidun koon:
-
none— No object is detected. -
small— A small object is detected. -
medium— A medium object is detected. -
large— A large object is detected.
isObjectDetected#
Palauttaa, havaitseeko etäisyysanturi tällä hetkellä kohteen.
Available Functionsbool isObjectDetected();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa totuusarvon, joka ilmaisee, havaitseeko etäisyysanturi kohteen:
-
true— The Distance Sensor detects an object. -
false— The Distance Sensor does not detect an object.
changed#
Rekisteröi takaisinkutsufunktion, joka suoritetaan, kun havaittu etäisyysarvo muuttuu.
Available Functionsvoid changed( void (* callback)(void) );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Osoitin funktioon, jota kutsutaan, kun havaittu etäisyysarvo muuttuu. Funktio ei saa ottaa parametreja ja palauttaa arvon |
Tämä funktio ei palauta arvoa.
Notes - This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.installed#
Palauttaa, onko etäisyysanturi asennettu ja kytketty.
Available Functionsbool installed();
Tämä funktio ei ota vastaan parametreja.
Return ValuesPalauttaa totuusarvon, joka ilmaisee, onko etäisyysanturi asennettu ja kytketty:
-
true— The Distance Sensor is installed and connected. -
false— The Distance Sensor is not installed or not connected.