মোটর#

ভূমিকা#

মোটর এবং মোটর গ্রুপ একটি রোবটের বিভিন্ন অংশের চলাচল নিয়ন্ত্রণ করে। একটি Motor একটি কনফিগার করা IQ স্মার্ট মোটর নিয়ন্ত্রণ করে, যেখানে একটি MotorGroup একাধিক কনফিগার করা IQ স্মার্ট মোটরকে একসাথে নিয়ন্ত্রণ করে যাতে তারা একযোগে চলে। মোটর এবং মোটর গ্রুপ একটি বাহু তুলতে, একটি নখর ঘোরাতে, একটি চাকা ঘোরাতে বা একটি কাঠামোর অন্য অংশ সরাতে ব্যবহার করা যেতে পারে। দুটি মোটর পুরো রোবটটিকে সরাতে এবং ঘোরাতে একটি ড্রাইভট্রেন হিসাবে একসাথে কাজ করতে পারে।

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

একটি VEX IQ (২য় প্রজন্ম) মোটরের সম্মুখ দিক একটি যোগ চিহ্ন দ্বারা এবং বাম দিকে বা ঘড়ির কাঁটার বিপরীত দিকে ঘোরার নির্দেশক একটি তীর চিহ্ন দ্বারা দেখানো হয়েছে। একটি VEX IQ (২য় প্রজন্ম) মোটর বিপরীত দিক দেখাচ্ছে, যা একটি মাইনাস চিহ্ন এবং একটি তীরচিহ্ন দ্বারা নির্দেশিত। এটি ডানদিকে বা ঘড়ির কাঁটার দিকে ঘুরছে তা বোঝায়।

ডিফল্টরূপে, FORWARD একটি মোটরকে ঘড়ির কাঁটার বিপরীত দিকে ঘোরায় এবং REVERSE একটি মোটরকে ঘড়ির কাঁটার দিকে ঘোরায়। যদি একটি মোটরকে রিভার্সে সেট করা হয়, তবে এই দিকগুলি উল্টে যাবে।

মোটর এবং মোটর গ্রুপ কোড করার অনেক উপায় আছে। নিচে সমস্ত Motor এবং MotorGroup মেথডের একটি তালিকা দেওয়া হলো:

ক্রিয়াকলাপ — মোটর এবং মোটর গ্রুপগুলিকে থামানো ও ঘোরানো।

  • spin — একটি মোটর বা মোটর গ্রুপকে অনির্দিষ্টকালের জন্য সামনে বা পিছনে ঘোরায়।

  • spin_for — একটি মোটর বা মোটর গ্রুপকে নির্দিষ্ট দূরত্বে ঘোরায়।

  • spin_to_position — একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট অবস্থানে ঘোরায়।

  • stop — একটি মোটর বা মোটর গ্রুপের ঘূর্ণন বন্ধ করে।

মিউটেটর — মোটর এবং মোটর গ্রুপের সেটিংস সমন্বয় করুন।

  • set_velocity — একটি মোটর বা মোটর গ্রুপকে বলে দেয় যে কত দ্রুত ঘুরতে হবে।

  • set_max_torque — ঘোরার সময় একটি মোটর বা মোটর গ্রুপ কতটা জোরে ধাক্কা দিতে পারবে তা নির্ধারণ করে।

  • set_position — মোটর বা মোটর গ্রুপের বর্তমান অবস্থান একটি নতুন মানে পরিবর্তন করে।

  • set_stopping — একটি মোটর বা মোটর গ্রুপ কীভাবে চলা বন্ধ করবে তা নির্ধারণ করে: ব্রেক করে, গতি কমিয়ে, বা থেমে গিয়ে।

  • set_timeout — একটি মোটর বা মোটর গ্রুপ একটি মুভমেন্ট শেষ করার জন্য কত সময় চেষ্টা করবে তা সেট করে।

  • set_reversed — মোটরের ঘূর্ণনের দিক বিপরীত হবে কিনা তা পরিবর্তন করে।

  • reset_position — একটি মোটর বা মোটর গ্রুপের বর্তমান অবস্থান 0-তে পরিবর্তন করে।

