प्रकाशीय संवेदक#

परिचय#

optical क्लास का उपयोग EXP ऑप्टिकल सेंसर से डेटा प्राप्त करने के लिए किया जाता है। यह परावर्तित प्रकाश का उपयोग करके वस्तुओं का पता लगाता है, रंगों की पहचान करता है और चमक और आभा को मापता है।

क्लास कंस्ट्रक्टर#

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 — ऑप्टिकल सेंसर के एलईडी को चालू या बंद करता है।

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

ऑप्टिकल सेंसर के एलईडी को चालू या बंद करता है। यह प्रकाश ऑप्टिकल सेंसर को वस्तुओं और रंगों को अधिक स्पष्ट रूप से पहचानने में मदद कर सकता है।

Available Functions
void  setLight(ledState state);

Parameters

पैरामीटर

प्रकार

विवरण

state

ledState

एलईडी को चालू या बंद करता है। ledState::on एलईडी को 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

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

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

ऑप्टिकल सेंसर द्वारा रंग वर्ग के एक उदाहरण के रूप में पता लगाया गया रंग।

संभावित रंग ये हैं:

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