ตัวเข้ารหัส#

การแนะนำ#

ตัวเข้ารหัสคลาส encoder เพลาหมุนไปไกลแค่ไหนและเร็วแค่ไหน ทำให้มีประโยชน์สำหรับการติดตามการหมุนของล้อ ตำแหน่งแขน หรือกลไกอื่นๆ

ตัวเข้ารหัสเพลาแบบออปติคอล VEX

คอนสตรัคเตอร์คลาส#

encoder(
  triport::port &port );

ตัวทำลายคลาส#

ทำลายอ็อบเจ็กต์ encoder และปล่อยทรัพยากรที่เกี่ยวข้อง

virtual ~encoder();

พารามิเตอร์#

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port &

พอร์ต 3 สายแรกของกลุ่มพอร์ตสองสายที่จำเป็นสำหรับการใช้งานตัวเข้ารหัสเพลาแบบออปติคอล ตัวเข้ารหัสจะใช้พอร์ตที่อยู่ติดกันสองพอร์ต (A–B, C–D, E–F หรือ G–H) บน Brain หรือตัวขยาย 3 สาย ระบุพอร์ตแรกในคู่ (A, C, E หรือ G) โดยเขียนเป็น Brain.ThreeWirePort.X หรือ ExpanderName.X โดยที่ X คือตัวอักษรของพอร์ต (ตัวอย่างเช่น Brain.ThreeWirePort.A หรือ Expander1.C)

ตัวอย่าง#

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

ฟังก์ชันสมาชิก#

คลาส encoder ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • setPosition — ตั้งค่าตำแหน่งปัจจุบันของตัวเข้ารหัสเป็นค่าที่ระบุ

  • position — ส่งคืนระยะการหมุนของตัวเข้ารหัส

  • velocity — ส่งคืนความเร็วการหมุนปัจจุบันของตัวเข้ารหัส

ก่อนเรียกใช้ฟังก์ชันสมาชิก encoder ใดๆ จะต้องสร้างอินสแตนซ์ encoder ก่อน ดังแสดงด้านล่าง:

/* 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#

ตั้งค่าตำแหน่งปัจจุบันของตัวเข้ารหัสเป็นค่าที่ระบุ สามารถใช้เพื่อตั้งค่าตำแหน่งที่ติดตามได้ด้วยตนเองโดยไม่ต้องหมุนมอเตอร์หรือกลไกอื่นๆ

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

double

ตำแหน่งการหมุนที่จะตั้งค่า

units

rotationUnits

The unit that represents the position:

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

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

position#

ส่งคืนค่าว่าเพลาที่เชื่อมต่อกับตัวเข้ารหัสหมุนไปไกลแค่ไหน

Available Functions
double position(
  rotationUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

rotationUnits

The unit that represents the position:

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

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงการหมุนในหน่วยที่ระบุ

velocity#

ส่งคืนค่าความเร็วในการหมุนของตัวเข้ารหัส

Available Functions
double velocity(
  velocityUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

velocityUnits

หน่วยที่ใช้แสดงความเร็ว:

  • percent pct เปอร์เซ็นต์
  • rpm รอบต่อนาที
  • dps องศาต่อวินาที

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงความเร็วในหน่วยที่ระบุ