নিয়ন্ত্রক#

ভূমিকা#

VEX AIM One Stick কন্ট্রোলারটিতে চারটি বাটন এবং একটি জয়স্টিক রয়েছে। জয়স্টিকটিকে দুটি অক্ষ বরাবর সরানো যায় এবং বাটনের মতো চাপও দেওয়া যায়।

কন্ট্রোলার মেথড ব্যবহার করে বাটন প্রেস চেক করা, জয়স্টিকের মুভমেন্ট পড়া, কানেকশন ও ব্যাটারির স্ট্যাটাস চেক করা, অথবা কন্ট্রোলার ইভেন্ট ঘটলে ফাংশন চালানো যায়।

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

গেটার — বাটন, জয়স্টিক, সংযোগ এবং ব্যাটারির অবস্থা পড়ে।

  • .pressing — নির্দিষ্ট বোতামটি চাপা হচ্ছে কিনা তা ফেরত দেয়।

  • .position — একটি নির্দিষ্ট অক্ষ বরাবর জয়স্টিকের অবস্থান ফেরত দেয়।

  • is_connected — কন্ট্রোলারটি সংযুক্ত আছে কিনা তা ফেরত দেয়।

  • get_battery_level — কন্ট্রোলারের ব্যাটারির লেভেল ফেরত দেয়।

কলব্যাক — কন্ট্রোলারের ইনপুট পরিবর্তিত হলে ফাংশনগুলো চালায়।

  • .pressed — নির্দিষ্ট বোতাম চাপলে একটি ফাংশন চলে।

  • .released — নির্দিষ্ট বাটনটি ছেড়ে দিলে একটি ফাংশন চলে।

  • .changed — যখন জয়স্টিকের অবস্থান একটি নির্দিষ্ট অক্ষ বরাবর পরিবর্তিত হয় তখন একটি ফাংশন রান করে।

গেটার্স#

.pressing#

.pressing কন্ট্রোলারের কোনো নির্দিষ্ট বাটন বর্তমানে চাপা আছে কিনা তা রিটার্ন করে। এই মেথডটি অবশ্যই একটি নির্দিষ্ট বাটন অবজেক্টে কল করতে হবে, যেমন controller.button_up.

  • True — নির্দিষ্ট বাটনটি চাপা হচ্ছে।

  • False — নির্দিষ্ট বোতামটি চাপা হচ্ছে না।

ব্যবহার: এই পদ্ধতির সাথে উপলব্ধ পাঁচটি বাটন অবজেক্টের মধ্যে
একটি ব্যবহার করা যাবে:

বোতাম

আদেশ

button_up

controller.button_up.pressing() — উপরের বাটন

button_down

controller.button_down.pressing() — ডাউন বাটন

button_left

controller.button_left.pressing() — বাম বাটন

button_right

controller.button_right.pressing() — ডান বাটন

button_stick

controller.button_stick.pressing() — জয়স্টিক বাটন

VEX AIM ওয়ান স্টিক কন্ট্রোলার, যার বাম দিকে একটি জয়স্টিক এবং ডান দিকে চারটি বাটন রয়েছে। জয়স্টিক এবং চারটি বাটন হাইলাইট করা আছে।

প্যারামিটার

বর্ণনা

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

# Move forward while the Up button is being pressed
while True:
    if controller.button_up.pressing():
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

.position#

.position একটি জয়স্টিক অ্যাক্সিসের অবস্থানকে -100 থেকে 100 পর্যন্ত একটি সংখ্যা হিসাবে ফেরত দেয়।

এই মেথডটি একটি নির্দিষ্ট অ্যাক্সিস অবজেক্টে কল করতে হবে, যেমন controller.axis1।

ব্যবহার: এই পদ্ধতির সাথে উপলব্ধ দুটি অক্ষ বস্তুর মধ্যে
ব্যবহার করা যেতে পারে:

অক্ষ

আদেশ

axis1

controller.axis1.position() — উল্লম্ব অক্ষ

axis2

controller.axis2.position() — অনুভূমিক অক্ষ

VEX AIM কন্ট্রোলার, যার বাম দিকে একটি জয়স্টিক এবং ডান দিকে চারটি বাটন রয়েছে। জয়স্টিকের ১ এবং ২ অক্ষ হাইলাইট করা আছে।

প্যারামিটার

বর্ণনা

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

# Move forward when the joystick is moved up
while True:
    if controller.axis1.position() > 0:
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

is_connected#

is_connected কন্ট্রোলারটি সংযুক্ত আছে কিনা তা ফেরত দেয়।

  • True — কন্ট্রোলারটি সংযুক্ত আছে।

  • False — কন্ট্রোলারটি সংযুক্ত নয়।

Usage:
controller.is_connected()

