সেন্সর#
ভূমিকা#
VEX AIR ড্রোনে ঘূর্ণন গতি পরিমাপ এবং গতির পরিবর্তন শনাক্ত করার জন্য একটি ইনার্শিয়াল সেন্সর এবং দূরত্ব নির্ণয়ের জন্য একটি রেঞ্জ সেন্সর রয়েছে। VEX AIR ড্রোনটি এর ব্যাটারির চার্জের হিসাবও রাখতে পারে। এই সেন্সরগুলো ড্রোনটিকে তার অভিমুখ, দিক, ত্বরণ এবং বিভিন্ন বস্তু থেকে দূরত্ব ট্র্যাক করতে সাহায্য করে।
নিম্নে সকল উপলব্ধ পদ্ধতির একটি তালিকা দেওয়া হলো:
জড়তামূলক - ড্রোনটির ঘূর্ণন গতিবিধি ট্র্যাক করুন।
get_rotation– ড্রোনটি শুরু হওয়ার পর থেকে কতটা ঘুরেছে তা ফেরত দেয়।get_heading– বর্তমান হেডিং (0 থেকে 359.99°) ফেরত দেয়।get_yaw– ইয়ো কোণ (–180 থেকে 180°) ফেরত দেয়।get_roll– রোল কোণ (–180 থেকে 180°) ফেরত দেয়।get_pitch– পিচ কোণ (–180 থেকে 180°) ফেরত দেয়।reset_rotation– ঘূর্ণন মান 0-তে রিসেট করে।reset_heading– বর্তমান হেডিং 0-তে সেট করে।set_heading– শিরোনামকে একটি নির্দিষ্ট মানে সেট করে।get_acceleration– একটি নির্দিষ্ট দিকের ত্বরণ ফেরত দেয়।get_turn_rate– প্রতি সেকেন্ডে ডিগ্রিতে ঘোরার হার ফেরত দেয়।
রেঞ্জ — ড্রোনের রেঞ্জ সেন্সর থেকে দূরত্ব শনাক্ত করুন।
get_distance— নির্বাচিত রেঞ্জ সেন্সর এবং নিকটতম শনাক্তকৃত বস্তুর মধ্যে দূরত্ব ফেরত দেয়।
ব্যাটারি - ড্রোনটির ব্যাটারির শতাংশ ফেরত দিন।
get_battery_level– ড্রোনটির ব্যাটারির লেভেল শতাংশে দেখায়।
জড়তা#
get_rotation#
get_rotation ড্রোনটি যাত্রা শুরু করার পর থেকে কত ডিগ্রি ঘুরেছে তা ফেরত দেয়। এটি সমস্ত ঘূর্ণন যোগ করে মোট মান ডিগ্রিতে ফেরত দেয়: ঘড়ির কাঁটার দিকে ঘোরার জন্য ধনাত্মক এবং ঘড়ির কাঁটার বিপরীত দিকে ঘোরার জন্য ঋণাত্মক।
Usage:
drone.inertial.get_rotation()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the rotation after turning
drone.take_off(climb_to=500)
drone.turn_for(LEFT, 450, 50)
print(drone.inertial.get_rotation(), end="")
drone.land()
get_heading#
get_heading ড্রোনটির হেডিং অ্যাঙ্গেলকে ০ থেকে ৩৫৯.৯৯ ডিগ্রির মধ্যে একটি ফ্লোট মান হিসেবে ফেরত দেয়।
Usage:
drone.inertial.get_heading()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the drone's heading after turning
drone.take_off(climb_to=500)
drone.set_turn_velocity(100)
drone.turn(RIGHT)
wait(5, SECONDS)
controller.screen.print("Heading: ")
controller.screen.print(drone.inertial.get_heading())
drone.land()
get_yaw#
get_yaw ড্রোনটির ইয়ো অ্যাঙ্গেল –180.0 থেকে 180.0 ডিগ্রীর মধ্যে একটি ফ্লোট হিসেবে রিটার্ন করে।
নিচের চিত্রটিতে ইয়ো (yaw)-এর ধনাত্মক ঘূর্ণনের দিক দেখানোর জন্য একটি তীরচিহ্ন ব্যবহার করা হয়েছে।

Usage:
drone.inertial.get_yaw
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the yaw angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Yaw: ")
controller.screen.print(drone.inertial.get_yaw())
wait(0.2, SECONDS)
get_roll#
get_roll ড্রোনটির রোল অ্যাঙ্গেলকে –180.0 থেকে 180.0 ডিগ্রীর মধ্যে একটি ফ্লোট হিসেবে রিটার্ন করে।
নিচের চিত্রটিতে রোলের ধনাত্মক ঘূর্ণনের দিক দেখানোর জন্য একটি তীরচিহ্ন ব্যবহার করা হয়েছে।

Usage:
drone.inertial.get_roll()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the roll angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Roll: ")
controller.screen.print(drone.inertial.get_roll())
wait(0.2, SECONDS)
get_pitch#
get_pitch ড্রোনটির পিচ অ্যাঙ্গেলকে –180.0 থেকে 180.0 ডিগ্রীর মধ্যে একটি ফ্লোট হিসেবে রিটার্ন করে।
নিচের চিত্রটিতে পিচের ধনাত্মক ঘূর্ণনের দিক বোঝাতে একটি তীরচিহ্ন ব্যবহার করা হয়েছে।

