Motor dan Grup Motor#

Perkenalan#

Motor dan kelompok motor mengontrol bagaimana bagian-bagian robot bergerak. Objek motor mengontrol satu IQ Smart Motor yang telah dikonfigurasi, sedangkan objek motor_group mengontrol beberapa IQ Smart Motor yang telah dikonfigurasi secara bersamaan sehingga mereka bergerak serempak. Motor dan kelompok motor dapat digunakan untuk mengangkat lengan, memutar cakar, memutar roda, atau menggerakkan bagian lain dari suatu konstruksi. Dua motor dapat bekerja bersama sebagai drivetrain untuk menggerakkan dan memutar seluruh robot.

Setiap motor atau grup motor dikonfigurasi di jendela Perangkat. Tergantung pada versi build, nama motor dan grup motor dapat berubah. Halaman ini menggunakan Motor1 dan MotorGroup1 sebagai contoh nama. Ganti dengan nama yang telah Anda konfigurasi sesuai kebutuhan.

Motor VEX IQ menunjukkan arah maju yang ditunjukkan oleh tanda plus dan panah yang menunjukkan bahwa motor berputar ke kiri, atau berlawanan arah jarum jam. Motor VEX IQ yang menunjukkan arah putaran terbalik yang ditunjukkan oleh tanda minus dan panah yang menunjukkan putaran ke kanan, atau searah jarum jam.

Secara default, forward memutar motor berlawanan arah jarum jam, dan reverse memutar motor searah jarum jam. Jika motor diatur untuk mundur, arah tersebut akan ditukar.

Motor#

Class Constructors#

1 — Membuat objek motor motor untuk IQ Smart Motor yang terhubung ke Smart Port yang ditentukan. Motor secara otomatis menggunakan gearSetting gearSetting

motor(
  int32_t index );

2 — Creates a motor object on the specified Smart Port and optionally reverses its direction. The motor automatically uses the detected internal gearSetting.

motor(
 int32_t index,
 bool    reverse );

3 — Membuat objek motor pada Smart Port yang ditentukan dengan gearSetting gearSetting ditentukan.

motor(
 int32_t     index,
 gearSetting gears );

4 — Membuat objek motor pada Smart Port yang ditentukan dengan gearSetting gearSetting ditentukan dan arah putaran terbalik opsional.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

Menghancurkan objek motor dan melepaskan sumber daya terkait.

~motor();

Parameters#

Parameter

Jenis

Keterangan

index

int32_t

Port Pintar yang terhubung ke motor, ditulis sebagai PORTx, di mana x adalah nomor port (misalnya, PORT1).

reverse

bool

Menentukan apakah arah putaran motor dibalik:

  • false (default) — Tidak membalik arah putaran motor.
  • true — Membalik arah putaran motor.

gears

gearSetting

Menentukan rasio kartrid roda gigi internal.

  • ratio1_1 — Rasio roda gigi 1:1
  • ratio2_1 — Rasio roda gigi 2:
  • ratio3_1 — Rasio roda gigi 3:1

Notes#

  • Pengaturan roda gigi harus sesuai dengan kartrid fisik yang terpasang di motor.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

Grup Motor#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

Menghapus objek motor_group dan melepaskan sumber daya terkait.

~motor_group();

Parameters#

Parameter

Jenis

Keterangan

m1

motor &

Motor pertama ditambahkan ke grup tersebut.

m2

motor &

Motor tambahan ditambahkan ke dalam grup. Maksimum empat motor dalam satu grup motor.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

Fungsi Keanggotaan#

Ada banyak cara untuk membuat kode motor dan grup motor. Berikut adalah daftar semua fungsi anggota motor dan motor_group:

Aksi — Menghentikan dan memutar motor dan kelompok motor.

  • spin — Memutar motor atau kelompok motor maju atau mundur selamanya.

  • spinFor — Memutar motor atau kelompok motor untuk jarak atau waktu tertentu.

  • spinToPosition — Memutar motor atau kelompok motor ke posisi tertentu.

  • stop — Menghentikan motor atau kelompok motor dari berputar.

