ഒപ്റ്റിക്കൽ സെൻസർ#

ആമുഖം#

ഒപ്റ്റിക്കൽ സെൻസറിൽ നിന്നുള്ള ഡാറ്റ ആക്‌സസ് ചെയ്യാൻ optical ക്ലാസ് ഉപയോഗിക്കുന്നു. വസ്തുക്കളെ കണ്ടെത്താനും, നിറങ്ങൾ തിരിച്ചറിയാനും, തെളിച്ചവും നിറവും അളക്കാനും ഇത് പ്രതിഫലിച്ച പ്രകാശം ഉപയോഗിക്കുന്നു.

ക്ലാസ് കൺസ്ട്രക്റ്റർ#

optical Optical = optical(index);

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

optical ഒബ്ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

virtual ~optical();

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

index

int32_t

ഒപ്റ്റിക്കൽ സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, PORTxഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ x എന്നത് പോർട്ട് നമ്പറാണ് (ഉദാഹരണത്തിന്, PORT1).

ഉദാഹരണങ്ങൾ#

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

അംഗ പ്രവർത്തനങ്ങൾ#

optical ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്‌ഷനുകൾ ഉൾപ്പെടുന്നു:

  • setLight — ഒപ്റ്റിക്കൽ സെൻസറിന്റെ LED ഓൺ അല്ലെങ്കിൽ ഓഫ് ചെയ്യുന്നു.

  • setLightPower — ഒപ്റ്റിക്കൽ സെൻസറിന്റെ ലൈറ്റ് പവർ ലെവൽ സജ്ജമാക്കുന്നു.

  • isNearObject — ഒപ്റ്റിക്കൽ സെൻസർ പരിധിക്കുള്ളിൽ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ ഇല്ലയോ എന്ന് നൽകുന്നു.

  • color — ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം തിരികെ നൽകുന്നു.

  • brightness — വസ്തുവിൽ നിന്ന് പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവ് നൽകുന്നു.

  • hue — ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം തിരികെ നൽകുന്നു.

  • objectDetected — ഒപ്റ്റിക്കൽ സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • objectLost — ഒപ്റ്റിക്കൽ സെൻസർ ഒരു വസ്തു നഷ്ടപ്പെടുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

ഏതെങ്കിലും optical അംഗ ഫംഗ്ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു optical ഉദാഹരണം സൃഷ്ടിക്കണം:

