प्रकाशीय संवेदक#
परिचय#
optical क्लास का उपयोग EXP ऑप्टिकल सेंसर से डेटा प्राप्त करने के लिए किया जाता है। यह परावर्तित प्रकाश का उपयोग करके वस्तुओं का पता लगाता है, रंगों की पहचान करता है और चमक और आभा को मापता है।
क्लास कंस्ट्रक्टर#
optical(
int32_t index );
क्लास डिस्ट्रक्टर#
optical ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।
virtual ~optical();
पैरामीटर#
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
ऑप्टिकल सेंसर जिस स्मार्ट पोर्ट से जुड़ा है, उसे |
उदाहरण#
// 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 Functionsvoid setLight(ledState state);
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एलईडी को चालू या बंद करता है। |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
Examples// Turn on LED with previous intensity.
Optical.setLight(ledState::on);
setLightPower#
यह ऑप्टिकल सेंसर के एलईडी की चमक को सेट करता है। यह रोशनी ऑप्टिकल सेंसर को वस्तुओं और रंगों को अधिक स्पष्ट रूप से पहचानने में मदद कर सकती है।
यदि ऑप्टिकल सेंसर की लाइट बंद है, तो लाइट की पावर को 0% से ऊपर सेट करने पर लाइट चालू हो जाएगी।
यदि ऑप्टिकल सेंसर की लाइट चालू है, तो लाइट की पावर को 0% पर सेट करने से लाइट बंद हो जाएगी।
अधिक प्रतिशत होने पर प्रकाश अधिक चमकीला होता है। कम प्रतिशत होने पर प्रकाश मंद होता है।
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
प्रकाश की शक्ति का स्तर 0 से 100 तक सेट किया जा सकता है। |
|
|
The unit that represents the light intensity: |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
Examples// Set the light power to 50 percent.
Optical.setLightPower(50, percent);
isNearObject#
यदि ऑप्टिकल सेंसर आस-पास की किसी वस्तु का पता लगाता है तो यह मान लौटाता है।
Available Functionsbool isNearObject();
यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
Return Valuesयह फ़ंक्शन एक बूलियन मान लौटाता है जो यह दर्शाता है कि आस-पास कोई वस्तु पाई गई है या नहीं:
true– ऑप्टिकल सेंसर किसी वस्तु का पता लगाता है।false– ऑप्टिकल सेंसर किसी वस्तु का पता नहीं लगाता है।
// If an object is detected by the Optical Sensor, print
// "near object".
if (Optical.isNearObject()){
Brain.Screen.print("near object");
}
color#
ऑप्टिकल सेंसर द्वारा पता लगाए गए रंग को लौटाता है।
Available Functionsvex::color color();
यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
Return Valuesऑप्टिकल सेंसर द्वारा रंग वर्ग के एक उदाहरण के रूप में पता लगाया गया रंग।
संभावित रंग ये हैं:
blackwhitered- 340° - 20° के बीच का रंग मानgreen- 80° - 140° के बीच का रंग मानblue- 200° - 240° के बीच का रंग मानyellow- 40° - 60° के बीच का रंग मानorange- 20° - 40° के बीच का रंग मानpurple- 240° - 280° के बीच का रंग मानcyan- 140° - 200° के बीच का रंग मान
// 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 Functionsdouble brightness(bool bRaw = false);
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
प्रतिशत के बजाय कच्ची चमक का डेटा पढ़ने के लिए एक बूलियन मान। डिफ़ॉल्ट मान |
एक डबल जो ऑप्टिकल सेंसर द्वारा पता लगाई गई चमक को 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#
यह पता लगाए गए रंग का ह्यू मान लौटाता है।
ह्यू एक ऐसा तरीका है जिससे रंग चक्र पर संख्याओं का उपयोग करके रंग का वर्णन किया जाता है।

double hue();
यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
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 Functionsvoid objectDetected(void (* callback)(void));
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एक पूर्व-परिभाषित फ़ंक्शन जो ऑप्टिकल सेंसर द्वारा एक नई वस्तु का पता लगाने पर निष्पादित होता है। |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
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 Functionsvoid objectLost(void (* callback)(void));
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
एक पूर्व-परिभाषित फ़ंक्शन जो ऑप्टिकल सेंसर द्वारा पता लगाए गए ऑब्जेक्ट को खो देने पर निष्पादित होता है। |
इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
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); }