Mutator — Sesuaikan pengaturan motor dan grup motor.

  • setVelocity — Memberi tahu motor atau kelompok motor seberapa cepat harus berputar.

  • setMaxTorque — Menentukan seberapa keras motor atau kelompok motor diizinkan untuk mendorong saat berputar.

  • setPosition — Mengubah posisi motor atau kelompok motor saat ini ke nilai baru.

  • setStopping — Mengatur bagaimana motor atau kelompok motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.

  • setTimeout — Menentukan berapa lama waktu yang dibutuhkan sebuah motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan.

Pengambil — Periksa status motor dan kelompok motor.

  • isDone — Mengembalikan nilai Boolean apakah motor atau kelompok motor sudah selesai bergerak.

  • isSpinning — Mengembalikan nilai Boolean apakah motor atau kelompok motor sedang berputar.

  • position — Mengembalikan posisi motor atau grup motor saat ini.

  • velocity — Mengembalikan seberapa cepat motor atau kelompok motor berputar.

  • current — Mengembalikan jumlah arus listrik yang digunakan oleh motor atau kelompok motor.

  • power — Mengembalikan berapa banyak daya yang digunakan oleh motor atau kelompok motor.

  • torque — Mengembalikan berapa torsi yang digunakan oleh motor atau kelompok motor.

  • efficiency — Mengembalikan seberapa efisien motor atau kelompok motor menggunakan daya.

  • temperature — Mengembalikan suhu motor atau kelompok motor.

  • voltage — Mengembalikan tegangan listrik yang disuplai ke motor atau kelompok motor.

  • direction — Mengembalikan arah putaran motor atau kelompok motor.

  • installed — Mengembalikan apakah motor atau kelompok motor terhubung ke Otak.

  • count — Mengembalikan jumlah motor dalam sebuah grup motor.

Sebelum memanggil fungsi anggota motor atau motor_group , sebuah instance harus dibuat, seperti yang ditunjukkan di bawah ini:

/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

Tindakan#

spin#

spin memutar motor atau kelompok motor maju atau mundur selamanya. Motor atau kelompok motor akan terus berputar hingga diberi tindakan lain, seperti berputar ke arah yang berbeda atau berhenti.

Available Functions

1 — Memutar motor atau kelompok motor menggunakan kecepatan motor yang saat ini dikonfigurasi.

void spin(
 directionType dir );

2 — Memutar motor atau kelompok motor dengan kecepatan yang ditentukan.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — Memutar motor atau kelompok motor menggunakan tegangan yang ditentukan.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

Parameter

Jenis

Keterangan

dir

directionType

Arah putaran motor atau kelompok motor: forward atau reverse.

velocity

double

Kecepatan putaran dari 0% hingga 100% saat menggunakan percent.

units

velocityUnits

Satuan yang digunakan untuk menyatakan kecepatan:

  • percent / pct — persen
  • rpm — putaran per menit
  • dps — derajat per detik

voltage

double

Tegangan untuk memutar. Nilai negatif memutar berlawanan arah dengan arah putaran yang diberikan dir.

units

voltageUnits

Satuan yang digunakan untuk menyatakan tegangan:

  • volt — volt
  • voltageUnits::mV — milivolt

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Fungsi ini tidak menunggu dan proyek akan terus berjalan segera setelah panggilan tersebut.

  • Motor atau kelompok motor akan terus berputar sampai stop dipanggil atau fungsi gerakan lain dieksekusi.

  • Fungsi seperti isDone dan isSpinning tidak berlaku untuk spin, karena tidak menggunakan gerakan berbasis target (tidak memiliki rotation atau time parameter).

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor memutar motor atau kelompok motor untuk jarak atau jangka waktu tertentu. Putaran berbasis rotasi relatif terhadap posisi motor atau kelompok motor saat ini. Secara default, proyek akan menunggu hingga motor atau kelompok motor selesai berputar sebelum baris kode berikutnya dijalankan.

Available Functions

1 — Berputar sejauh jarak tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Menerima parameter arah dan berputar sejauh jarak tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — Berputar sejauh jarak tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — Menerima parameter arah dan berputar sejauh jarak tertentu menggunakan kecepatan motor yang saat ini dikonfigurasi.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — Berputar selama jangka waktu tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — Menerima parameter arah dan berputar selama jangka waktu tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — Berputar selama jangka waktu tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.