গেটার — মোটর এবং মোটর গ্রুপের অবস্থা পরীক্ষা করুন।

  • position — মোটর বা মোটর গ্রুপের বর্তমান অবস্থান ফেরত দেয়।

  • velocity — মোটর বা মোটর গ্রুপটি কত দ্রুত ঘুরছে তা ফেরত দেয়।

  • current — মোটর বা মোটর গ্রুপ কী পরিমাণ বৈদ্যুতিক কারেন্ট ব্যবহার করছে তা ফেরত দেয়।

  • is_done — মোটর বা মোটর গ্রুপের নড়াচড়া শেষ হয়েছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

  • is_spinning — মোটর বা মোটর গ্রুপটি ঘুরছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

  • direction — মোটর বা মোটর গ্রুপটি যে দিকে ঘুরছে তা ফেরত দেয়।

  • power — মোটর বা মোটর গ্রুপ কী পরিমাণ শক্তি ব্যবহার করছে তা ফেরত দেয়।

  • torque — মোটর বা মোটর গ্রুপ কী পরিমাণ টর্ক ব্যবহার করছে তা ফেরত দেয়।

  • efficiency — মোটর বা মোটর গ্রুপ কতটা দক্ষতার সাথে শক্তি ব্যবহার করছে তা ফেরত দেয়।

  • temperature — মোটর বা মোটর গ্রুপের তাপমাত্রা ফেরত দেয়।

  • count — একটি মোটর গ্রুপে মোটরের সংখ্যা ফেরত দেয়।

  • get_timeout — মোটর বা মোটর গ্রুপের বর্তমান টাইমআউট সময়কাল ফেরত দেয়।

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

  • Motor — একটি মোটর তৈরি করে।

  • MotorGroup — একটি মোটর গ্রুপ তৈরি করে।

কর্ম#

spin#

spin একটি মোটর বা মোটর গ্রুপকে অনির্দিষ্টকালের জন্য সামনে বা পেছনে ঘোরায়। মোটর বা মোটর গ্রুপটি ততক্ষণ ঘুরতে থাকবে যতক্ষণ না এটিকে অন্য কোনো কাজ দেওয়া হয়, যেমন ভিন্ন দিকে ঘোরানো বা থামানো।

Usage:
motor_1.spin(direction, velocity, units)

প্যারামিটার

বর্ণনা

direction

মোটর বা মোটর গ্রুপটি যে দিকে ঘোরে: FORWARD বা REVERSE।

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units

ঐচ্ছিক। বেগের একক:

  • PERCENT
  • RPM — প্রতি মিনিটে ঘূর্ণন
  • VelocityUnits.DPS — প্রতি সেকেন্ডে ডিগ্রি

# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()

spin_for#

spin_for একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট দূরত্বে ঘোরায়। এই ঘূর্ণনটি মোটর বা মোটর গ্রুপের বর্তমান অবস্থানের সাপেক্ষে হয়। পরবর্তী কোড লাইনটি চলার আগে, মোটর বা মোটর গ্রুপের ঘূর্ণন শেষ না হওয়া পর্যন্ত প্রজেক্টটি অপেক্ষা করবে।

Usage:
motor_1.spin_for(direction, angle, units, velocity, units_v, wait)

প্যারামিটার

বর্ণনা

direction

মোটর বা মোটর গ্রুপটি যে দিকে ঘোরে: FORWARD বা REVERSE।

angle

মোটর বা মোটর গ্রুপটি যে দূরত্বে ঘোরে। এটি একটি পূর্ণসংখ্যা integer বা দশমিক সংখ্যা (float ) হতে পারে।

units

ঐচ্ছিক। দূরত্বের একক: DEGREES (ডিফল্ট) অথবা TURNS।

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units_v

ঐচ্ছিক। বেগের একক:

  • PERCENT
  • RPM (ডিফল্ট) — প্রতি মিনিটে ঘূর্ণন

wait

ঐচ্ছিক।

  • wait=True (ডিফল্ট) — পরবর্তী কোড লাইন চলার আগে মোটর বা মোটর গ্রুপের ঘোরা শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়।
  • wait=False — পরবর্তী কোড লাইন সাথে সাথে চালিয়ে দেয়।

