Etäisyysmittari#
Johdanto#
sonar luokkaa käytetään ultraäänietäisyysmittarin kanssa, joka mittaa etäisyyden lähimpään kohteeseen ääniaaltojen avulla. Se toimii lähettämällä ultraäänipulssin ja mittaamalla, kuinka kauan äänen heijastuminen takaisin kestää.

Luokan rakentaja#
sonar(
triport::port &port);
Luokan tuhoaja#
Tuhoaa sonar -objektin ja vapauttaa siihen liittyvät resurssit.
virtual ~sonar();
Parametrit#
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Etäisyysmittarin käyttämän pakollisen kaksiporttisen ryhmän ensimmäinen 3-johtiminen portti. Etäisyysmittari käyttää kahta vierekkäistä porttia (A–B, C–D, E–F tai G–H) joko aivoissa tai 3-johtimisessa laajentimessa. Määritä parin ensimmäinen portti (A, C, E tai G) ja kirjoita se muodossa |
Esimerkkejä#
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
Jäsenten toiminnot#
sonar -luokka sisältää seuraavat jäsenfunktiot:
foundObject— Palauttaa, havaitseeko etäisyysmittari kohteen.distance— Palauttaa etäisyysmittarin ja lähimmän havaitun kohteen välisen etäisyyden.
Ennen minkään sonar -jäsenfunktion kutsumista on luotava sonar -instanssi alla olevan mukaisesti:
/* This constructor is required when using VS Code.
Range Finder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);
foundObject#
Palauttaa, havaitseeko etäisyysmittari kohteen näkökentässään.
Available Functionsbool foundObject();
Tämä funktio ei hyväksy parametreja.
Return ValuesPalauttaa arvon bool , joka ilmaisee, havaitseeko etäisyysmittari kohteen:
true— Etäisyysmittari havaitsee kohteen.false— Etäisyysmittari ei havaitse kohdetta.
// Check if an object is detected.
if (RangeFinderA.foundObject()){
// Print to screen on the brain that an object was found.
Brain.Screen.print("object found");
}
distance#
Palauttaa mitatun etäisyyden anturin havaitsemaan lähimpään kohteeseen.
Available Functionsdouble distance(
distanceUnits units );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Etäisyyttä kuvaava yksikkö: |
Palauttaa luvun double joka edustaa etäisyyttä määritetyissä yksiköissä.
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);
// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);