เซ็นเซอร์ไจโร#

การแนะนำ#

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

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

gyro(
  triport::port &port);

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

ทำลายวัตถุ gyro และปล่อยทรัพยากรที่เกี่ยวข้อง

virtual ~gyro();

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

พารามิเตอร์

พิมพ์

คำอธิบาย

port

triport::port &

พอร์ต 3 สายที่เชื่อมต่อกับเซ็นเซอร์ไจโร เขียนเป็น Brain.ThreeWirePort.X หรือ ExpanderName.Xโดยที่ X คือตัวอักษรของพอร์ต (ตัวอย่างเช่น Brain.ThreeWirePort.A หรือ Expander1.A)

ตัวอย่าง#

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

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

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

  • calibrate — ปรับเทียบไจโรเพื่อการติดตามทิศทางที่เสถียร

  • setHeading — ตั้งค่าทิศทางของไจโร

  • setRotation — กำหนดค่าการหมุนปัจจุบันของไจโร

  • heading — ส่งคืนทิศทางของไจโร

  • rotation — ส่งคืนค่าการหมุนของไจโร

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

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

// Create a gyro instance in Port A
gyro GyroA = gyro(Brain.ThreeWirePort.A);

calibrate#

ปรับเทียบเซ็นเซอร์ไจโร

Available Functions
void calibrate(
  int32_t value = 0 );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

int32_t

เวลาที่ใช้ในการปรับเทียบ (หน่วยเป็นวินาที) ค่าเริ่มต้นคือ 0

Return Values

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

Notes
  • ควรเรียกใช้คำสั่ง calibrate เฉพาะเมื่อเซ็นเซอร์ไม่เคลื่อนที่เท่านั้น

Examples
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);

setHeading#

ตั้งค่าทิศทางของเซ็นเซอร์ไจโรให้เป็นค่าเฉพาะค่าหนึ่ง

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

พารามิเตอร์

พิมพ์

คำอธิบาย

value

double

ค่าที่จะใช้สำหรับหัวข้อใหม่

units

rotationUnits

หน่วยที่ใช้แทนทิศทาง:

  • degrees
  • turns
Return Values

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

setRotation#

ตั้งค่าการหมุนของเซ็นเซอร์ไจโรให้เป็นค่าเฉพาะค่าหนึ่ง

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

double

ค่าที่จะใช้สำหรับค่าการหมุนใหม่

units

rotationUnits

หน่วยที่แสดงค่าการหมุน:

  • degrees
  • turns
Return Values

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

heading#

ส่งคืนค่าทิศทางปัจจุบันของเซ็นเซอร์ไจโร

Available Functions
double heading(
  rotationUnits units = degrees );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

rotationUnits

หน่วยที่ใช้แสดงทิศทาง:

  • degrees (ค่าเริ่มต้น)
  • turns
Return Values

ส่งคืนค่า double ซึ่งแสดงถึงทิศทางปัจจุบันของเซ็นเซอร์ไจโรในหน่วยที่ระบุ โดยค่าเริ่มต้นคือ degrees

Examples
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);

rotation#

ส่งคืนค่าการหมุนปัจจุบันของเซ็นเซอร์ไจโร

Available Functions
double rotation(
  rotationUnits units = degrees );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

rotationUnits

หน่วยที่แสดงค่าการหมุน:

  • degrees (ค่าเริ่มต้น)
  • turns
Return Values

ส่งคืนค่า double ซึ่งแสดงค่าการหมุนปัจจุบันของเซ็นเซอร์ไจโรในหน่วยที่ระบุ โดยค่าเริ่มต้นคือ degrees

Examples
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);