# Spin the motor forward, then put it
# at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)

# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.spin_for(REVERSE, 150, MM, 20, PERCENT)
wait(1, SECONDS)
# Spin faster
motor_1.spin_for(FORWARD, 150, MM, 100, PERCENT)

spin_to_position#

spin_to_position একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট অবস্থানে ঘোরায়।

একটি মোটর বা মোটর গ্রুপের অবস্থান হল এটি কতটুকু ঘুরেছে, যা DEGREES বা TURNSএ পরিমাপ করা হয়। এক পাক 360 ডিগ্রির সমান। একটি প্রকল্পের শুরুতে, মোটর বা মোটর গ্রুপের অবস্থান 0 ডিগ্রিতে সেট করা হয়। মোটর বা মোটর গ্রুপের অবস্থান set_position পদ্ধতি ব্যবহার করেও সেট করা যেতে পারে।

অবস্থানের মানগুলো পরম। এর মানে হলো, ঘূর্ণনের দিকটি মোটর বা মোটর গ্রুপের বর্তমান অবস্থানের উপর নির্ভর করে।

উদাহরণস্বরূপ, যদি মোটর বা মোটর গ্রুপটি ০ ডিগ্রি থেকে শুরু করে ৭২০ ডিগ্রি অবস্থানে ঘোরে, তবে এটি সামনের দিকে দুইবার ঘুরবে। এরপর যদি এটি ৩৬০ ডিগ্রি অবস্থানে ঘোরে, তবে এটি পেছনের দিকে একবার ঘুরবে, কারণ ৩৬০ হলো ৭২০-এর চেয়ে কম।

Usage:
motor_1.spin_to_position(rotation, units, velocity, units_v, wait)

প্যারামিটার

বর্ণনা

rotation

যে অবস্থানে মোটর বা মোটর গ্রুপটি ঘুরবে। এটি একটি পূর্ণসংখ্যা integer বা দশমিক সংখ্যা (float ) হতে পারে।

units

অবস্থানের একক: DEGREES বা TURNS পাক।

velocity

Optional. The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units_v

ঐচ্ছিক। বেগের একক:

  • PERCENT
  • RPM — প্রতি মিনিটে ঘূর্ণন
  • VelocityUnits.DPS — প্রতি সেকেন্ডে ডিগ্রি

wait

ঐচ্ছিক।

  • wait=True (ডিফল্ট) — পরবর্তী কোড লাইন চলার আগে মোটর বা মোটর গ্রুপের ঘোরা শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়।
  • wait=False — পরবর্তী কোড লাইন সাথে সাথে চালিয়ে দেয়।

# Spin the motor forward, then
# put it at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)

# Spin forward then quickly reverse
# to 0 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(0, DEGREES, 100, PERCENT, wait=True)

stop#

stop একটি মোটর বা মোটর গ্রুপকে ঘোরা বন্ধ করে দেয়।

Usage:
motor_1.stop(mode)

প্যারামিটার

বর্ণনা

mode

ঐচ্ছিক। মোটর বা মোটর গ্রুপটি কীভাবে থামবে:

  • COAST — ধীরে ধীরে থেমে যায়।
  • BRAKE (ডিফল্ট) — সাথে সাথে থেমে যায়।
  • HOLD — সাথে সাথে থেমে যায় এবং মোটরের অবস্থান ধরে রাখে।

# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()

# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop(COAST)

মিউটেটর#

set_velocity#

set_velocity set_velocity একটি মোটর বা মোটর গ্রুপকে বলে দেয় যে সেটি কত দ্রুত ঘুরবে। উচ্চতর শতাংশ মোটর বা মোটর গ্রুপকে দ্রুততর ঘোরায় এবং নিম্নতর শতাংশ মোটর বা মোটর গ্রুপকে ধীরতর ঘোরায়।

প্রতিটি প্রজেক্ট ডিফল্টরূপে প্রতিটি মোটর বা মোটর গ্রুপ ৫০% গতিতে ঘোরার মাধ্যমে শুরু হয়।

