Braiteoir Optúil#

Réamhrá#

Úsáidtear an rang optúil optical chun rochtain a fháil ar shonraí ón Braiteoir Optúil EXP. Úsáideann sé solas frithchaite chun rudaí a bhrath, dathanna a aithint, agus gile agus dath a thomhas.

Tógálaithe Ranga#

optical(
    int32_t index );

Scriostóir Ranga#

Scriosann sé an réad optúil optical agus scaoileann sé acmhainní gaolmhara.

virtual ~optical();

Paraiméadair#

Paraiméadar

Cineál

Cur síos

index

int32_t

An Port Cliste a bhfuil an Braiteoir Optúil ceangailte leis, scríofa mar PORTx, áit a seasann x don uimhir phoirt (mar shampla, PORT1).

Samplaí#

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

Feidhmeanna na mBall#

Áirítear leis an rang optical na feidhmeanna ball seo a leanas:

  • setLight — Casann sé seo LED an Braiteora Optúil air nó as.

  • setLightPower — Socraíonn sé leibhéal cumhachta solais an Braiteora Optúil.

  • isNearObject — Tugann sé seo ar ais an mbraitheann an Braiteoir Optúil réad laistigh den raon.

  • color — Tugann sé seo an dath a bhraith an Braiteoir Optúil ar ais.

  • brightness — Tugann sé seo ar ais an méid solais a léirítear ón réad.

  • hue — Tugann sé seo an dath a bhraith an Braiteoir Optúil ar ais.

  • objectDetected — Cláraíonn sé feidhm le glaoch uirthi nuair a bhraithfidh an Braiteoir Optúil réad.

  • objectLost — Cláraíonn sé feidhm le glaoch uirthi nuair a chailleann an Braiteoir Optúil réad.

Sula nglaotar ar aon fheidhmeanna optical chomhalta, ní mór sampla optical a chruthú, mar a thaispeántar thíos:

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

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

setLight#

Socraíonn sé LED an Braiteora Optúil ar siúl nó as. Is féidir leis an solas cabhrú leis an Braiteoir Optúil rudaí agus dathanna a bhrath níos soiléire.

Available Functions
void  setLight(ledState state);

Parameters

Paraiméadar

Cineál

Cur síos

state

ledState

Socraíonn sé an LED air nó as. ledState::on Casann sé an LED air ag 100% gile. ledState::off Casann sé as é.

Return Values

Ní thugann an fheidhm seo luach ar ais.

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

setLightPower#

Socraíonn sé gile LED an Braiteora Optúil. Is féidir leis an solas cabhrú leis an Braiteoir Optúil rudaí agus dathanna a bhrath níos soiléire.

Mura bhfuil solas an Braiteora Optúil múchta, lasfar an solas má shocraítear cumhacht an tsolais os cionn 0%.

Má tá solas an Braiteora Optúil lasta, múchfar an solas má shocraítear cumhacht an tsolais ag 0%.

Déanann céatadán níos airde an solas níos gile. Déanann céatadán níos ísle an solas níos laige.

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

Parameters

Paraiméadar

Cineál

Cur síos

intensity

int32_t

An leibhéal cumhachta chun an solas a shocrú ó 0 – 100.

units

percentUnits

An t-aonad a léiríonn déine an tsolais: percent / pct — faoin gcéad

Return Values

Ní thugann an fheidhm seo luach ar ais.

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

isNearObject#

Filleann sé má bhraitheann an Braiteoir Optúil réad in aice láimhe.

Available Functions
bool  isNearObject();

Parameters

Ní ghlacann an fheidhm seo le haon pharaiméadair.

Return Values

Seolann an fheidhm seo luach Booleanach a léiríonn an bhfuil réad in aice láimhe braite:

  • true – Braitheann an Braiteoir Optúil réad.

  • false – Ní bhraitheann an Braiteoir Optúil réad.

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

color#

Tugann sé seo an dath a bhraith an Braiteoir Optúil ar ais.

Available Functions
vex::color  color();

Parameters

Ní ghlacann an fheidhm seo le haon pharaiméadair.

Return Values

An dath a bhraitear ag an Braiteoir Optúil mar shampla den aicme datha.

Is iad na dathanna féideartha ná:

  • black

  • white

  • red - Luach datha idir 340° - 20°

  • green - Luach datha idir 80° - 140°

  • blue - Luach datha idir 200° - 240°

  • yellow - Luach datha idir 40° - 60°

  • orange - Luach datha idir 20° - 40°

  • purple - Luach datha idir 240° - 280°

  • cyan - Luach datha idir 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#

Tugann sé seo an méid solais a léirítear ón réad ar ais.

Ciallaíonn céatadán níos airde go léirítear níos mó solais ar ais chuig an Braiteoir Optúil. Ciallaíonn céatadán níos ísle go léirítear níos lú solais ar ais.

Available Functions
double  brightness(bool bRaw = false);

Parameters

Paraiméadar

Cineál

Cur síos

bRaw

bool

Luach Booleánach chun sonraí gile amha a léamh in ionad céatadáin. Is é false an luach réamhshocraithe.

Return Values

Dúbailt a léiríonn an gile a bhraith an Braiteoir Optúil mar dhúbailt sa raon 0 - 100%, nó dúbailt a léiríonn na sonraí amha a bhraith an braiteoir.

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#

Tugann sé luach dath an datha a braitheadh ​​ar ais.

Is bealach é lí chun dath a chur síos trí uimhreacha a úsáid timpeall ar roth datha.

An Roth Dathanna VEX a thaispeánann céimeanna na ndathanna timpeall ciorcail, le dearg ag 0 céim agus ag aistriú tríd an tuar ceatha de réir mar a mhéadaíonn an luach.

Available Functions
double hue();

Parameters

Ní ghlacann an fheidhm seo le haon pharaiméadair.

Return Values

Dúbailt a léiríonn luach an datha a bhraith an Braiteoir Optúil sa raon 0 — 359.99.

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

objectDetected#

Cláraíonn sé feidhm athghlaoite nuair a bhraitear réad.

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

Parameters

Paraiméadar

Cineál

Cur síos

callback

void (*)(void)

Feidhm shainithe a fhorghníomhaítear nuair a bhraitheann an Braiteoir Optúil réad nua.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples

Sainmhínigh an fheidhm athghlaoite (lasmuigh de int main())

// Called when the Optical Sensor detects an object
void detected() {
  // The Brain will print that the Optical Sensor detected an
  // object to the Brain's screen.
  Brain.Screen.print("object detected");
}

Cláraigh an glao ar ais taobh istigh de int main()

/* vexcodeInit() is only required when using VEXcode.
Remove vexcodeInit() if compiling in VS Code. */
int main() {

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

objectLost#

Cláraíonn sé feidhm athghlaoite nuair a chailltear réad.

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

Parameters

Paraiméadar

Cineál

Cur síos

callback

void (*)(void)

Feidhm shainithe a fhorghníomhaítear nuair a chailleann an Braiteoir Optúil réad braite.

Return Values

Ní thugann an fheidhm seo luach ar ais.

Examples

Sainmhínigh an fheidhm athghlaoite (lasmuigh de int main())

// Called when the Optical Sensor loses an object
void lost() {
  // The Brain will print that the Optical Sensor lost an
  // object to the Brain's screen.
  Brain.Screen.print("object lost");
}

Cláraigh an glao ar ais taobh istigh de int main()

/* vexcodeInit() is only required when using VEXcode.
Remove vexcodeInit() if compiling in VS Code. */
int main() {

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