Sensor Rotasi#

Perkenalan#

Kelas rotation digunakan untuk mengontrol dan mengakses data dari Sensor Rotasi V5.

Sensor Rotasi mengukur rotasi poros. Sensor ini dapat digunakan di mana saja pada robot tempat poros berputar, bahkan jika poros tersebut tidak terhubung langsung ke motor.

Motor memiliki encoder internal yang dapat melacak rotasinya sendiri. Sensor Rotasi bekerja seperti encoder eksternal yang dapat melacak rotasi poros terpisah.

Sensor Rotasi dapat mengembalikan sudut, posisi, dan kecepatan poros. Sudut adalah posisi absolut poros dari 0 hingga 359,99 derajat. Nilai ini tidak akan direset saat proyek dimulai atau saat robot dimatikan. Posisi melacak berapa derajat atau putaran poros telah berputar maju atau mundur selama proyek, dan dapat direset sesuai kebutuhan.

Sensor Rotasi ini kompatibel dengan poros VEX standar berukuran 1/8 inci dan 1/4 inci.

Konstruktor Kelas#

rotation(
    int32_t index,
    bool    reverse = false );

Destruktor Kelas#

Destroys the rotation object and releases associated resources.

virtual ~rotation();

Parameter#

Parameter

Jenis

Keterangan

index

int32_t

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

reverse

bool

Opsional. Apakah akan membalikkan output Sensor Rotasi:

  • true — Membalikkan arah nilai sudut dan posisi yang dilaporkan.
  • false (default) — Melaporkan nilai sudut dan posisi dalam arah standar.

Contoh#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

Fungsi Keanggotaan#

Kelas rotation mencakup fungsi anggota berikut:

  • setPosition — Mengatur posisi Sensor Rotasi saat ini ke nilai tertentu.

  • angle — Mengembalikan sudut poros saat ini dari 0 hingga 359,99 derajat.

  • position — Mengembalikan seberapa jauh poros telah berputar dalam derajat atau putaran.

  • velocity — Mengembalikan seberapa cepat poros berputar.

Sebelum memanggil fungsi anggota rotation apa pun, sebuah instance rotation harus dibuat, seperti yang ditunjukkan di bawah ini:

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

Mengatur posisi sensor rotasi saat ini ke nilai tertentu.

Posisi adalah seberapa jauh poros telah berputar selama suatu proyek. Mengatur posisi akan mengubah nilai posisi saat ini tanpa menggerakkan poros.

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

Parameters

Parameter

Jenis

Keterangan

value

double

Nilai posisi yang akan diberikan pada Sensor Rotasi. Nilai ini dapat berupa bilangan bulat atau desimal.

units

rotationUnits

The position unit:

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

Return Values

Fungsi ini tidak mengembalikan nilai.

angle#

Mengembalikan sudut poros saat ini.

Laporan sudut menunjukkan posisi absolut poros dalam satu putaran, dari 0 hingga 359,99 derajat. Laporan ini tidak akan direset saat proyek dimulai atau saat robot dimatikan.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

Parameter

Jenis

Keterangan

units

rotationUnits

Optional. The angle unit:

  • deg / degrees (default) — degrees
  • turns / rev — turns

Return Values

Mengembalikan nilai double yang mewakili sudut poros saat ini dalam satuan yang ditentukan.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

Mengembalikan seberapa jauh poros telah berputar.

Tidak seperti sudut, posisi dapat meningkat melebihi 359,99 derajat atau menurun di bawah 0 derajat. Posisi melacak seberapa jauh poros berputar maju atau mundur selama suatu proyek dan dapat diatur ulang sesuai kebutuhan.

Available Functions
double position( rotationUnits units );

Parameters

Parameter

Jenis

Keterangan

units

rotationUnits

The position unit:

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

Return Values

Mengembalikan nilai double yang menunjukkan seberapa jauh poros telah berputar dalam satuan yang ditentukan.

velocity#

Mengembalikan nilai kecepatan putaran poros.

Available Functions
double velocity( velocityUnits units );

Parameters

Parameter

Jenis

Keterangan

units

velocityUnits

Satuan kecepatan:

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

Return Values

Mengembalikan nilai double yang mewakili seberapa cepat poros berputar dalam satuan yang ditentukan.