দ্রষ্টব্য: উচ্চ বেগ মোটর বা মোটর গ্রুপকে দ্রুত ঘোরায়, কিন্তু এটি কম নির্ভুল হতে পারে। নিম্ন বেগ মোটর বা মোটর গ্রুপকে ধীরে ঘোরায়, কিন্তু এটি আরও নির্ভুল হতে পারে।

Usage:
motor_1.set_velocity(velocity, units)

প্যারামিটার

বর্ণনা

velocity

The velocity to spin with from 0% to 100% when using PERCENT. This can be an integer or decimal (float).

units

ঐচ্ছিক। বেগের একক:

  • PERCENT
  • RPM — প্রতি মিনিটে ঘূর্ণন
  • VelocityUnits.DPS — প্রতি সেকেন্ডে ডিগ্রি

# Spin the motor at different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.set_velocity(20, PERCENT)
motor_1.spin_for(REVERSE, 150, MM)
wait(1, SECONDS)
# Spin faster
motor_1.set_velocity(100, PERCENT)
motor_1.spin_for(FORWARD, 150, MM)

set_max_torque#

টর্ক দেখায় যে একটি মোটর বা মোটর গোষ্ঠী ঘোরার সময় কতটা জোরে ধাক্কা দিতে বা টানতে পারে।

set_max_torque একটি মোটর বা মোটর গ্রুপকে ব্যবহারযোগ্য সর্বোচ্চ টর্ক নির্ধারণ করে।

উচ্চতর শতাংশ মোটর বা মোটর গ্রুপকে আরও জোরে ধাক্কা দিতে সাহায্য করে, যেমন কোনো ভারী বস্তু তোলার সময়। নিম্নতর শতাংশ মোটর বা মোটর গ্রুপের ধাক্কা দেওয়ার ক্ষমতাকে সীমিত করে। যদি মোটর বা মোটর গ্রুপ আটকে যায় অথবা তার চলার শেষ সীমায় পৌঁছে যায়, তবে এটি রোবটকে রক্ষা করতে সাহায্য করতে পারে।

প্রতিটি প্রজেক্ট ডিফল্টরূপে প্রতিটি মোটর বা মোটর গ্রুপের টর্ক ৫০% এ শুরু হয়।

Usage:
motor_1.set_max_torque(value, units)

প্যারামিটার

বর্ণনা

value

মোটর বা মোটর গ্রুপ সর্বোচ্চ যে টর্ক ব্যবহার করতে পারে। এটি একটি পূর্ণসংখ্যা integer বা দশমিক সংখ্যা (float ) হতে পারে।

units

টর্কের একক:

  • PERCENT
  • TorqueUnits.NM — নিউটন মিটার
  • TorqueUnits.INLB — ইঞ্চি পাউন্ড

# Spin the motor at different torque values
# Default
motor_1.spin_to_position(45, DEGREES)
# Spin at a lower torque
motor_1.set_max_torque(20, PERCENT)
motor_1.spin_to_position(0, DEGREES)
# Spin at the max torque
motor_1.set_max_torque(100, PERCENT)
motor_1.spin_to_position(45, DEGREES)

set_position#

একটি মোটর বা মোটর গ্রুপের অবস্থান হলো এটি কতটুকু ঘুরেছে, যা DEGREES বা TURNSএককে পরিমাপ করা হয়। এক পাক ৩৬০ ডিগ্রির সমান। set_position মোটর বা মোটর গ্রুপের বর্তমান অবস্থানকে একটি নতুন মানে পরিবর্তন করে।

উদাহরণস্বরূপ, যদি কোনো মোটর বা মোটর গ্রুপ ১৮০ ডিগ্রি ঘুরে থাকে, তবে এর অবস্থান ০ ডিগ্রিতে সেট করলে সেই অবস্থানটি ১৮০ থেকে ০ ডিগ্রিতে রিসেট হয়ে যাবে। এরপর মোটর বা মোটর গ্রুপটি সেই নতুন মানের উপর ভিত্তি করে বিভিন্ন অবস্থানে ঘুরতে পারবে।

Usage:
motor_1.set_position(position, units)

