অপটিক্যাল সেন্সর#

ভূমিকা#

V5 অপটিক্যাল সেন্সরটি একটি RGB কালার সেন্সর এবং প্রক্সিমিটি সেন্সরের সমন্বয়ে কাছাকাছি থাকা বস্তুর রঙ, উজ্জ্বলতা এবং উপস্থিতি শনাক্ত করে। আরও নির্ভুলভাবে শনাক্তকরণের জন্য এটি এর অন্তর্নির্মিত LED ব্যবহার করে বস্তুগুলোকে আলোকিত করতে পারে।

VEX V5 অপটিক্যাল সেন্সর।

এই পৃষ্ঠায় উদাহরণস্বরূপ অপটিক্যাল সেন্সরের নাম হিসেবে optical_sensor ব্যবহার করা হয়েছে। প্রয়োজন অনুযায়ী এটিকে আপনার নিজের কনফিগার করা নাম দিয়ে প্রতিস্থাপন করুন।

উপলব্ধ পদ্ধতিগুলোর একটি তালিকা নিচে দেওয়া হলো:

  • set_light – অপটিক্যাল সেন্সরের LED চালু বা বন্ধ করে।

  • set_light_power – অপটিক্যাল সেন্সরের আলোর শক্তির মাত্রা নির্ধারণ করে।

  • is_near_object – অপটিক্যাল সেন্সর সীমার মধ্যে কোনো বস্তু সনাক্ত করে কিনা তা ফেরত দেয়।

  • color – অপটিক্যাল সেন্সর দ্বারা শনাক্ত করা রঙটি ফেরত দেয়।

  • brightness – বস্তু থেকে প্রতিফলিত আলোর পরিমাণ ফেরত দেয়।

  • hue – অপটিক্যাল সেন্সর দ্বারা শনাক্ত করা রঙ (hue) ফেরত দেয়।

  • object_detected – অপটিক্যাল সেন্সর কোনো বস্তু শনাক্ত করলে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।

  • object_lost – অপটিক্যাল সেন্সর কোনো বস্তু হারালে যে ফাংশনটি কল করা হবে তা রেজিস্টার করে।

কনস্ট্রাক্টর – ম্যানুয়ালি একটি অপটিক্যাল সেন্সর চালু করুন।

  • Optical – একটি অপটিক্যাল সেন্সর তৈরি করে।

সেট_লাইট#

set_light অপটিক্যাল সেন্সরের LED চালু বা বন্ধ করে। এটি রঙ শনাক্ত করার ক্ষেত্রে সেন্সরের নির্ভুলতা বাড়াতে সাহায্য করতে পারে।

Usage:
optical_sensor.set_light(state)

প্যারামিটার

বর্ণনা

রাজ্য

এলইডি চালু বা বন্ধ করে। LEDStateType.ON আলোটি 100% উজ্জ্বলতায় চালু করে। LEDStateType.OFF এটি বন্ধ করে।

# Turn on the sensor's LED
optical_sensor.set_light(LEDStateType.ON)

আলোর শক্তি সেট করুন#

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

যদি অপটিক্যাল সেন্সরের আলো বন্ধ থাকে, তাহলে আলোর শক্তি ০% এর উপরে সেট করলে আলোটি জ্বলে উঠবে।

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

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

Usage:
optical_sensor.set_light_power(percent, units)

প্যারামিটার

বর্ণনা

শতাংশ

এলইডি-র উজ্জ্বলতা একটি পূর্ণ সংখ্যা হিসাবে সেট করতে হবে।

ইউনিট

ঐচ্ছিক। উজ্জ্বলতা প্রকাশের একক: PERCENT

# Turn on the sensor's light at half brightness
optical_sensor.set_light_power(50, PERCENT)

is_near_object#

is_near_object একটি বুলিয়ান মান রিটার্ন করে যা নির্দেশ করে যে অপটিক্যাল সেন্সরটি সীমার মধ্যে কোনো বস্তু শনাক্ত করেছে কি না।

  • True – অপটিক্যাল সেন্সরটি একটি বস্তু শনাক্ত করে।

  • False – অপটিক্যাল সেন্সরটি কোনো বস্তু শনাক্ত করতে পারছে না।

Usage:
optical_sensor.is_near_object()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Drive forward until an object is found
drivetrain.drive(FORWARD)
while not optical_sensor.is_near_object():
  pass
drivetrain.stop()

রঙ#

color শনাক্তকৃত হিউ মানের উপর ভিত্তি করে একটি Color ক্লাস এর ইনস্ট্যান্স ফেরত দেয়। শর্তসাপেক্ষ বিবৃতি তৈরি করার জন্য এগুলিকে পূর্বনির্ধারিত Color অবজেক্টের সাথে তুলনা করা যেতে পারে।

সম্ভাব্য রংগুলো হলো:

  • Color.BLACK

  • Color.WHITE

  • Color.RED - ৩৪০° - ২০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.GREEN - ৮০° - ১৪০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.BLUE - ২০০° - ২৪০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.YELLOW - ৪০° - ৬০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.ORANGE - ২০° - ৪০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.PURPLE - ২৪০° - ২৮০° এর মধ্যে একটি বর্ণচ্ছটার মান

  • Color.CYAN - ১৪০° - ২০০° এর মধ্যে একটি বর্ণচ্ছটার মান

