Sensor Rotasi#
Perkenalan#
Kelas rotation digunakan untuk mengontrol dan mengakses data dari Sensor Rotasi EXP.
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 |
|---|---|---|
|
|
Port Pintar yang terhubung ke Sensor Rotasi, ditulis sebagai |
|
|
Opsional. Apakah akan membalikkan output Sensor Rotasi:
|
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:
/* This constructor is required when using VS Code.
Rotation Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// 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 Functionsvoid setPosition(
double value,
rotationUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Nilai posisi yang akan diberikan pada Sensor Rotasi. Nilai ini dapat berupa bilangan bulat atau desimal. |
|
|
The position unit:
|
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 Functionsdouble angle( rotationUnits units = degrees );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Optional. The angle unit:
|
Mengembalikan nilai double yang mewakili sudut poros saat ini dalam satuan yang ditentukan.
// 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 Functionsdouble position( rotationUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
The position unit:
|
Mengembalikan nilai double yang menunjukkan seberapa jauh poros telah berputar dalam satuan yang ditentukan.
velocity#
Mengembalikan nilai kecepatan putaran poros.
Available Functionsdouble velocity( velocityUnits units );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Satuan kecepatan:
|
Mengembalikan nilai double yang mewakili seberapa cepat poros berputar dalam satuan yang ditentukan.