গাইরো#

ভূমিকা#

জাইরো সেন্সর হলো একটি মোশন সেন্সর যা একটিমাত্র অক্ষের চারপাশে ঘূর্ণন শনাক্ত করে। এটি রোবটটি কতটা ঘুরেছে তা পরিমাপ করতে পারে, যার ফলে রোবটটি তার অভিমুখ এবং গতিপথ ট্র্যাক করতে পারে।

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

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

ক্রিয়াকলাপ — জাইরো সেন্সরের দিক ও ঘূর্ণন ক্যালিব্রেট বা সামঞ্জস্য করুন।

  • calibrate — স্থিতিশীল হেডিং ট্র্যাকিংয়ের জন্য জাইরো সেন্সর ক্যালিব্রেট করে।

  • set_heading — জাইরো সেন্সরের হেডিং একটি নির্দিষ্ট মানে সেট করে।

  • set_rotation — জাইরো সেন্সরের ঘূর্ণন মান নির্ধারণ করে।

  • reset_heading — জাইরো সেন্সরের হেডিং 0-তে সেট করে।

  • reset_rotation — জাইরো সেন্সরের ঘূর্ণন 0-তে সেট করে।

গেটার্স — জাইরো সেন্সরের হেডিং, রোটেশন এবং স্ট্যাটাস পড়ুন।

  • heading — বর্তমান শিরোনাম ফেরত দেয়।

  • rotation — ক্রমপুঞ্জীভূত ঘূর্ণন ফেরত দেয়।

  • rate — x, y, বা z অক্ষের সাপেক্ষে কৌণিক বেগ ফেরত দেয়।

  • is_calibrating — জাইরো সেন্সরটি ক্যালিব্রেট হচ্ছে কিনা তা ফেরত দেয়।

  • installed — মস্তিষ্কের সাথে একটি জাইরো সেন্সর সংযুক্ত আছে কিনা তা ফেরত দেয়।

কলব্যাক — জাইরো সেন্সর কোনো নড়াচড়া বা পরিবর্তন শনাক্ত করলে কোডটি রান করে।

  • changed — জাইরো সেন্সর পরিবর্তন সনাক্ত করলে কল করার জন্য একটি ফাংশন নিবন্ধন করে।

কনস্ট্রাক্টর — ম্যানুয়ালি একটি জাইরো সেন্সর ইনিশিয়ালাইজ এবং কনফিগার করুন।

  • Gyro — একটি জাইরো সেন্সর তৈরি করে।

কর্ম#

calibrate#

calibrate জাইরো সেন্সর ক্যালিব্রেট করে। পরবর্তী সমস্ত লাইন কার্যকর হওয়ার আগে ক্যালিব্রেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে। ক্যালিব্রেশন একটি অভ্যন্তরীণ প্রক্রিয়া যা একটি নির্দিষ্ট সময় ধরে সেন্সরের নয়েজ এবং ড্রিফট পরিমাপ করে এবং তার ক্ষতিপূরণ করে। এই সময়ে, জাইরো সেন্সরকে অবশ্যই সম্পূর্ণ স্থির থাকতে হবে (অর্থাৎ, কোনো বাহ্যিক নড়াচড়া ছাড়া একটি স্থিতিশীল পৃষ্ঠের উপর)। ক্যালিব্রেশনের সময় নড়াচড়া করলে ভুল ফলাফল পাওয়া যাবে।

Usage:
calibrate()

প্যারামিটার

বর্ণনা

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

# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

set_heading#

set_heading জাইরো সেন্সরের হেডিং একটি নির্দিষ্ট মানে সেট করে।

Usage:
set_heading(value, units)

প্যারামিটার

বর্ণনা

মূল্য

যে শিরোনামের মানটি নির্ধারণ করতে হবে।

ইউনিট

ঐচ্ছিক। নতুন শিরোনাম বোঝাতে ব্যবহৃত একক:

  • DEGREES (ডিফল্ট)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

set_rotation#

set_rotation জাইরো সেন্সরের ঘূর্ণন একটি নির্দিষ্ট মানে নির্ধারণ করে।

Usage:
set_rotation(value, units)

প্যারামিটার

বর্ণনা

value

যে শিরোনামের মানটি নির্ধারণ করতে হবে।

units

ঐচ্ছিক। নতুন ঘূর্ণন মান বোঝাতে ব্যবহৃত একক:

  • DEGREES (ডিফল্ট)
  • TURNS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

reset_heading#

reset_heading জাইরো সেন্সরের হেডিং 0-তে রিসেট করে।

Usage:
reset_heading()

প্যারামিটার

বর্ণনা

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

# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)

reset_rotation#

reset_rotation জাইরো সেন্সরের ঘূর্ণন 0-তে রিসেট করে।

Usage:
reset_rotation()

প্যারামিটার

বর্ণনা

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

# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)

গেটার্স#

heading#

heading জাইরো সেন্সরের বর্তমান হেডিং ফেরত দেয়।

Usage:
heading(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। শিরোনাম বোঝাতে ব্যবহৃত একক:

  • DEGREES (ডিফল্ট)
  • TURNS
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotation#

rotation জাইরো সেন্সরের বর্তমান ঘূর্ণন ফেরত দেয়।

Usage:
rotation(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। ঘূর্ণন বোঝানোর জন্য ব্যবহৃত একক:

  • DEGREES (ডিফল্ট)
  • TURNS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

rate#

rate নির্দিষ্ট এককে জাইরো সেন্সরের ঘূর্ণনের বর্তমান পরিবর্তনের হার ফেরত দেয়।

Usage:
rate(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। জাইরো রেট বোঝানোর জন্য ব্যবহৃত একক:

  • DPS (ডিফল্ট)
  • RPM
  • PERCENT
# Display the rate of change of 
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()

is_calibrating#

is_calibrating পরীক্ষা করে দেখে যে জাইরো সেন্সরটি বর্তমানে ক্যালিব্রেট হচ্ছে কি না।

  • True — জাইরো সেন্সরটি ক্যালিব্রেট করা হচ্ছে।

  • False — জাইরো সেন্সরটি ক্যালিব্রেট হচ্ছে না।

Usage:
is_calibrating()

প্যারামিটার

বর্ণনা

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

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

installed#

installed একটি বুলিয়ান মান প্রদান করে যা নির্দেশ করে জাইরো সেন্সরটি মস্তিষ্কের সাথে সংযুক্ত আছে কিনা।

  • True — জাইরো সেন্সরটি মস্তিষ্কের সাথে সংযুক্ত।

  • False — জাইরো সেন্সরটি মস্তিষ্কের সাথে সংযুক্ত নয়।

Usage:
installed()

প্যারামিটার

বর্ণনা

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

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

কলব্যাক#

changed#

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

Usage:
changed(callback, arg)

প্যারামিটার

বর্ণনা

callback

জাইরো সেন্সরের হেডিং পরিবর্তিত হলে যে কলব্যাক ফাংশনটি কল করা হবে।

arg

ঐচ্ছিক। কলব্যাক ফাংশনে পাঠানোর জন্য আর্গুমেন্টের একটি টাপল।

def gyro_changed():
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain_gyro.heading()) 
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)

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

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

Gyro#

Gyro একটি জাইরো সেন্সর তৈরি করে।

Usage:
Gyro(smartport)

প্যারামিটার

বর্ণনা

smartport

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

# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a 
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)

drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)