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

ആമുഖം#

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

ക്ലാസ് കൺസ്ട്രക്‌ടറുകൾ#

optical(
    int32_t 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 instance
optical Optical1 = optical(
    PORT1);   // Smart Port 1

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 ന്റെ ഒരു ഉദാഹരണമായി ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറം.

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

  • black

  • white

  • red - 340° - 20° യ്ക്ക് ഇടയിലുള്ള ഒരു ഹ്യൂ മൂല്യം

  • green - 80° - 140° യ്ക്ക് ഇടയിലുള്ള ഒരു ഹ്യൂ മൂല്യം

  • blue - 200° - 240° യ്ക്ക് ഇടയിലുള്ള ഒരു ഹ്യൂ മൂല്യം

  • yellow - 40° - 60° വരെയുള്ള ഒരു ഹ്യൂ മൂല്യം

  • orange - 20° - 40° വരെയുള്ള ഒരു ഹ്യൂ മൂല്യം

  • purple - 240° - 280° യ്ക്ക് ഇടയിലുള്ള ഒരു ഹ്യൂ മൂല്യം

  • cyan - 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#

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

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

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.99 ശ്രേണിയിൽ ഒപ്റ്റിക്കൽ സെൻസർ കണ്ടെത്തിയ നിറത്തിന്റെ മൂല്യത്തെ പ്രതിനിധീകരിക്കുന്ന ഒരു ഇരട്ടി.

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