/* 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 object in Port 1
optical Optical1 = optical(PORT1);

setLight#

ഒപ്റ്റിക്കൽ സെൻസറിന്റെ LED ഓൺ അല്ലെങ്കിൽ ഓഫ് ആക്കുന്നു. വസ്തുക്കളെയും നിറങ്ങളെയും കൂടുതൽ വ്യക്തമായി കണ്ടെത്താൻ പ്രകാശം ഒപ്റ്റിക്കൽ സെൻസറിനെ സഹായിക്കും.

Available Functions
void  setLight(ledState state);

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

state

ledState

LED ഓണാക്കുകയോ ഓഫാക്കുകയോ ചെയ്യുന്നു. ledState::on LED 100% തെളിച്ചത്തിൽ ഓണാക്കുന്നു. ledState::off അത് ഓഫാക്കുന്നു.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

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

setLightPower#

ഒപ്റ്റിക്കൽ സെൻസറിന്റെ പ്രകാശം എത്രത്തോളം തെളിച്ചമുള്ളതാണെന്ന് സജ്ജമാക്കുന്നു. വസ്തുക്കളെയും നിറങ്ങളെയും കൂടുതൽ വ്യക്തമായി കണ്ടെത്താൻ പ്രകാശം ഒപ്റ്റിക്കൽ സെൻസറിനെ സഹായിക്കും.

ഉയർന്ന ശതമാനം പ്രകാശത്തെ കൂടുതൽ പ്രകാശപൂരിതമാക്കുന്നു. കുറഞ്ഞ ശതമാനം പ്രകാശത്തെ മങ്ങിക്കുന്നു.

ഒപ്റ്റിക്കൽ സെൻസറിന്റെ ലൈറ്റ് ഓഫ് ആണെങ്കിൽ, ലൈറ്റ് പവർ 0% ൽ കൂടുതൽ സജ്ജീകരിക്കുന്നത് ലൈറ്റ് ഓണാക്കും.

ഒപ്റ്റിക്കൽ സെൻസറിന്റെ ലൈറ്റ് ഓണാണെങ്കിൽ, ലൈറ്റ് പവർ 0% ആയി സജ്ജീകരിക്കുന്നത് ലൈറ്റ് ഓഫ് ആക്കും.

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

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

intensity

int32_t

ലൈറ്റ് 0 മുതൽ 100 ​​വരെ സജ്ജീകരിക്കുന്നതിനുള്ള പവർ ലെവൽ.

units

percentUnits

പ്രകാശ തീവ്രതയെ പ്രതിനിധീകരിക്കുന്ന യൂണിറ്റ്: percent / pct — ശതമാനം

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

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

isNearObject#

പരിധിക്കുള്ളിൽ ഒരു വസ്തുവിനെ ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തുന്നുണ്ടോ ഇല്ലയോ എന്ന് നൽകുന്നു.

Available Functions
bool  isNearObject();

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

സമീപത്തുള്ള ഒരു വസ്തു കണ്ടെത്തിയാൽ ഈ ഫംഗ്ഷൻ ഒരു ബൂളിയൻ നൽകുന്നു:

  • true — സമീപത്ത് ഒരു വസ്തു കണ്ടെത്തി.

  • false — ഒരു വസ്തു കണ്ടെത്തിയില്ല.

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

color#

കണ്ടെത്തിയ ഹ്യൂ മൂല്യത്തെ അടിസ്ഥാനമാക്കി, ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം തിരികെ നൽകുന്നു.

Available Functions
vex::color  color();

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

color class ന്റെ ഒരു ഉദാഹരണമായി ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം.

സാധ്യമായ നിറങ്ങൾ ഇവയാണ്:

  • blue – 196° നും 229° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • blue_green – 140° നും 195° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • blue_violet – 230° നും 239° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • green – 84° നും 139° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • orange – 21° നും 30° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • red – 350° നും 14° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • red_orange – 15° നും 20° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • red_violet – 281° നും 350° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • violet – 240° നും 280° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • yellow – 54° നും 74° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • yellow_green – 75° നും 83° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

  • yellow_orange – 31° നും 53° നും ഇടയിലുള്ള ഹ്യൂ മൂല്യം

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#

ഒപ്റ്റിക്കൽ സെൻസറിലേക്ക് എത്ര പ്രകാശം പ്രതിഫലിക്കുന്നുവെന്ന് തിരികെ നൽകുന്നു.

ഉയർന്ന ശതമാനം എന്നാൽ കൂടുതൽ പ്രകാശം ഒപ്റ്റിക്കൽ സെൻസറിലേക്ക് പ്രതിഫലിക്കുന്നു എന്നാണ്. കുറഞ്ഞ ശതമാനം എന്നാൽ കുറഞ്ഞ പ്രകാശം തിരികെ പ്രതിഫലിക്കുന്നു എന്നാണ്.

Available Functions
double  brightness(bool bRaw = false);

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

bRaw

bool

ശതമാനത്തിന് പകരം റോ ബ്രൈറ്റ്‌നെസ് ഡാറ്റ വായിക്കുന്നതിനുള്ള ഒരു ബൂളിയൻ മൂല്യം. ഡിഫോൾട്ട് false ആണ്.

Return Values

0 - 100% പരിധിയിൽ ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ തെളിച്ചത്തെ പ്രതിനിധീകരിക്കുന്ന ഒരു ഇരട്ടി, അല്ലെങ്കിൽ സെൻസർ കണ്ടെത്തിയ അസംസ്കൃത ഡാറ്റയെ പ്രതിനിധീകരിക്കുന്ന ഒരു ഇരട്ടി.

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#

ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം തിരികെ നൽകുന്നു.

വർണ്ണചക്രത്തിന് ചുറ്റുമുള്ള അക്കങ്ങൾ ഉപയോഗിച്ച് നിറങ്ങളെ വിവരിക്കുന്നതിനുള്ള ഒരു മാർഗമാണ് ഹ്യൂ.

VEX കളർ വീൽ ഒരു വൃത്തത്തിന് ചുറ്റുമുള്ള നിറങ്ങളുടെ ഡിഗ്രികൾ കാണിക്കുന്നു, ചുവപ്പ് 0 ഡിഗ്രിയിൽ ആയിരിക്കും, മൂല്യം വർദ്ധിക്കുന്നതിനനുസരിച്ച് മഴവില്ലിലൂടെ അത് മാറുന്നു.

Available Functions
double hue();

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

0 — 359.00 ശ്രേണിയിൽ ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറത്തിന്റെ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന ഒരു ഇരട്ടി.

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

objectDetected#

ഒരു ഒബ്‌ജക്റ്റ് കണ്ടെത്തുമ്പോൾ ഒരു കോൾബാക്ക് ഫംഗ്‌ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

ഒപ്റ്റിക്കൽ സെൻസർ ഒരു പുതിയ വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ നടപ്പിലാക്കുന്ന, മുമ്പ് നിർവചിക്കപ്പെട്ട ഒരു ഫംഗ്ഷൻ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക ( 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");
}

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#

ഒരു വസ്തു നഷ്ടപ്പെടുമ്പോൾ ഒരു കോൾബാക്ക് ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ ഒരു വസ്തു നഷ്ടപ്പെടുമ്പോൾ നടപ്പിലാക്കുന്ന, മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക ( 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");
}

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);
}