bool spinFor(
 double    time,
 timeUnits units );

8 — Menerima parameter arah dan berputar selama waktu tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

Parameter

Jenis

Keterangan

dir

directionType

Arah putaran motor atau kelompok motor: forward atau reverse.

rotation

double

Jarak putaran motor atau kelompok motor.

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

time

double

Lamanya waktu motor atau kelompok motor berputar.

units

timeUnits

Satuan waktu:

  • seconds detik sec
  • milidetikmsec milidetik

velocity

double

Kecepatan putaran dari 0% hingga 100% saat menggunakan percent.

units_v

velocityUnits

Satuan yang digunakan untuk menyatakan velocity:

  • percent / pct — persen
  • rpm — putaran per menit
  • dps — derajat per detik

waitForCompletion

bool

​

  • true (default) — Membuat proyek menunggu hingga motor atau kelompok motor selesai berputar sebelum baris kode berikutnya dijalankan.
  • false — Membuat baris kode berikutnya dijalankan segera.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah mencapai nilai target.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • Menjalankan fungsi gerakan motor lain (seperti spin atau stop) saat spinFor sedang berlangsung akan mengganggu gerakan saat ini.

  • Karena spinFor berbasis target (menggunakan rotation atau time parameter), fungsi seperti isDone dan isSpinning bekerja dengan spinFor.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition memutar motor atau kelompok motor ke posisi tertentu.

Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. Pada awal proyek, posisi motor atau kelompok motor diatur ke 0 derajat. Posisi motor atau kelompok motor juga dapat diatur menggunakan fungsi setPosition.

Nilai posisi bersifat absolut. Ini berarti arah putaran bergantung pada posisi motor atau kelompok motor saat ini.

Sebagai contoh, jika motor atau kelompok motor mulai dari 0 derajat dan berputar hingga posisi 720 derajat, maka motor tersebut akan berputar maju dua putaran. Jika kemudian berputar hingga posisi 360 derajat, maka motor tersebut akan berputar mundur satu putaran, karena 360 kurang dari 720.

Available Functions

1 — Berputar ke posisi tertentu dengan kecepatan yang diberikan dalam panggilan fungsi.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — Berputar ke posisi tertentu menggunakan kecepatan motor yang dikonfigurasi saat ini.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

Parameter

Jenis

Keterangan

rotation

double

Nilai posisi putaran motor atau kelompok motor.

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

velocity

double

Kecepatan putaran dari 0% hingga 100% saat menggunakan percent.

units_v

velocityUnits

Satuan yang digunakan untuk menyatakan velocity:

  • pct — persen
  • rpm — putaran per menit
  • dps — derajat per detik

waitForCompletion

bool

​

  • true (default) — Membuat proyek menunggu hingga motor atau kelompok motor selesai berputar sebelum baris kode berikutnya dijalankan.
  • false — Membuat baris kode berikutnya dijalankan segera.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah memulai gerakan berbasis target yang diminta.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • Menjalankan fungsi gerakan motor lain (seperti spin atau spinFor) saat spinToPosition sedang berlangsung akan mengganggu gerakan saat ini.

  • Because spinToPosition is target-based (uses a rotation parameter), functions such as isDone and isSpinning work with spinToPosition.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop menghentikan motor atau kelompok motor agar tidak berputar.

Available Functions

1 — Menghentikan motor atau kelompok motor menggunakan mode rem yang saat ini dikonfigurasi.

void stop();

2 — Menghentikan motor atau kelompok motor menggunakan mode rem yang disediakan dalam panggilan fungsi.

void stop(
  brakeType mode );

Parameters

Parameter

Jenis

Keterangan

mode

brakeType

Opsional. Cara motor atau kelompok motor akan berhenti:

  • coast — Melambat hingga berhenti.
  • brake — Berhenti seketika.
  • hold — Berhenti seketika dan menahan posisi motor atau kelompok motor.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Memanggil stop akan segera menghentikan pergerakan motor atau kelompok motor yang sedang berjalan.

  • Jika tidak ada mode pengereman yang ditentukan, motor atau kelompok motor menggunakan mode pengereman yang saat ini dikonfigurasi.

  • stop menginterupsi gerakan berbasis target aktif apa pun (seperti spinFor atau spinToPosition).

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

