বস্তু সেন্সর#

ভূমিকা#

অবজেক্ট সেন্সর হলো একটি ইনফ্রারেড (IR) প্রক্সিমিটি সেন্সর যা প্রতিফলিত IR আলো ব্যবহার করে কোনো বস্তুর কাছাকাছি থাকা শনাক্ত করে।

VEX অবজেক্ট সেন্সর।

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

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

  • reflectivity – একটি integer ফেরত দেয় যা বস্তু থেকে প্রতিফলিত আলোর পরিমাণ শতাংশে প্রকাশ করে।

  • is_object_detected – অবজেক্ট সেন্সরটি কোনো বস্তু সনাক্ত করছে কিনা তা ফেরত দেয়।

  • set_threshold – কোনো বস্তুকে শনাক্ত করার জন্য প্রয়োজনীয় প্রতিফলিত আলোর পরিমাণ নির্ধারণ করে।

  • object_detected – যখনই অবজেক্ট সেন্সর একটি নতুন বস্তু সনাক্ত করবে তখন কল করার জন্য একটি ফাংশন নিবন্ধন করে।

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

  • changed – অবজেক্ট সেন্সরের মান পরিবর্তন হলেই কল করার জন্য একটি ফাংশন রেজিস্টার করে।

কনস্ট্রাক্টর – ম্যানুয়ালি একটি অবজেক্ট সেন্সর ইনিশিয়ালাইজ করুন।

  • ObjectDetector – একটি অবজেক্ট সেন্সর তৈরি করুন।

প্রতিফলনশীলতা#

reflectivity একটি integer ফেরত দেয় যা বস্তু থেকে প্রতিফলিত আলোর পরিমাণ শতাংশ হিসাবে উপস্থাপন করে।

দ্রষ্টব্য:

  • ০% প্রতিফলনশীলতা মানে বস্তুটি খুব অন্ধকার। সেন্সরটি ৩০০০ বা তার বেশি একটি প্রাথমিক মান দেখতে পায়।

  • ১০০% প্রতিফলনশীলতার অর্থ হলো বস্তুটি খুব উজ্জ্বল। সেন্সরটি এর প্রাথমিক মান ০ হিসেবে দেখে।

Usage:
object_sensor.reflectivity()

প্যারামিটার

বর্ণনা

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

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

is_object_detected#

is_object_detected রিটার্ন করে যে অবজেক্ট সেন্সরটি কোনো বস্তু শনাক্ত করছে কিনা।

  • True – অবজেক্ট সেন্সরটি একটি বস্তু শনাক্ত করছে।

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

Usage:
object_sensor.is_object_detected()

প্যারামিটার

বর্ণনা

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

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

সেট_থ্রেশহোল্ড#

set_threshold কোনো বস্তুকে শনাক্ত করার আগে প্রয়োজনীয় প্রতিফলিত আলোর পরিমাণ শতাংশ হিসাবে নির্ধারণ করে।

Usage:
object_sensor.set_threshold(value)

প্যারামিটার

বর্ণনা

value

কোনো বস্তুকে শনাক্ত করার জন্য প্রয়োজনীয় প্রতিফলিত আলোর পরিমাণকে ০ থেকে ১০০-এর মধ্যে একটি পূর্ণ সংখ্যা হিসেবে প্রকাশ করা হয়।

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

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

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

Usage:
object_sensor.object_detected(callback, arg)

প্যারামিটার

বর্ণনা

callback

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

arg

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

def my_function():
  brain.screen.print("Object detected.")

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

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

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

Usage:
object_sensor.object_lost(callback, arg)

প্যারামিটার

বর্ণনা

callback

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

arg

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

def my_function():
  brain.screen.print("Object lost.")

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

পরিবর্তিত#

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

Usage:
object_sensor.changed(callback, arg)

প্যারামিটার

বর্ণনা

callback

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

arg

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

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

নির্মাণকারী#

কনস্ট্রাক্টর ব্যবহার করে ম্যানুয়ালি ObjectDetector অবজেক্ট তৈরি করা হয়, যা অবজেক্ট সেন্সর কনফিগার করার জন্য প্রয়োজনীয়।

ObjectDetector#

ObjectDetector একটি অবজেক্ট সেন্সর তৈরি করে।

Usage:
ObjectDetector(port, reverse_det)

প্যারামিটার

বর্ণনা

port

অবজেক্ট সেন্সরটি যে 3-ওয়্যার পোর্টের সাথে সংযুক্ত:

reverse_det

ঐচ্ছিক। সনাক্তকরণের যুক্তিটি উল্টানো হবে কিনা:

  • True – যখন কোনো বস্তু হারিয়ে যায়, তখন বস্তুটি সনাক্ত করা হয়েছে বলে ফেরত দিন, এবং যখন বস্তুটি সনাক্ত করা হয়, তখন এটি হারিয়ে গেছে বলে ফেরত দিন।
  • False (ডিফল্ট) – যখন কোনো বস্তু হারিয়ে যায়, তখন বস্তুটি হারিয়ে গেছে বলে ফেরত দিন, এবং যখন কোনো বস্তু সনাক্ত করা হয়, তখন এটি সনাক্ত করা হয়েছে বলে ফেরত দিন।

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)