Optiskais sensors#

Ievads#

optical klase tiek izmantota, lai piekļūtu datiem no V5 optiskā sensora. Tā izmanto atstaroto gaismu, lai noteiktu objektus, identificētu krāsas un mērītu spilgtumu un nokrāsu.

Klases konstruktors#

optical Optical = optical(index);

Klases iznīcinātājs#

Iznīcina optical objektu un atbrīvo saistītos resursus.

virtual ~optical();

Parametri#

Parametrs

Tips

Apraksts

index

int32_t

Viedports, kuram ir pievienots optiskais sensors, kas pierakstīts kā PORTx, kur x ir porta numurs (piemēram, PORT1).

Piemēri#

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

Dalībnieku funkcijas#

optical klase ietver šādas dalībfunkcijas:

  • setLight — Ieslēdz vai izslēdz optiskā sensora LED indikatoru.

  • setLightPower — Iestata optiskā sensora gaismas jaudas līmeni.

  • isNearObject — Atgriež, vai optiskais sensors uztver objektu diapazonā.

  • color — Atgriež optiskā sensora noteikto krāsu.

  • brightness — Atgriež no objekta atstarotās gaismas daudzumu.

  • hue — Atgriež optiskā sensora noteikto nokrāsu.

  • objectDetected — Reģistrē funkciju, kas jāizsauc, kad optiskais sensors nosaka objektu.

  • objectLost — Reģistrē funkciju, kas jāizsauc, kad optiskais sensors pazaudē objektu.

Pirms jebkuru optical dalībnieku funkciju izsaukšanas ir jāizveido optical instance, kā parādīts zemāk:

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

setLight#

Ieslēdz vai izslēdz optiskā sensora LED indikatoru. Gaisma var palīdzēt optiskajam sensoram skaidrāk noteikt objektus un krāsas.

Available Functions
void  setLight(ledState state);

Parameters

Parametrs

Tips

Apraksts

state

ledState

Ieslēdz vai izslēdz LED. ledState::on ieslēdz LED ar 100% spilgtumu. ledState::off izslēdz to.

Return Values

Šī funkcija neatgriež vērtību.

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

setLightPower#

Iestata optiskā sensora gaismas diodes spilgtumu. Gaisma var palīdzēt optiskajam sensoram skaidrāk noteikt objektus un krāsas.

Ja optiskā sensora gaisma ir izslēgta, gaismas jaudas iestatīšana virs 0% ieslēgs gaismu.

Ja optiskā sensora gaisma ir ieslēgta, gaismas jaudas iestatīšana uz 0% izslēgs gaismu.

Augstāks procentuālais daudzums padara gaismu spilgtāku. Zemāks procentuālais daudzums padara gaismu blāvāku.

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

Parameters

Parametrs

Tips

Apraksts

intensity

int32_t

Gaismas jaudas līmenis ir no 0 līdz 100.

units

percentUnits

The unit that represents the light intensity: percent / pct — percent

Return Values

Šī funkcija neatgriež vērtību.

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

isNearObject#

Atgriež, ja optiskais sensors nosaka tuvumā esošu objektu.

Available Functions
bool  isNearObject();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Šī funkcija atgriež Būla vērtību, kas norāda, vai ir atklāts tuvumā esošs objekts:

  • true — optiskais sensors nosaka objektu.

  • false – Optiskais sensors neuztver objektu.

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

color#

Atgriež optiskā sensora noteikto krāsu.

Available Functions
vex::color  color();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Optiskā sensora noteiktā krāsa kā color class eksemplārs.

Iespējamās krāsas ir:

  • black

  • white

  • red — nokrāsas vērtība no 340° līdz 20°

  • green — nokrāsas vērtība no 80° līdz 140°

  • blue — nokrāsas vērtība no 200° līdz 240°

  • yellow — nokrāsas vērtība no 40° līdz 60°

  • orange — nokrāsas vērtība no 20° līdz 40°

  • purple — nokrāsas vērtība no 240° līdz 280°

  • cyan  — nokrāsas vērtība no 140° līdz 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#

Atgriež no objekta atstarotās gaismas daudzumu.

Augstāks procentuālais daudzums nozīmē, ka uz optisko sensoru tiek atstarots vairāk gaismas. Zemāks procentuālais daudzums nozīmē, ka uz optisko sensoru tiek atstarots mazāk gaismas.

Available Functions
double  brightness(bool bRaw = false);

Parameters

Parametrs

Tips

Apraksts

bRaw

bool

Būla vērtība neapstrādātu spilgtuma datu, nevis procentuālās vērtības nolasīšanai. Noklusējuma vērtība ir false.

Return Values

Divkāršs skaitlis, kas attēlo optiskā sensora noteikto spilgtumu kā divkāršu skaitli diapazonā no 0 līdz 100%, vai divkāršs skaitlis, kas attēlo sensora noteiktos neapstrādātos datus.

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#

Atgriež noteiktās krāsas nokrāsas vērtību.

Nokrāsa ir veids, kā aprakstīt krāsu, izmantojot skaitļus ap krāsu apli.

VEX krāsu aplis attēlo krāsu pakāpes aplī, kur sarkanā krāsa ir 0 grādi un pāriet varavīksnes krāsā, vērtībai palielinoties.

Available Functions
double hue();

Parameters

Šī funkcija nepieņem nekādus parametrus.

Return Values

Dubultskaitlis, kas apzīmē optiskā sensora noteikto nokrāsas vērtību diapazonā no 0 līdz 359,99.

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

objectDetected#

Reģistrē atzvanīšanas funkciju, kad tiek atklāts objekts.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Iepriekš definēta funkcija, kas tiek izpildīta, kad optiskais sensors nosaka jaunu objektu.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

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

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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

objectLost#

Reģistrē atzvanīšanas funkciju objekta pazaudēšanas gadījumā.

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

Parameters

Parametrs

Tips

Apraksts

callback

void (*)(void)

Iepriekš definēta funkcija, kas tiek izpildīta, kad optiskais sensors pazaudē noteiktu objektu.

Return Values

Šī funkcija neatgriež vērtību.

Examples

Definējiet atzvanīšanas funkciju (ārpus int main())

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

Reģistrējiet atzvanīšanas funkciju int main() iekšpusē

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