দ্রষ্টব্য: অপটিক্যাল সেন্সরটি নির্দিষ্ট রঙের সাথে মেলে এমন হিউ রেঞ্জ খুঁজছে। নির্দিষ্ট হিউ রেঞ্জ সনাক্ত করার জন্য, hue দেখুন।

Usage:
optical_sensor.color()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Drive forward until red is found
drivetrain.drive(FORWARD)
while not optical_sensor.color() == Color.RED:
  pass
drivetrain.stop()

উজ্জ্বলতা#

brightness বস্তু থেকে প্রতিফলিত আলোর পরিমাণকে একটি দশমিক (float) হিসাবে ফেরত দেয় যা শতাংশকে প্রতিনিধিত্ব করে।

উচ্চ শতাংশের অর্থ হলো অপটিক্যাল সেন্সরে বেশি আলো প্রতিফলিত হয়। নিম্ন শতাংশের অর্থ হলো কম আলো প্রতিফলিত হয়।

Usage:
optical_sensor.brightness()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

রঙ#

hue সনাক্ত করা রঙের হিউ মান 0 থেকে 359 পর্যন্ত একটি দশমিক (float) হিসাবে ফেরত দেয়।

হিউ হলো কালার হুইলের সংখ্যা ব্যবহার করে রঙ বর্ণনা করার একটি পদ্ধতি।

VEX কালার হুইলটি একটি বৃত্তের চারপাশে রঙের মাত্রা দেখাচ্ছে, যেখানে লাল রঙ ০ মাত্রায় রয়েছে এবং মান বাড়ার সাথে সাথে রংধনুর বিভিন্ন রঙের মধ্য দিয়ে পরিবর্তিত হচ্ছে।

Usage: optical_sensor.hue()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Look for the color pink using hue
while True:
  brain.screen.clear_screen()
  brain.screen.set_cursor(1, 1)

  if 300 < optical_sensor.hue() < 359:
    brain.screen.print("This is pink!")
  else:
    brain.screen.print("No pink detected!")

বস্তু সনাক্ত করা হয়েছে#

object_detected এমন একটি ফাংশন রেজিস্টার করে, যা অপটিক্যাল সেন্সর কোনো নতুন বস্তু শনাক্ত করলেই কল করা হবে।

Usage:
optical_sensor.object_detected(callback, arg)

প্যারামিটার

বর্ণনা

callback

পূর্বে সংজ্ঞায়িত একটি ফাংশন যা অপটিক্যাল সেন্সর একটি নতুন বস্তু সনাক্ত করলে কার্যকর হয়।

arg

ঐচ্ছিক। কলব্যাক ফাংশনে পাঠানোর জন্য আর্গুমেন্ট ধারণকারী একটি টাপল। আরও তথ্যের জন্য প্যারামিটার সহ ফাংশনের ব্যবহার দেখুন।

def my_function():
  brain.screen.print("Optical Sensor detected an object")

# Call my_function whenever optical_sensor detects an object
optical_sensor.object_detected(my_function)

বস্তু_হারানো#

object_lost এমন একটি ফাংশন রেজিস্টার করে, যা অপটিক্যাল সেন্সর কোনো শনাক্ত করা বস্তু হারিয়ে ফেললে কল করা হবে।

Usage:
optical_sensor.object_lost(callback, arg)

প্যারামিটার

বর্ণনা

callback

পূর্বে সংজ্ঞায়িত একটি ফাংশন যা অপটিক্যাল সেন্সর সনাক্ত করা বস্তু হারিয়ে ফেললে কার্যকর হয়।

arg

ঐচ্ছিক। কলব্যাক ফাংশনে পাঠানোর জন্য আর্গুমেন্ট ধারণকারী একটি টাপল। আরও তথ্যের জন্য প্যারামিটার সহ ফাংশনের ব্যবহার দেখুন।

def my_function():
  brain.screen.print("Optical Sensor lost an object")

# Call my_function whenever optical_sensor loses an object
optical_sensor.object_lost(my_function)

নির্মাতা#

VEXcode-এর বাইরে একটি অপটিক্যাল সেন্সর কনফিগার করার জন্য প্রয়োজনীয় Optical অবজেক্টগুলো ম্যানুয়ালি তৈরি করতে কনস্ট্রাক্টর ব্যবহার করা হয়।

Optical#

Optical একটি অপটিক্যাল সেন্সর তৈরি করে।

Usage:
Optical(smartport)

প্যারামিটার

বর্ণনা

smartport

যে স্মার্ট পোর্টের সাথে অপটিক্যাল সেন্সরটি সংযুক্ত থাকে, তা Ports.PORTx হিসাবে লেখা হয়, যেখানে x হলো পোর্টের সংখ্যা।

# Create an Optical Sensor in Port 10
optical_sensor = Optical(Ports.PORT10)