Mutator#

setVelocity#

setVelocity memberi tahu motor atau kelompok motor seberapa cepat harus berputar. Persentase yang lebih tinggi membuat motor atau kelompok motor berputar lebih cepat dan persentase yang lebih rendah membuat motor atau kelompok motor berputar lebih lambat.

Setiap proyek dimulai dengan setiap motor atau kelompok motor berputar pada kecepatan 50% secara default.

Catatan: Kecepatan yang lebih tinggi membuat motor atau kelompok motor berputar lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat motor atau kelompok motor berputar lebih lambat, tetapi bisa lebih presisi.

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

Parameter

Jenis

Keterangan

velocity

double

Kecepatan putaran dari 0% hingga 100% saat menggunakan percent.

units

velocityUnits

Satuan yang digunakan untuk menyatakan velocity:

  • percent / pct — persen
  • rpm — putaran per menit
  • dps — derajat per detik

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Fungsi gerakan motor selanjutnya (seperti spin, spinFor, atau spinToPosition) yang tidak secara eksplisit menentukan kecepatan akan menggunakan nilai ini.

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

Torsi menunjukkan seberapa kuat sebuah motor atau kelompok motor dapat mendorong atau menarik saat berputar.

setMaxTorque menetapkan torsi maksimum yang diizinkan untuk digunakan oleh motor atau kelompok motor.

Persentase yang lebih tinggi memungkinkan motor atau kelompok motor untuk mendorong lebih keras, seperti saat mengangkat benda berat. Persentase yang lebih rendah membatasi seberapa keras motor atau kelompok motor dapat mendorong. Hal ini dapat membantu melindungi robot jika motor atau kelompok motor macet atau mencapai batas kemampuan geraknya.

Setiap proyek dimulai dengan torsi masing-masing motor atau kelompok motor pada 50% secara default.

Available Functions

1 — Menetapkan torsi maksimum sebagai persentase dari torsi nominal motor atau kelompok motor.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — Mengatur torsi maksimum menggunakan satuan torsi fisik.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — Mengatur torsi maksimum dengan membatasi arus motor.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

Parameter

Jenis

Keterangan

value

double

Torsi maksimum yang dapat digunakan oleh motor atau kelompok motor tersebut.

units

percentUnits

Menentukan torsi sebagai persentase: percent pct — persen

units

torqueUnits

Menentukan torsi dalam satuan fisik seperti:

  • Nm — Newton-meter
  • InLb — inci-pon

units

currentUnits

Menentukan torsi dengan membatasi arus motor:

  • amp

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Saat menggunakan currentUnits, torsi dibatasi dengan membatasi jumlah arus listrik yang dapat digunakan oleh motor atau kelompok motor.

setPosition#

Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. setPosition mengubah posisi motor atau kelompok motor saat ini ke nilai baru.

Sebagai contoh, jika sebuah motor atau kelompok motor telah berputar hingga 180 derajat, mengatur posisi ke 0 derajat akan mengatur ulang posisi tersebut dari 180 menjadi 0 derajat. Kemudian motor atau kelompok motor dapat berputar ke posisi berdasarkan nilai baru tersebut.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

Parameter

Jenis

Keterangan

value

double

Nilai posisi yang akan ditetapkan untuk motor atau kelompok motor.

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Setelah memanggil setPosition, panggilan selanjutnya ke spinToPosition akan menggunakan posisi yang diperbarui sebagai referensi.

setStopping#

setStopping mengatur bagaimana motor atau kelompok motor akan berhenti bergerak: dengan mengerem, meluncur, atau menahan.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parameter

Jenis

Keterangan

mode

brakeType

Cara motor atau kelompok motor akan berhenti:

  • brake — Berhenti seketika.
  • coast — Melambat hingga berhenti.
  • hold — Berhenti seketika dan mempertahankan posisi motor atau kelompok motor.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Setiap panggilan berikutnya ke stop tanpa mode rem yang ditentukan akan menggunakan nilai ini.

