रंग सेंसर#

परिचय#

The colorsensor class is used to access data from the Color Sensor. It uses reflected light to detect objects, identify colors, and measure brightness and hue.

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

colorsensor Color1 = colorsensor(index);

क्लास डिस्ट्रक्टर#

colorsensor ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।

virtual ~colorsensor();

पैरामीटर#

पैरामीटर

प्रकार

विवरण

index

int32_t

कलर सेंसर जिस स्मार्ट पोर्ट से जुड़ा है, उसे PORTxके रूप में लिखा जाता है, जहां x पोर्ट नंबर है (उदाहरण के लिए, PORT1)।

उदाहरण#

// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);

सदस्य कार्य#

colorsensor क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:

  • setLight – कलर सेंसर के एलईडी को चालू, बंद या सेट ब्राइटनेस लेवल पर चालू करता है।

  • isNearObject – यह बताता है कि कोई वस्तु कलर सेंसर के करीब है या नहीं।

  • detects – यह बताता है कि कलर सेंसर द्वारा निर्दिष्ट रंग का पता लगाया गया है या नहीं।

  • colorname – रंग सेंसर द्वारा पता लगाए गए रंग का नाम लौटाता है।

  • brightness – किसी वस्तु की पता लगाई गई चमक लौटाता है।

  • hue – पता लगाया गया ह्यू मान लौटाता है।

किसी भी colorsensor सदस्य फ़ंक्शन को कॉल करने से पहले, एक colorsensor इंस्टेंस बनाना आवश्यक है, जैसा कि नीचे दिखाया गया है:

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

// Create an colorsensor instance in Port 1
colorsensor Color1 = colorsensor(PORT1);

setLight#

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

यदि कलर सेंसर की लाइट बंद है, तो लाइट की पावर को 0% से ऊपर सेट करने पर लाइट चालू हो जाएगी।

यदि कलर सेंसर की लाइट चालू है, तो लाइट की पावर को 0% पर सेट करने से लाइट बंद हो जाएगी।

अधिक प्रतिशत होने पर प्रकाश अधिक चमकीला होता है। कम प्रतिशत होने पर प्रकाश मंद होता है।

Available Functions

1 — ledState का उपयोग करके एलईडी को चालू या बंद करता है।

void setLight( 
  ledState  state );

2 — एलईडी को एक विशिष्ट तीव्रता पर चालू करता है।

void setLight( 
  int32_t      intensity, 
  percentUnits units = percent );

Parameters

पैरामीटर

प्रकार

विवरण

state

ledState

एलईडी को चालू या बंद करता है। ledState::on एलईडी को 100% चमक पर चालू करता है। ledState::off इसे बंद करता है।

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.
Color1.setLight(50, percent);

isNearObject#

यदि कलर सेंसर आस-पास किसी वस्तु का पता लगाता है तो यह मान लौटाता है।

Available Functions
bool  isNearObject();

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values

यह फ़ंक्शन एक बूलियन मान लौटाता है जो यह दर्शाता है कि आस-पास कोई वस्तु पाई गई है या नहीं:

  • true – कलर सेंसर किसी वस्तु का पता लगाता है।

  • false – कलर सेंसर किसी वस्तु का पता नहीं लगा पाया।

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

detects#

यह बताता है कि कलर सेंसर निर्दिष्ट रंग का पता लगा रहा है या नहीं।

Available Functions

1 — Detects a colorType.

bool detects( 
  colorType  color );

2 — Detects a vex::color.

bool detects( 
  vex::color  color );

Parameters

पैरामीटर

प्रकार

विवरण

color

colorType

मान्य रंग:

  • blue – ह्यू मान 196° और 229° के बीच
  • blue_green – ह्यू मान 140° और 195° के बीच
  • blue_violet – ह्यू मान 230° और 239° के बीच
  • green – ह्यू मान 84° और 139° के बीच
  • orange – ह्यू मान 21° और 30° के बीच
  • purple
  • red – ह्यू मान 350° और 14° के बीच
  • red_orange – ह्यू मान 15° और 20° के बीच
  • red_violet – ह्यू मान के बीच 281° और 350°
  • violet – रंग मान 240° और 280° के बीच
  • white
  • yellow – रंग मान 54° और 74° के बीच
  • yellow_green – रंग मान 75° और 83° के बीच
  • yellow_orange – रंग मान 31° और 53° के बीच

color

vex::color

एक मान्य कस्टम रंग, या ऊपर सूचीबद्ध पूर्वनिर्धारित रंगों में से एक।

Return Values
  • true – रंग सेंसर रंग का पता लगाता है।

  • false – रंग सेंसर रंग का पता नहीं लगा पा रहा है।

Examples
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Drive until a red object is seen
  Drivetrain.drive(forward);
  while (true) {
    if (Color1.detects(red)) {
      Drivetrain.stop();
      break;
    }
    wait(0.5, seconds);
  }
}

colorname#

सबसे निकटतम मेल खाने वाले रंग को लौटाता है।

Available Functions
colorType colorname();

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values

जब इसे सीधे प्रिंट किया जाता है, तो यह उस रंग से संबंधित संख्यात्मक मान दिखाता है:

रंग

संख्यात्मक मान

none

0

red

1

green

2

blue

3

white

4

yellow

5

orange

6

purple

7

cyan

8

red_violet

9

violet

10

blue_violet

11

blue_green

12

yellow_green

13

yellow_orange

14

red_orange

15

black

16

transparent

17

Notes
  • VEXcode द्वारा Devices विंडो में Color Sensor कॉन्फ़िगर करते समय फंक्शन convertColorToString स्वचालित रूप से बनाया जाता है। यह केवल VEXcode IQ प्रोजेक्ट्स के भीतर ही उपलब्ध है और अन्य वातावरणों में काम नहीं करेगा।

  • VEXcode के बाहर colorname का उपयोग करते समय, तुलना सीधे colorType मान के साथ की जानी चाहिए - कोई भी रंग जो colorType:: से शुरू होता है (उदाहरण के लिए, colorType::green या colorType::red)।

Examples
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Continuously check the detected color
  while (true) {

    // Compare the color name with "red"
    if (convertColorToString(Color1.colorname()) == "red") {
      Brain.Screen.print("Red object!");
    } else {
      Brain.Screen.print("Not red");
    }

    wait(0.5, seconds);
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
  }
}

int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // Continuously check the detected color
  while (true) {

    // Compare the color name with the colorType
    if (Color1.colorname() == colorType::red) {
      Brain.Screen.print("Red object!");
    } else {
      Brain.Screen.print("Not red");
    }

    wait(0.5, seconds);
    Brain.Screen.clearScreen();
    Brain.Screen.setCursor(1, 1);
  }
}

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 Color Sensor
double brightness = Color1.brightness();

// Print the brightness detected by the Color 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 Color Sensor.
double hue = Color1.hue();