Viivanseuranta#

Johdanto#

line luokkaa käytetään Line Trackerin kanssa. Line Tracker on analoginen anturi, joka käyttää infrapuna-LEDiä ja valoanturia edessään olevan pinnan heijastavuuden havaitsemiseen. Se on suunniteltu asennettavaksi robotin rungon alle, jotta robotti voi seurata ennalta merkittyä reittiä.

VEX-linjaseurantalaite.

Luokan rakentaja#

line(
  triport::port &port );

Luokan tuhoaja#

Tuhoaa line objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~line();

Parametrit#

Parametri

Tyyppi

Kuvaus

port

triport::port &

3-johtiminen portti, johon linjaseurantalaite on kytketty, kirjoitetaan muodossa Brain.ThreeWirePort.X tai ExpanderName.X, jossa X on portin kirjain (esimerkiksi Brain.ThreeWirePort.A tai Expander1.A).

Esimerkkejä#

// Create a line instance in Port A
line LineTrackerA = line(Brain.ThreeWirePort.A);

Jäsenten toiminnot#

line luokka sisältää seuraavat jäsenfunktiot:

  • reflectivity — Palauttaa arvon int32_t , joka edustaa pinnalta heijastuneen valon määrää prosentteina.

Ennen minkään line jäsenfunktion kutsumista on luotava line instanssi alla olevan mukaisesti:

/* This constructor is required when using VS Code.
Line Tracker configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a line instance in Port A
line LineTrackerA = line(Brain.ThreeWirePort.A);

reflectivity#

Palauttaa arvon int32_t , joka edustaa pinnalta heijastuneen valon määrää prosentteina. Tätä voidaan käyttää auttamaan robottia seuraamaan ennalta merkittyä reittiä.

Huomautus:

  • 0 % heijastavuus tarkoittaa, että kohde on hyvin tumma.

  • 100 % heijastavuus tarkoittaa, että kohde on erittäin kirkas.

Available Functions
int32_t reflectivity(
  percentUnits units = percentUnits::pct );

Parameters

Parametri

Tyyppi

Kuvaus

units

percentUnits

Heijastavuutta kuvaava yksikkö: percent pct (oletus) — prosenttia

Return Values

Palauttaa arvon int32_t joka edustaa viivanseurannan mittaamaa heijastavuutta prosentteina väliltä 0–100 %.

Examples
// Display the detected reflectivity
int32_t value = LineTrackerA.reflectivity();
Brain.Screen.print(value);