setTimeout#

setTimeout mengatur berapa lama waktu yang dibutuhkan motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan. Jika motor atau kelompok motor tidak dapat menyelesaikannya dalam waktu tersebut, ia akan berhenti mencoba dan melanjutkan ke baris kode berikutnya. Ini mencegah motor atau kelompok motor terjebak pada suatu gerakan.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

Parameter

Jenis

Keterangan

time

int32_t

Jumlah waktu yang dapat dihabiskan oleh motor atau kelompok motor untuk mencoba menyelesaikan suatu gerakan. Ini harus berupa bilangan bulat positif.

units

timeUnits

Satuan waktu:

  • msec — milidetik
  • seconds / sec — detik

Nilai Pengembalian

Fungsi ini tidak mengembalikan nilai.

Notes
  • Timeout motor atau grup motor digunakan untuk mencegah gerakan yang tidak mencapai posisi targetnya menghentikan eksekusi perintah lain dalam tumpukan.

  • Jika motor atau kelompok motor tidak mencapai posisi targetnya sebelum waktu habis, maka proses akan berhenti dan beralih ke baris kode berikutnya.

  • Timeout berlaku untuk fungsi yang memiliki nilai target seperti spinFor dan spinToPosition.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

Pencari#

isDone#

isDone mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah selesai bergerak. Ini dapat digunakan untuk mengontrol waktu perilaku lain berdasarkan pergerakan motor atau kelompok motor.

  • true — Motor atau kelompok motor telah selesai bergerak.

  • false — Motor atau kelompok motor masih bergerak.

Fungsi ini bekerja bersama dengan fungsi Motion berikut yang memiliki parameter waitForCompletion : spinFor dan spinToPosition.

Available Functions
bool isDone();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor telah selesai bergerak.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone bekerja bersama dengan fungsi Motion berikut yang memiliki parameter waitForCompletion : spinFor dan spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

isSpinning mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor sedang berputar. Ini dapat digunakan untuk mengontrol pengaturan waktu perilaku lain berdasarkan pergerakan motor atau kelompok motor.

  • true — Motor atau kelompok motor sedang berputar.

  • false — Motor atau kelompok motor tidak berputar.

Fungsi ini bekerja bersama dengan fungsi pergerakan Motion seperti spin, spinFor, dan spinToPosition.

Available Functions
bool isSpinning();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah motor atau kelompok motor berputar.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

Posisi motor atau kelompok motor adalah seberapa jauh motor tersebut telah berputar, diukur dalam degrees atau turnsSatu putaran sama dengan 360 derajat. position mengembalikan posisi motor atau kelompok motor saat ini.

Pada awal proyek, posisi motor atau kelompok motor diatur ke 0 derajat. Jika motor atau kelompok motor berputar satu putaran ke depan, posisinya akan menjadi 360 derajat atau 1 putaran. Jika motor atau kelompok motor berputar ke arah lain, posisinya akan negatif.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameter

Jenis

Keterangan

units

rotationUnits

The unit to return the motor or motor group position in:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

Mengembalikan nilai double yang mewakili posisi motor atau kelompok motor saat ini dalam satuan yang ditentukan.

Notes
  • Memanggil setPosition mengubah titik referensi untuk nilai ini.

  • Nilai yang dikembalikan mencerminkan pembacaan encoder saat ini dan tidak menunjukkan apakah motor atau kelompok motor sedang bergerak aktif.

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan posisi motor pertama dalam grup tersebut.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

velocity mengembalikan seberapa cepat motor atau kelompok motor berputar.

Nilai positif berarti motor atau kelompok motor berputar ke depan. Nilai negatif berarti berputar ke belakang.

Available Functions
double velocity(
    velocityUnits units );

Parameters

Parameter

Jenis

Keterangan

units

velocityUnits

Satuan yang digunakan untuk menyatakan kecepatan:

  • percent / pct — persen
  • rpm — putaran per menit
  • dps — derajat per detik

Return Values