প্যারামিটার

বর্ণনা

position

মোটর বা মোটর গ্রুপের জন্য যে অবস্থানের মান নির্ধারণ করতে হবে। এটি একটি পূর্ণসংখ্যা integer অথবা দশমিক (float ) হতে পারে।

units

অবস্থানের একক: DEGREES বা TURNS পাক।

# Position the motor at the
# new 0 degrees
motor_1.set_position(180, DEGREES)
motor_1.spin_to_position(0)

set_stopping#

set_stopping নির্ধারণ করে একটি মোটর বা মোটর গ্রুপ কীভাবে চলা বন্ধ করবে: ব্রেক করে, গতি কমিয়ে, বা থেমে গিয়ে।

Usage:
motor_1.set_stopping(mode)

প্যারামিটার

বর্ণনা

mode

মোটর বা মোটর গ্রুপটি কীভাবে থামবে:

  • BRAKE — সাথে সাথে থেমে যায়।
  • COAST — ধীরে ধীরে থেমে যায়।
  • HOLD — সাথে সাথে থেমে যায় এবং মোটরের অবস্থান ধরে রাখে।

# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.set_stopping(COAST)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop()

set_timeout#

set_timeout set_timeout নির্ধারণ করে যে একটি মোটর বা মোটর গ্রুপ তার চলাচল শেষ করার জন্য কতটুকু সময় চেষ্টা করবে। যদি মোটর বা মোটর গ্রুপটি সেই সময়ের মধ্যে তার চলাচল শেষ করতে না পারে, তবে এটি চেষ্টা করা বন্ধ করে দেবে এবং কোডের পরবর্তী লাইনে চলে যাবে। এটি মোটর বা মোটর গ্রুপকে কোনো একটি চলাচলে আটকে যাওয়া থেকে রক্ষা করে।

Usage:
motor_1.set_timeout(value, units)

প্যারামিটার

বর্ণনা

value

মোটর বা মোটর গ্রুপটি একটি নড়াচড়া শেষ করার জন্য যে পরিমাণ সময় চেষ্টা করতে পারে। এটি একটি ধনাত্মক integer বা দশমিক (float ) হতে পারে।

units

ঐচ্ছিক। সময়ের একক:

  • SECONDS
  • মিলিসেকেন্ডMSEC — মিলিসেকেন্ড

# Set a 0.5 second timeout for motor actions
motor_1.set_timeout(0.5, SECONDS)

# Try a long move that will time out early
motor_1.spin_for(FORWARD, 2, TURNS)
motor_1.spin_to_position(0, DEGREES)

set_reversed#

set_reversed একটি মোটরের ঘূর্ণনের দিক বিপরীত হবে কিনা তা পরিবর্তন করে। এই পদ্ধতিটি একটি Motor তৈরি করার সময় reverse প্যারামিটারটিকে True -এ সেট করার মতোই কাজ করে।

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র একটি মোটরের ক্ষেত্রেই কাজ করবে, কোনো মোটর গ্রুপের ক্ষেত্রে নয়।

Usage:
motor_1.set_reversed(value)

প্যারামিটার

বর্ণনা

value

মোটরের দিক উল্টানো হবে কিনা:

  • True — মোটরের দিক উল্টে দেয়।
  • False — মোটরের দিক তার ডিফল্ট অবস্থায় ফিরিয়ে দেয়।

# Change the reverse direction while spinning
motor_1.spin_for(FORWARD, 45)
motor_1.set_reversed(True)
motor_1.spin_for(FORWARD, 45)

reset_position#

reset_position মোটর বা মোটর গ্রুপের বর্তমান অবস্থানকে 0-তে পরিবর্তন করে।

Usage:
motor_1.reset_position()

প্যারামিটার

বর্ণনা

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

# Spin to 360 degrees, then reset the encoder
motor_1.spin_to_position(360, DEGREES)
motor_1.reset_position()

# Move again to 90 degrees from new zero point
motor_1.spin_to_position(90, DEGREES)

গেটার্স#

position#

