অপটিক্যাল সেন্সর#
ভূমিকা#
EXP অপটিক্যাল সেন্সর থেকে ডেটা অ্যাক্সেস করার জন্য optical ক্লাসটি ব্যবহৃত হয়। এটি বস্তু শনাক্ত করতে, রং চিহ্নিত করতে এবং উজ্জ্বলতা ও বর্ণচ্ছটা পরিমাপ করতে প্রতিফলিত আলো ব্যবহার করে।
ক্লাস কনস্ট্রাক্টর#
optical(
int32_t index );
ক্লাস ডেস্ট্রাক্টর#
optical অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।
virtual ~optical();
প্যারামিটার#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে স্মার্ট পোর্টের সাথে অপটিক্যাল সেন্সরটি সংযুক্ত থাকে, তা |
উদাহরণ#
// Create an optical instance in Port 1
optical Optical1 = optical(PORT1);
সদস্যদের কার্যাবলী#
optical ক্লাসে নিম্নলিখিত সদস্য ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
setLight— অপটিক্যাল সেন্সরের LED চালু বা বন্ধ করে।setLightPower— অপটিক্যাল সেন্সরের আলোর শক্তির মাত্রা নির্ধারণ করে।isNearObject— অপটিক্যাল সেন্সরটি সীমার মধ্যে কোনো বস্তু সনাক্ত করতে পারে কিনা তা ফেরত দেয়।color— অপটিক্যাল সেন্সর দ্বারা শনাক্ত করা রঙটি ফেরত দেয়।brightness— বস্তু থেকে প্রতিফলিত আলোর পরিমাণ ফেরত দেয়।hue— অপটিক্যাল সেন্সর দ্বারা শনাক্ত করা রঙ (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#
অপটিক্যাল সেন্সরের এলইডি-র উজ্জ্বলতা নির্ধারণ করে। এই আলো অপটিক্যাল সেন্সরকে বস্তু এবং রং আরও স্পষ্টভাবে শনাক্ত করতে সাহায্য করে।
যদি অপটিক্যাল সেন্সরের আলো বন্ধ থাকে, তাহলে আলোর শক্তি ০% এর উপরে সেট করলে আলোটি জ্বলে উঠবে।
যদি অপটিক্যাল সেন্সরের আলোটি চালু থাকে, তাহলে আলোর শক্তি ০%-এ সেট করলে আলোটি বন্ধ হয়ে যাবে।
বেশি শতাংশ আলোকে আরও উজ্জ্বল করে। কম শতাংশ আলোকে আরও অনুজ্জ্বল করে।
Available Functionsvoid setLightPower(
int32_t intensity,
percentUnits units = percent );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
আলোর পাওয়ার লেভেল ০ থেকে ১০০ পর্যন্ত সেট করা যায়। |
|
|
আলোর তীব্রতা বোঝানোর একক: |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
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- ৩৪০° থেকে ২০° এর মধ্যে একটি বর্ণচ্ছটার মানgreen- ৮০° - ১৪০° এর মধ্যে একটি বর্ণচ্ছটার মানblue- ২০০° - ২৪০° এর মধ্যে একটি বর্ণচ্ছটার মানyellow- ৪০° - ৬০° এর মধ্যে একটি বর্ণচ্ছটার মানorange- ২০° - ৪০° এর মধ্যে একটি বর্ণচ্ছটার মানpurple- ২৪০° - ২৮০° এর মধ্যে একটি বর্ণচ্ছটার মানcyan- ১৪০° - ২০০° এর মধ্যে একটি বর্ণচ্ছটার মান
// 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);
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
শতাংশের পরিবর্তে প্রকৃত উজ্জ্বলতার ডেটা পড়ার জন্য একটি বুলিয়ান মান। ডিফল্ট হলো |
একটি ডাবল যা অপটিক্যাল সেন্সর দ্বারা ০ - ১০০% পরিসরের মধ্যে উজ্জ্বলতা হিসেবে শনাক্ত করা হয়, অথবা একটি ডাবল যা সেন্সর দ্বারা শনাক্ত করা কাঁচা ডেটা উপস্থাপন করে।
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একটি ডাবল যা অপটিক্যাল সেন্সর দ্বারা শনাক্তকৃত হিউ-এর মানকে ০ — ৩৫৯.৯৯ পরিসরের মধ্যে উপস্থাপন করে।
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); }