Mengembalikan nilai double yang mewakili kecepatan putaran motor atau kelompok motor dalam satuan yang ditentukan.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan kecepatan motor pertama dalam grup tersebut.

current#

current mengembalikan jumlah arus listrik yang digunakan oleh motor atau kelompok motor. Arus adalah jumlah listrik yang mengalir melalui motor atau kelompok motor. Saat dikembalikan dalam ampere, arus dilaporkan dari 0,0 hingga 1,2 A.

Nilai arus yang lebih tinggi berarti motor atau kelompok motor menggunakan lebih banyak arus listrik. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.

Ini dapat digunakan untuk memeriksa apakah motor atau kelompok motor mengalami kesulitan selama pergerakan. Jika arus tetap tinggi, motor mungkin menjadi lebih panas atau menggunakan daya kurang efisien.

Available Functions

1 — Mengembalikan arus listrik motor atau kelompok motor dalam ampere.

double current(
  currentUnits units = amp );

2 — Mengembalikan arus listrik motor atau kelompok motor sebagai persentase dari arus nominal maksimum.

double current(
  percentUnits units );

Parameters

Parameter

Jenis

Keterangan

units

currentUnits

Satuan yang digunakan untuk menyatakan arus:amp (standar) — ampere

units

percentUnits

Menunjukkan arus sebagai persentase dari arus nominal maksimum motor:percent persen pct persen

Return Values

Mengembalikan nilai double yang menunjukkan seberapa besar arus listrik yang ditarik oleh motor atau kelompok motor dalam satuan yang ditentukan.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan total arus listrik untuk semua motor dalam grup tersebut.

power#

power mengembalikan nilai daya yang digunakan motor atau kelompok motor dalam watt. Power menunjukkan seberapa cepat motor atau kelompok motor menggunakan energi.

Nilai daya yang lebih tinggi berarti motor atau kelompok motor menggunakan energi lebih cepat. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.

Ini dapat digunakan untuk membandingkan gerakan atau memeriksa apakah motor atau kelompok motor mengalami kesulitan. Jika daya tetap tinggi, motor mungkin menjadi lebih panas atau menggunakan energi kurang efisien.

Available Functions
double power(
  powerUnits units = watt );

Parameter

Parameter

Jenis

Keterangan

units

powerUnits

Satuan yang digunakan untuk menyatakan daya motor:

  • watt (standar) — watt

Nilai Pengembalian

Mengembalikan nilai double yang mewakili daya yang digunakan motor atau kelompok motor dalam watt.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan daya listrik dari motor pertama dalam grup tersebut.

torque#

Torsi menunjukkan seberapa kuat motor atau kelompok motor memutar, mendorong, atau menarik saat berputar.

torque mengembalikan nilai torsi yang digunakan oleh motor atau kelompok motor.

Nilai torsi yang lebih tinggi berarti motor atau kelompok motor mendorong atau menarik lebih keras. Hal ini dapat terjadi ketika motor atau kelompok motor mengangkat sesuatu yang berat, mendorong suatu objek, atau mencoba bergerak ketika macet.

Ini dapat digunakan untuk memeriksa apakah motorik atau kelompok motorik mengalami kesulitan atau untuk membandingkan seberapa besar dorongan yang dibutuhkan oleh gerakan yang berbeda.

Untuk mengatur torsi motor atau kelompok motor, gunakan setMaxTorque.

Available Functions
double torque(
  torqueUnits units = Nm );

Parameter

Parameter

Jenis

Keterangan

units

torqueUnits

Satuan yang digunakan untuk menyatakan torsi motor:

  • Nm (standar) — Newton-meter
  • InLb — inci-pon

Nilai Pengembalian

Mengembalikan nilai double yang mewakili seberapa besar torsi yang digunakan motor atau kelompok motor dalam satuan yang ditentukan.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan torsi keluaran mekanis dari motor pertama dalam grup tersebut.

efficiency#

efficiency mengembalikan seberapa efisien motor atau kelompok motor menggunakan daya, dalam persentase dari 0% hingga 100%.