একটি মোটর বা মোটর গ্রুপের অবস্থান হলো এটি কতটুকু ঘুরেছে, যা DEGREES বা TURNSহিসাবে পরিমাপ করা হয়। এক পাক ৩৬০ ডিগ্রির সমান। position মোটর বা মোটর গ্রুপের বর্তমান অবস্থান ফিরিয়ে দেয়।

প্রজেক্টের শুরুতে, মোটর বা মোটর গ্রুপের অবস্থান ০ ডিগ্রিতে সেট করা হয়। যদি মোটর বা মোটর গ্রুপটি সামনের দিকে এক পাক ঘোরে, তাহলে অবস্থানটি ৩৬০ ডিগ্রি বা ১ পাক হবে। যদি মোটর বা মোটর গ্রুপটি বিপরীত দিকে ঘোরে, তাহলে অবস্থানটি ঋণাত্মক হবে।

Usage:
motor_1.position(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। মোটর বা মোটর গ্রুপের অবস্থান ফেরানোর একক: DEGREES (ডিফল্ট) অথবা TURNS।

# Spin the motor and display the
# ending position
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
brain.screen.print(motor_1.position())

velocity#

velocity মোটর বা মোটর গ্রুপটি কত দ্রুত ঘুরছে তা নির্দেশ করে।

ধনাত্মক মানের অর্থ হলো মোটর বা মোটর গ্রুপটি সামনের দিকে ঘুরছে। ঋণাত্মক মানের অর্থ হলো এটি বিপরীত দিকে ঘুরছে।

Usage:
motor_1.velocity(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। যে বেগের একক ফেরত দেওয়া হবে:

  • PERCENT
  • RPM (ডিফল্ট) — প্রতি মিনিটে ঘূর্ণন
  • VelocityUnits.DPS — প্রতি সেকেন্ডে ডিগ্রি

current#

current দেখায় যে মোটর বা মোটর গ্রুপটি কী পরিমাণ বৈদ্যুতিক কারেন্ট ব্যবহার করছে, যা ০.০ থেকে ১.২ অ্যাম্পিয়ার পর্যন্ত এককে পরিমাপ করা হয়। কারেন্ট হলো মোটর বা মোটর গ্রুপের মধ্য দিয়ে প্রবাহিত বিদ্যুতের পরিমাণ।

উচ্চ কারেন্টের মান মানে হলো মোটর বা মোটর গ্রুপটি বেশি বিদ্যুৎ ব্যবহার করছে। এটি তখন ঘটতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।

কোনো নড়াচড়ার সময় মোটর বা মোটর গ্রুপটি কোনো সমস্যায় পড়ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে। যদি কারেন্ট বেশি থাকে, তাহলে মোটরটি গরম হয়ে যেতে পারে অথবা কম দক্ষতার সাথে শক্তি ব্যবহার করতে পারে।

Usage:
motor_1.current(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। ফেরত দেওয়ার জন্য বর্তমান একক:

  • CurrentUnits.AMP — অ্যাম্পস

is_done#

is_done একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে মোটর বা মোটর গ্রুপটির নড়াচড়া শেষ হয়েছে কিনা। মোটরের নড়াচড়ার উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।

  • True — মোটর বা মোটর গোষ্ঠীর চলাচল শেষ হয়েছে।

  • False — মোটর বা মোটর গোষ্ঠীটি এখনও গতিশীল।

এই পদ্ধতিটি নিম্নলিখিত মোশন পদ্ধতিগুলির সাথে একত্রে কাজ করে যেগুলির wait প্যারামিটার রয়েছে: spin_for এবং spin_to_position।

Usage:
motor_1.is_done()

প্যারামিটার

বর্ণনা

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

is_spinning#

is_spinning একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে মোটর বা মোটর গ্রুপটি ঘুরছে কিনা। মোটরের নড়াচড়ার উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।

  • True — মোটর বা মোটর গ্রুপটি ঘুরছে।

  • False — মোটর বা মোটর গ্রুপটি ঘুরছে না।

এই পদ্ধতিটি নিম্নলিখিত মোশন পদ্ধতিগুলির সাথে একত্রে কাজ করে যেগুলির wait প্যারামিটার রয়েছে: spin_for এবং spin_to_position।

Usage:
motor_1.is_spinning()

প্যারামিটার

বর্ণনা

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

direction#

direction একটি মোটর বা মোটর গোষ্ঠীর বর্তমান ঘূর্ণনের দিক নির্দেশ করে।

  • FORWARD

  • REVERSE

Usage:
motor_1.direction()

প্যারামিটার

বর্ণনা

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

power#

power দেখায় যে মোটর বা মোটর গ্রুপটি ওয়াটে কত শক্তি ব্যবহার করছে। পাওয়ার দেখায় যে মোটর বা মোটর গ্রুপটি কত দ্রুত শক্তি ব্যবহার করছে।

পাওয়ারের মান বেশি হওয়ার অর্থ হলো মোটর বা মোটর গ্রুপটি দ্রুত শক্তি ব্যবহার করছে। এমনটা হতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।

এটি নড়াচড়া তুলনা করতে বা মোটর বা মোটর গ্রুপটি সমস্যায় পড়ছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে। যদি পাওয়ার বেশি থাকে, তাহলে মোটরটি গরম হয়ে যেতে পারে বা কম দক্ষতার সাথে শক্তি ব্যবহার করতে পারে।

Usage:
motor_1.power()

প্যারামিটার

বর্ণনা

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

torque#

টর্ক দেখায় যে একটি মোটর বা মোটর গ্রুপ ঘোরার সময় কতটা জোরে মোচড় দিচ্ছে, ধাক্কা দিচ্ছে বা টানছে।

torque দেখায় মোটর বা মোটর গ্রুপটি কী পরিমাণ টর্ক ব্যবহার করছে।

টর্কের মান বেশি হওয়ার অর্থ হলো মোটর বা মোটর গ্রুপটি আরও জোরে ধাক্কা দিচ্ছে বা টানছে। এমনটা হতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।

মোটর বা মোটর গ্রুপটি সমস্যায় পড়ছে কিনা তা পরীক্ষা করতে, কিংবা বিভিন্ন নড়াচড়ার জন্য কতটা ধাক্কা প্রয়োজন তা তুলনা করতে এটি ব্যবহার করা যেতে পারে।

একটি মোটর বা মোটর গ্রুপের টর্ক সেট করতে, set_max_torque ব্যবহার করুন।

Usage:
motor_1.torque(units)

প্যারামিটার

বর্ণনা

units

ফেরত দেওয়ার জন্য টর্কের একক:

  • TorqueUnits.NM (ডিফল্ট) — নিউটন মিটার
  • TorqueUnits.INLB — ইঞ্চি পাউন্ড

efficiency#

efficiency দেখায় যে মোটর বা মোটর গ্রুপটি কতটা দক্ষতার সাথে শক্তি ব্যবহার করছে, যা ০% থেকে ১০০% পর্যন্ত শতাংশে প্রকাশ করা হয়।

দক্ষতা দেখায় যে মোটর বা মোটর গ্রুপের শক্তির কতটুকু চলাচলের জন্য ব্যবহৃত হচ্ছে। দক্ষতার মান যত বেশি হবে, মোটর বা মোটর গ্রুপের শক্তির তত বেশি অংশ চলাচলের জন্য ব্যবহৃত হবে। দক্ষতার মান কম হতে পারে যখন মোটর বা মোটর গ্রুপ কঠোর পরিশ্রম করেও খুব বেশি নড়াচড়া করে না, যেমন যখন এটি আটকে যায় বা কোনো বস্তুকে ধাক্কা দেয়।

এটি নড়াচড়া তুলনা করতে অথবা মোটর বা মোটর গ্রুপটি নড়াচড়ার জন্য শক্তি ব্যবহার না করে অপচয় করছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে।

Usage:
motor_1.efficiency()

প্যারামিটার

বর্ণনা

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

temperature#

temperature মোটর বা মোটর গ্রুপের তাপমাত্রা ফেরত দেয়।

মোটরের তাপমাত্রা নির্দেশ করে মোটর বা মোটর গ্রুপটি কতটা উষ্ণ। তাপমাত্রা বেশি হওয়ার অর্থ হলো, কাজ করার সময় মোটর বা মোটর গ্রুপটি উষ্ণ হচ্ছে। পূর্ণ কর্মক্ষমতায় কাজ চালিয়ে যাওয়ার জন্য মোটরের তাপমাত্রা ৫৫ ডিগ্রি সেলসিয়াসের নিচে থাকা উচিত।

মোটর বা মোটর গ্রুপ অতিরিক্ত গরম হয়ে গেলে, এটি নিজেকে রক্ষা করার জন্য এর সর্বোচ্চ কারেন্ট কমিয়ে দেয়। ৭০ ডিগ্রি সেলসিয়াস তাপমাত্রায়, একটি মোটর ঠান্ডা না হওয়া পর্যন্ত চলা বন্ধ করে দেয়।

বারবার নড়াচড়া, দীর্ঘক্ষণ ধরে চলা, বা কোনো বস্তুকে ধাক্কা দেওয়ার সময় মোটর বা মোটর গ্রুপটি অতিরিক্ত গরম হয়ে যাচ্ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে।

Usage:
motor_1.temperature(units)

প্যারামিটার

বর্ণনা

units

ঐচ্ছিক। যে তাপমাত্রার একক ফেরত দেওয়া হবে:

  • TemperatureUnits.CELSIUS (ডিফল্ট)
  • TemperatureUnits.FAHRENHEIT

count#

count একটি মোটর গ্রুপে থাকা মোটরের সংখ্যা ফেরত দেয়।

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র মোটর গ্রুপের ক্ষেত্রেই কাজ করবে, কোনো মোটরের ক্ষেত্রে নয়।

Usage:
motor_group_1.count()

প্যারামিটার

বর্ণনা

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

get_timeout#

get_timeout মোটর বা মোটর গ্রুপের বর্তমান টাইমআউট মিলিসেকেন্ডে ফেরত দেয়।

দ্রষ্টব্য: এই পদ্ধতিটি শুধুমাত্র একটি মোটরের ক্ষেত্রেই কাজ করবে, কোনো মোটর গ্রুপের ক্ষেত্রে নয়।

Usage:
motor_1.get_timeout()

প্যারামিটার

বর্ণনা

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

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

ডিভাইসেস উইন্ডোর বাইরে ম্যানুয়ালি Motor এবং MotorGroup অবজেক্ট তৈরি করতে কনস্ট্রাক্টর ব্যবহার করা হয়।

Motor#

Motor একটি মোটর তৈরি করে।

Usage:
motor_1 = Motor(smartport, gears, reverse)

প্যারামিটার

বর্ণনা

smartport

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

gears

ঐচ্ছিক। মোটরের গিয়ার অনুপাত:

  • GearSetting.RATIO_1_1 (ডিফল্ট) — ১:১ অনুপাত
  • GearSetting.RATIO_2_1 — ২:১ অনুপাত
  • GearSetting.RATIO_3_1 — ৩:১ অনুপাত

reverse

ঐচ্ছিক। মোটরের ঘূর্ণনের দিক উল্টে যাবে কিনা তা নির্ধারণ করে:

  • True — মোটরের ঘূর্ণনের দিক উল্টে দেয়।
  • False (ডিফল্ট) — মোটরের ঘূর্ণনের দিক উল্টে দেয় না।

# Create a reversed motor
motor_1 = Motor(Ports.PORT1, 1.0, True)

Motor Group#

MotorGroup একটি মোটর গ্রুপ তৈরি করে।

Usage:
motor_group_1 = MotorGroup(motors)

প্যারামিটার

বর্ণনা

motors

মোটর গ্রুপে রাখার জন্য পূর্বে তৈরি করা Motor অবজেক্টের নাম। গ্রুপটিতে সর্বোচ্চ ১২ Motor অবজেক্ট যোগ করা যাবে।

# Create two motors
motor_group_1_motor_a = Motor(Ports.PORT1, False)
motor_group_1_motor_b = Motor(Ports.PORT6, True)

# Create a motor group with those motors
motor_group_1 = MotorGroup(motor_group_1_motor_a, motor_group_1_motor_b)