เซ็นเซอร์ไจโร#
การแนะนำ#
ไจโรสโคปคลาส gyro ใช้สำหรับวัดทิศทางและการเคลื่อนที่แบบหมุนของหุ่นยนต์ ทำให้สามารถติดตามการวางแนวของหุ่นยนต์ได้ตลอดเวลา
คอนสตรัคเตอร์คลาส#
gyro(
triport::port &port);
ตัวทำลายคลาส#
ทำลายวัตถุ gyro และปล่อยทรัพยากรที่เกี่ยวข้อง
virtual ~gyro();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ต 3 สายที่เชื่อมต่อกับเซ็นเซอร์ไจโร เขียนเป็น |
ตัวอย่าง#
// 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 Functionsvoid calibrate(
int32_t value = 0 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
เวลาที่ใช้ในการปรับเทียบ (หน่วยเป็นวินาที) ค่าเริ่มต้นคือ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesควรเรียกใช้คำสั่ง
calibrateเฉพาะเมื่อเซ็นเซอร์ไม่เคลื่อนที่เท่านั้น
// Start calibration with the calibration time set to 3 seconds.
GyroA.calibrate(3);
setHeading#
ตั้งค่าทิศทางของเซ็นเซอร์ไจโรให้เป็นค่าเฉพาะค่าหนึ่ง
Available Functionsvoid setHeading(
double value,
rotationUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าที่จะใช้สำหรับหัวข้อใหม่ |
|
|
หน่วยที่ใช้แทนทิศทาง:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
setRotation#
ตั้งค่าการหมุนของเซ็นเซอร์ไจโรให้เป็นค่าเฉพาะค่าหนึ่ง
Available Functionsvoid setRotation(
double value,
rotationUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าที่จะใช้สำหรับค่าการหมุนใหม่ |
|
|
หน่วยที่แสดงค่าการหมุน:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
heading#
ส่งคืนค่าทิศทางปัจจุบันของเซ็นเซอร์ไจโร
Available Functionsdouble heading(
rotationUnits units = degrees );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่ใช้แสดงทิศทาง:
|
ส่งคืนค่า double ซึ่งแสดงถึงทิศทางปัจจุบันของเซ็นเซอร์ไจโรในหน่วยที่ระบุ โดยค่าเริ่มต้นคือ degrees
// Get the current heading for the Gyro.
double value = GyroA.heading();
Brain.Screen.print(value);
rotation#
ส่งคืนค่าการหมุนปัจจุบันของเซ็นเซอร์ไจโร
Available Functionsdouble rotation(
rotationUnits units = degrees );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยที่แสดงค่าการหมุน:
|
ส่งคืนค่า double ซึ่งแสดงค่าการหมุนปัจจุบันของเซ็นเซอร์ไจโรในหน่วยที่ระบุ โดยค่าเริ่มต้นคือ degrees
// Get the current rotation for the Gyro.
double value = GyroA.rotation();
Brain.Screen.print(value);