প্যারামিটার

বর্ণনা

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

# Stop the robot if the controller disconnects
robot.move_at(0)

while True:
    if not controller.is_connected():
        robot.stop_all_movement()

    wait(100, MSEC)

get_battery_level#

get_battery_level কন্ট্রোলারের ব্যাটারির লেভেল 0 থেকে 100 পর্যন্ত একটি সংখ্যা হিসেবে রিটার্ন করে।

Usage:
controller.get_battery_level()

প্যারামিটার

বর্ণনা

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

# Display the controller's battery level
robot.screen.print(controller.get_battery_level())

কলব্যাক#

.pressed#

.pressed নির্দিষ্ট বাটনটি চাপলে একটি ফাংশন চালু করে। একবার ব্যবহার করা হলে, প্রতিবার বাটনটি চাপলে ফাংশনটি স্বয়ংক্রিয়ভাবে চালু হবে।

ব্যবহার: এই পদ্ধতির সাথে উপলব্ধ পাঁচটি বাটন অবজেক্টের মধ্যে
একটি ব্যবহার করা যাবে:

বোতাম

আদেশ

button_up

controller.button_up.pressed(callback, arg) — উপরের বাটন

button_down

controller.button_down.pressed(callback, arg) — ডাউন বাটন

button_left

controller.button_left.pressed(callback, arg) — বাম বাটন

button_right

controller.button_right.pressed(callback, arg) — ডান বাটন

button_stick

controller.button_stick.pressed(callback, arg) — জয়স্টিক বাটন

VEX AIM ওয়ান স্টিক কন্ট্রোলার, যার বাম দিকে একটি জয়স্টিক এবং ডান দিকে চারটি বাটন রয়েছে। জয়স্টিক এবং চারটি বাটন হাইলাইট করা আছে।

প্যারামিটার

বর্ণনা

callback

নির্দিষ্ট বাটনটি প্রতিবার চাপলে চলার জন্য পূর্বে সংজ্ঞায়িত একটি ফাংশন।

arg

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

# Kick hard when the Up button is pressed
def kick_object():
    robot.kicker.kick(HARD)

controller.button_up.pressed(kick_object)

.released#

.released নির্দিষ্ট বাটনটি ছেড়ে দিলে একটি ফাংশন চালায়। একবার এটি ব্যবহার করা হলে, প্রতিবার বাটনটি ছেড়ে দিলে ফাংশনটি স্বয়ংক্রিয়ভাবে চলবে।

ব্যবহার: এই পদ্ধতির সাথে উপলব্ধ পাঁচটি বাটন অবজেক্টের মধ্যে
একটি ব্যবহার করা যাবে:

বোতাম

আদেশ

button_up

controller.button_up.released(callback, arg) — উপরের বাটন

button_down

controller.button_down.released(callback, arg) — ডাউন বাটন

button_left

controller.button_left.released(callback, arg) — বাম বাটন

button_right

controller.button_right.released(callback, arg) — ডান বাটন

button_stick

controller.button_stick.released(callback, arg) — জয়স্টিক বাটন

VEX AIM ওয়ান স্টিক কন্ট্রোলার, যার বাম দিকে একটি জয়স্টিক এবং ডান দিকে চারটি বাটন রয়েছে। জয়স্টিক এবং চারটি বাটন হাইলাইট করা আছে।

প্যারামিটার

বর্ণনা

callback

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

arg

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

# Clear the screen after the Up button is released
def clear_screen():
    robot.screen.clear_screen()

controller.button_up.released(clear_screen)

robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")

.changed#

.changed নির্দিষ্ট অক্ষ বরাবর জয়স্টিকের অবস্থান পরিবর্তিত হলে একটি ফাংশন চালায়। একবার এটি ব্যবহার করা হলে, সেই অক্ষ বরাবর জয়স্টিকের অবস্থান যতবারই পরিবর্তিত হবে, ফাংশনটি স্বয়ংক্রিয়ভাবে চলবে।

ব্যবহার: এই পদ্ধতির সাথে উপলব্ধ দুটি অক্ষ বস্তুর মধ্যে
ব্যবহার করা যেতে পারে:

অক্ষ

আদেশ

axis1

controller.axis1.changed(callback, arg) — উল্লম্ব অক্ষ

axis2

controller.axis2.changed(callback, arg) — অনুভূমিক অক্ষ

VEX AIM কন্ট্রোলার, যার বাম দিকে একটি জয়স্টিক এবং ডান দিকে চারটি বাটন রয়েছে। জয়স্টিকের ১ এবং ২ অক্ষ হাইলাইট করা আছে।

প্যারামিটার

বর্ণনা

callback

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

arg

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

# Show an emoji when the joystick moves up or down
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

controller.axis1.changed(move_joystick)