Efisiensi menunjukkan seberapa banyak daya motor atau kelompok motor yang digunakan untuk pergerakan. Nilai efisiensi yang lebih tinggi berarti lebih banyak daya motor atau kelompok motor yang digunakan untuk bergerak. Nilai efisiensi yang lebih rendah dapat terjadi ketika motor atau kelompok motor bekerja keras tetapi tidak banyak bergerak, seperti ketika macet atau mendorong suatu objek.

Ini dapat digunakan untuk membandingkan gerakan atau memeriksa apakah motor atau kelompok motor tersebut membuang daya alih-alih menggunakannya untuk bergerak.

Available Functions
double efficiency(
  percentUnits units = percent );

Parameter

Parameter

Jenis

Keterangan

units

percentUnits

Satuan yang digunakan untuk menyatakan efisiensi motor:

  • percent / percentUnits::pct (default) — persen

Nilai Pengembalian

Mengembalikan nilai double yang mewakili seberapa efisien motor atau kelompok motor menggunakan daya dalam persentase.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan efisiensi motor pertama dalam grup tersebut.

temperature#

temperature mengembalikan suhu motor atau kelompok motor.

Suhu motor menunjukkan seberapa hangat motor atau kelompok motor tersebut. Suhu yang lebih tinggi berarti motor atau kelompok motor tersebut semakin panas saat bekerja. Motor harus tetap berada di bawah 55°C agar tetap bekerja dengan performa penuh.

Jika motor atau kelompok motor terlalu panas, motor akan menurunkan arus maksimumnya untuk melindungi diri. Pada 70°C°C, motor akan berhenti beroperasi hingga mendingin.

Ini dapat digunakan untuk memeriksa apakah motor atau kelompok motor menjadi terlalu panas selama gerakan berulang, penggunaan jangka panjang, atau saat mendorong suatu objek.

Available Functions

1 — Mengembalikan suhu motor atau kelompok motor sebagai persentase dari suhu operasi maksimum.

double temperature(
  percentUnits units = percent );

2 — Mengembalikan suhu motor atau kelompok motor dalam satuan suhu fisik.

double temperature(
  temperatureUnits units );

Parameter

Parameter

Jenis

Keterangan

units

percentUnits

Satuan yang digunakan untuk menyatakan suhu motor atau kelompok motor sebagai persentase:

  • percent / percentUnits::pct (default) — persen

units

temperatureUnits

Satuan yang digunakan untuk menyatakan suhu motor atau kelompok motor dalam derajat:

  • celsius — derajat Celsius
  • fahrenheit — derajat Fahrenheit

Nilai Pengembalian

Mengembalikan nilai double yang mewakili suhu motor atau kelompok motor dalam satuan yang ditentukan.

Catatan

  • Kisaran suhu operasi untuk motor ini adalah sekitar 20°C (68°F) hingga 70°C (158°F).

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan suhu motor pertama dalam grup tersebut.

voltage#

voltage mengembalikan tegangan listrik yang disuplai ke motor atau kelompok motor.

Available Functions
double voltage(
  voltageUnits units = volt );

Parameter

Parameter

Jenis

Keterangan

units

voltageUnits

Satuan untuk mewakili tegangan:

  • volt (standar)
  • voltageUnits::mV — milivolt

Nilai Pengembalian

Mengembalikan nilai double yang mewakili tegangan listrik yang disuplai ke motor atau kelompok motor dalam satuan yang ditentukan.

Catatan

  • Saat dipanggil pada motor_group, fungsi ini mengembalikan tegangan listrik dari motor pertama dalam grup tersebut.

direction#

direction mengembalikan arah putaran motor atau kelompok motor.

Available Functions
directionType direction();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Mengembalikan directionType yang menunjukkan arah motor atau grup motor saat ini:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed mengembalikan informasi apakah motor atau kelompok motor terhubung ke IQ (generasi ke-1) Brain.

Available Functions
bool installed();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Mengembalikan nilai boolean bool yang menunjukkan apakah motor atau grup motor terhubung.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count mengembalikan jumlah motor dalam sebuah grup motor.

Available Functions
int32_t count();

Parameter

Fungsi ini tidak memerlukan parameter apa pun.

Nilai Pengembalian

Mengembalikan nilai int32_t yang mewakili jumlah motor dalam grup motor.