Optinen anturi#

Johdanto#

Optinen optical -luokka mahdollistaa V5-optisen anturin datan käyttämisen. Se käyttää heijastunutta valoa esineiden havaitsemiseen, värien tunnistamiseen sekä kirkkauden ja sävyn mittaamiseen.

Luokan rakentaja#

optical Optical = optical(index);

Luokan tuhoaja#

Tuhoaa optisen optical objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~optical();

Parametrit#

Parametri

Tyyppi

Kuvaus

index

int32_t

Älyportti, johon optinen anturi on kytketty, kirjoitetaan muodossa PORTx, jossa x on portin numero (esimerkiksi PORT1).

Esimerkkejä#

// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);

Jäsenten toiminnot#

The optical class includes the following member functions:

  • setLight — Sytyttää tai sammuttaa optisen anturin LED-valon.

  • setLightPower — Asettaa optisen anturin valotehotason.

  • isNearObject — Palauttaa, havaitseeko optinen anturi kohteen kantaman sisällä.

  • color — Palauttaa optisen anturin havaitseman värin.

  • brightness — Palauttaa kohteesta heijastuneen valon määrän.

  • hue — Palauttaa optisen anturin havaitseman sävyn.

  • objectDetected — Rekisteröi funktion, jota kutsutaan, kun optinen anturi havaitsee kohteen.

  • objectLost — Rekisteröi funktion, jota kutsutaan, kun optinen anturi kadottaa objektin.

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

// Create an optical object in Port 1
optical Optical1 = optical(PORT1);

setLight#

Asettaa optisen anturin LED-valon päälle tai pois päältä. Valo voi auttaa optista anturia havaitsemaan esineitä ja värejä selkeämmin.

Available Functions
void  setLight(ledState state);

Parameters

Parametri

Tyyppi

Kuvaus

state

ledState

Sets the LED on or off. ledState::on turns the LED on at 100% brightness. ledState::off turns it off.

Return Values

Tämä funktio ei palauta arvoa.

Examples
// Turn on LED with previous intensity.
Optical.setLight(ledState::on);

setLightPower#

Asettaa optisen anturin LED-valon kirkkauden. Valo voi auttaa optista anturia havaitsemaan esineitä ja värejä selkeämmin.

Jos optisen anturin valo on pois päältä, valotehon asettaminen yli 0 %:n arvoon sytyttää valon.

Jos optisen anturin valo palaa, valotehon asettaminen arvoon 0 % sammuttaa valon.

Suurempi prosenttiosuus tekee valosta kirkkaampaa. Pienempi prosenttiosuus tekee valosta himmeämpää.

Available Functions
void setLightPower( 
      int32_t      intensity, 
      percentUnits units = percent );

Parameters

Parametri

Tyyppi

Kuvaus

intensity

int32_t

Valon tehotaso asetetaan välille 0–100.

units

percentUnits

Valon voimakkuutta kuvaava yksikkö: percent prosenttia pct

Return Values

Tämä funktio ei palauta arvoa.

Examples
// Set the light power to 50 percent.
Optical.setLightPower(50, percent);

isNearObject#

Palauttaa, jos optinen anturi havaitsee lähellä olevan kohteen.

Available Functions
bool  isNearObject();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Tämä funktio palauttaa totuusarvon, joka ilmaisee, onko lähellä oleva kohde havaittu:

  • true – Optinen anturi havaitsee kohteen.

  • false – Optinen anturi ei havaitse kohdetta.

Examples
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
  Brain.Screen.print("near object");
}

color#

Palauttaa optisen anturin havaitseman värin.

Available Functions
vex::color  color();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Optisen anturin havaitsema väri color class -luokan instanssina.

Mahdollisia värejä ovat:

  • black

  • white

  • red - Sävyarvo välillä 340° - 20°

  • green - Sävyarvo välillä 80° - 140°

  • blue - Sävyarvo välillä 200° - 240°

  • yellow - Sävyarvo välillä 40° - 60°

  • orange - Sävyarvo välillä 20° - 40°

  • purple - Sävyarvo välillä 240° - 280°

  • cyan - Sävyarvo välillä 140° - 200°

Examples
// Set a variable, detectColor, to the color detected by the
// Optical Sensor
color detectColor = Optical.color();

// Print the color detected by the Optical Sensor
// to the Brain's screen
Brain.Screen.print(detectColor);

brightness#

Palauttaa objektista heijastuneen valon määrän.

Korkeampi prosenttiosuus tarkoittaa, että enemmän valoa heijastuu takaisin optiseen anturiin. Matalampi prosenttiosuus tarkoittaa, että vähemmän valoa heijastuu takaisin.

Available Functions
double  brightness(bool bRaw = false);

Parameters

Parametri

Tyyppi

Kuvaus

bRaw

bool

Totuusarvo, jolla luetaan raaka kirkkausdata prosenttiarvon sijaan. Oletusarvo on false.

Return Values

Kaksinkertainen arvo, joka edustaa optisen anturin havaitsemaa kirkkautta kaksoisarvona välillä 0–100 %, tai kaksoisarvo, joka edustaa anturin havaitsemaa raakadataa.

Examples
// Set a variable, brightness, to the value of the brightness
// detected by the Optical Sensor
double brightness = Optical.brightness();

// Print the brightness detected by the Optical Sensor to the
// Brain's screen
Brain.Screen.print(brightness);

hue#

Palauttaa havaitun värin sävyarvon.

Sävy on tapa kuvata väriä käyttämällä numeroita väriympyrän ympärillä.

VEX-väriympyrä, joka näyttää värien asteet ympyrän ympärillä, punaisen ollessa 0 asteessa ja siirtyen sateenkaaren läpi arvon kasvaessa.

Available Functions
double hue();

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values

Kaksinkertainen arvo, joka edustaa optisen anturin havaitsemaa sävyn arvoa välillä 0–359,99.

Examples
// Set a variable, hue, to the value of the hue detected
// by the Optical Sensor.
double hue = Optical.hue();

objectDetected#

Rekisteröi takaisinkutsufunktion, kun objekti havaitaan.

Available Functions
void objectDetected(void (* callback)(void));

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi havaitsee uuden kohteen.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

// Display a message when the Optical Sensor detects an object.
void detected() {
  Brain.Screen.print("object detected");
}

Rekisteröi takaisinkutsu int main()

int main() {
  // Run detected when the Optical Sensor detects an object.
  Optical.objectDetected(detected);
}

objectLost#

Rekisteröi takaisinkutsufunktion, kun objekti katoaa.

Available Functions
void objectLost(void (* callback)(void));

Parameters

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi kadottaa havaitun kohteen.

Return Values

Tämä funktio ei palauta arvoa.

Examples

Määrittele takaisinkutsufunktio ( int main())

// Display a message when the Optical Sensor loses an object.
void lost() {
  Brain.Screen.print("object lost");
}

Rekisteröi takaisinkutsu int main()

int main() {
  // Run lost when the Optical Sensor loses an object.
  Optical.objectLost(lost);
}