Usage:
drone.inertial.get_pitch()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the pitch angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Pitch: ")
controller.screen.print(drone.inertial.get_pitch())
wait(0.2, SECONDS)
reset_rotation#
reset_rotation ড্রোনটির ঘূর্ণন মান ০ ডিগ্রিতে রিসেট করে।
Usage:
drone.inertial.reset_rotation()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the new rotation after resetting
drone.take_off(climb_to=500)
drone.turn(RIGHT)
while not drone.inertial.get_rotation() > 360:
wait(5, MSEC)
drone.hover()
drone.inertial.reset_rotation()
wait(1, SECONDS)
print(drone.inertial.get_rotation(), end="")
drone.land()
reset_heading#
reset_heading ড্রোনটির হেডিং ০ ডিগ্রিতে রিসেট করে।
ব্যবহারবিধি:
drone.inertial.reset_heading()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Turn to a heading, reset the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.reset_heading()
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
set_heading#
set_heading ড্রোনটির অভিমুখ ডিগ্রিতে একটি নির্দিষ্ট মানে নির্ধারণ করে।
ব্যবহারবিধি:
drone.inertial.set_heading(heading)
প্যারামিটার |
বর্ণনা |
|---|---|
|
নতুন শিরোনামের জন্য ব্যবহারযোগ্য মানটি ০ থেকে ৩৫৯.৯৯ ডিগ্রির পরিসরের মধ্যে হতে হবে। |
# Turn to a heading, set the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.set_heading(90)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
get_acceleration#
get_acceleration একটি নির্দিষ্ট দিকে ড্রোনটির ত্বরণ ফেরত দেয়। ফেরত আসা মানটি বেগের পরিবর্তনের হারকে বোঝায়, যা g এককে পরিমাপ করা হয় (যেখানে 1g ≈ `9.81 m/s²) এবং এটি -4.00 থেকে 4.00 পর্যন্ত একটি ফ্লোট সংখ্যা।
নিচের চিত্রটিতে তীর চিহ্ন ব্যবহার করে সামনের দিকে ও ডানদিকে যাওয়ার জন্য ধনাত্মক ত্বরণ এবং নিচের দিকে যাওয়ার জন্য ঋণাত্মক ত্বরণের দিক দেখানো হয়েছে।

ব্যবহারবিধি:
drone.inertial.get_acceleration(type)
প্যারামিটার |
বর্ণনা |
|---|---|
|
ত্বরণের দিক উল্লেখ করতে হবে:
|
# Display the acceleration as the drone takes off
drone.take_off(500, wait=False)
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print(drone.inertial.get_acceleration(DOWNWARD))
wait(5, MSEC)
get_turn_rate#
get_turn_rate নির্দিষ্ট অক্ষ বরাবর ড্রোনটির ঘোরার হার ফেরত দেয়। এটি –1000.00 থেকে 1000.00 dps পর্যন্ত একটি ফ্লোট মান হিসেবে ডিগ্রি প্রতি সেকেন্ড \(dps\) এককে ফেরত দেয়।
নিচের চিত্রটিতে রোল, পিচ এবং ইয়ো-এর ধনাত্মক ঘূর্ণনের দিক বোঝাতে তীরচিহ্ন ব্যবহার করা হয়েছে।

Usage:
drone.inertial.get_turn_rate(axis)
প্যারামিটার |
বর্ণনা |
|---|---|
|
Which orientation to report:
|
# Display the drone turn rate as it is rotated by hand.
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(7, 1)
controller.screen.print(drone.inertial.get_turn_rate(ROLL))
পরিসর#
get_distance#
get_distance নির্বাচিত রেঞ্জ সেন্সর এবং নিকটতম শনাক্তকৃত বস্তুর মধ্যেকার দূরত্ব ফেরত দেয়।
Usage:
drone.range.get_distance(range, units)
প্যারামিটার |
বর্ণনা |
|---|---|
|
ব্যবহার করার জন্য রেঞ্জ সেন্সর: |
|
ঐচ্ছিক। দূরত্বের একক:
|
# Fly forward until close to an object
drone.take_off(climb_to=500)
drone.move_at(direction=0, velocity=50)
while not drone.range.get_distance(FORWARD_RANGE, MM) < 750:
wait(0.1, SECONDS)
drone.land()
ব্যাটারি#
get_battery_level#
get_battery_level ড্রোনটির ব্যাটারির চার্জের মাত্রা শতাংশে ফেরত দেয়। এটি ০ থেকে ১০০-এর মধ্যে একটি সংখ্যা রিটার্ন করে।
Usage:
drone.get_battery_level()
প্যারামিটার |
বর্ণনা |
|---|---|
এই পদ্ধতিতে কোনো প্যারামিটার নেই। |
# Display the drone's battery level
if drone.get_battery_level() < 25:
controller.screen.print("Charge the drone Battery!")
else:
controller.screen.print("Ready to fly!")