কালার সেন্সর#

ভূমিকা#

colorsensor ক্লাসটি কালার সেন্সর থেকে ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়। এটি প্রতিফলিত আলো ব্যবহার করে বস্তু শনাক্ত করে, রঙ চিহ্নিত করে এবং উজ্জ্বলতা ও বর্ণচ্ছটা পরিমাপ করে।

ক্লাস কনস্ট্রাক্টর#

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 – কালার সেন্সরের LED চালু, বন্ধ, বা একটি নির্দিষ্ট উজ্জ্বলতার স্তরে চালু করে।

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

কালার সেন্সরের এলইডি-র আলোর তীব্রতা নির্ধারণ করে। এই আলো কালার সেন্সরকে বস্তু এবং রং আরও স্পষ্টভাবে শনাক্ত করতে সাহায্য করে।

কালার সেন্সরের লাইট বন্ধ থাকলে, লাইটের পাওয়ার ০%-এর উপরে সেট করলে লাইটটি জ্বলে উঠবে।

যদি কালার সেন্সরের লাইটটি চালু থাকে, তাহলে লাইটের পাওয়ার ০%-এ সেট করলে লাইটটি বন্ধ হয়ে যাবে।

বেশি শতাংশ আলোকে আরও উজ্জ্বল করে। কম শতাংশ আলোকে আরও অনুজ্জ্বল করে।

Available Functions

1 — ledState ব্যবহার করে এলইডি চালু বা বন্ধ করে।

void setLight( 
  ledState  state );

2 — এলইডি-টিকে একটি নির্দিষ্ট তীব্রতায় চালু করে।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

state

ledState

এলইডি চালু বা বন্ধ করে। ledState::on এলইডি-কে ১০০% উজ্জ্বলতায় চালু করে। ledState::off এটিকে বন্ধ করে।

intensity

int32_t

আলোর পাওয়ার লেভেল ০ থেকে ১০০ পর্যন্ত সেট করা যায়।

units

percentUnits

আলোর তীব্রতা বোঝানোর একক: percent pct — শতাংশ

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

A valid color:

  • blue – Hue value between 196° and 229°
  • blue_green – Hue value between 140° and 195°
  • blue_violet – Hue value between 230° and 239°
  • green – Hue value between 84° and 139°
  • orange – Hue value between 21° and 30°
  • purple
  • red – Hue value between 350° and 14°
  • red_orange – Hue value between 15° and 20°
  • red_violet – Hue value between 281° and 350°
  • violet – Hue value between 240° and 280°
  • white
  • yellow – Hue value between 54° and 74°
  • yellow_green – Hue value between 75° and 83°
  • yellow_orange – Hue value between 31° and 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

০

red

১

green

২

blue

৩

white

৪

yellow

৫

orange

৬

purple

৭

cyan

৮

red_violet

৯

violet

১০

blue_violet

১১

blue_green

১২

yellow_green

১৩

yellow_orange

১৪

red_orange

১৫

black

১৬

transparent

১৭

Notes
  • ডিভাইসেস উইন্ডোতে একটি কালার সেন্সর কনফিগার করার সময় VEXcode স্বয়ংক্রিয়ভাবে 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

কালার সেন্সর দ্বারা শনাক্তকৃত ০ - ১০০% পরিসরের উজ্জ্বলতার প্রতিনিধিত্বকারী একটি ডাবল, অথবা সেন্সর দ্বারা শনাক্তকৃত কাঁচা ডেটার প্রতিনিধিত্বকারী একটি ডাবল।

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 কালার হুইলটি একটি বৃত্তের চারপাশে রঙের মাত্রা দেখাচ্ছে, যেখানে লাল রঙ ০ মাত্রায় রয়েছে এবং মান বাড়ার সাথে সাথে রংধনুর বিভিন্ন রঙের মধ্য দিয়ে পরিবর্তিত হচ্ছে।

Available Functions
double hue();

Parameters

এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।

Return Values

একটি ডাবল যা কালার সেন্সর দ্বারা শনাক্তকৃত হিউ-এর মানকে ০ — ৩৫৯.০০ পরিসরের মধ্যে উপস্থাপন করে।

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