Pengkode#

Perkenalan#

Encoder kelas encoder ini menggunakan sensor optik internal untuk mendeteksi seberapa jauh dan seberapa cepat poros berputar, sehingga berguna untuk melacak rotasi roda, posisi lengan, atau mekanisme lainnya.

Encoder Poros Optik VEX.

Konstruktor Kelas#

encoder(
  triport::port &port );

Destruktor Kelas#

Menghapus objek encoder dan melepaskan sumber daya terkait.

virtual ~encoder();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port &

Port 3-Kawat pertama dari kelompok dua port yang dibutuhkan yang digunakan oleh Optical Shaft Encoder. Encoder menempati dua port yang berdekatan (A–B, C–D, E–F, atau G–H) pada Brain atau 3-Wire Expander. Tentukan port pertama dalam pasangan tersebut (A, C, E, atau G), yang ditulis sebagai Brain.ThreeWirePort.X atau ExpanderName.X di mana X adalah huruf port (misalnya, Brain.ThreeWirePort.A atau Expander1.C).

Contoh#

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

Fungsi Keanggotaan#

Kelas encoder mencakup fungsi anggota berikut:

  • setPosition — Mengatur posisi encoder saat ini ke nilai yang ditentukan.

  • position — Mengembalikan seberapa jauh encoder telah berputar.

  • velocity — Mengembalikan kecepatan rotasi encoder saat ini.

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

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

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

setPosition#

Mengatur posisi encoder saat ini ke nilai tertentu. Ini dapat digunakan untuk mengatur posisi yang dilacak secara manual tanpa memutar motor atau mekanisme lainnya.

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

Parameters

Parameter

Jenis

Keterangan

value

double

Posisi rotasi yang akan diatur.

units

rotationUnits

The unit that represents the position:

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

Return Values

Fungsi ini tidak mengembalikan nilai.

position#

Mengembalikan nilai seberapa jauh poros yang terhubung ke encoder telah berputar.

Available Functions
double position(
  rotationUnits units );

Parameters

Parameter

Jenis

Keterangan

units

rotationUnits

The unit that represents the position:

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

Return Values

Mengembalikan nilai double yang mewakili rotasi dalam satuan yang ditentukan.

velocity#

Mengembalikan kecepatan rotasi encoder.

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 dalam satuan yang ditentukan.