เซ็นเซอร์การหมุน#
การแนะนำ#
คลาส rotation ใช้สำหรับควบคุมและเข้าถึงข้อมูลจากเซ็นเซอร์การหมุน V5
เซ็นเซอร์วัดการหมุน ใช้สำหรับวัดการหมุนของเพลา สามารถใช้งานได้ทุกส่วนของหุ่นยนต์ที่มีเพลาหมุน แม้ว่าเพลานั้นจะไม่ได้เชื่อมต่อกับมอเตอร์โดยตรงก็ตาม
มอเตอร์มีตัวเข้ารหัสในตัวที่สามารถติดตามการหมุนของตัวเองได้ เซ็นเซอร์วัดการหมุนทำงานเหมือนตัวเข้ารหัสภายนอกที่สามารถติดตามการหมุนของเพลาแยกต่างหากได้
เซ็นเซอร์วัดการหมุนสามารถส่งค่ามุม ตำแหน่ง และความเร็วของเพลาได้ มุมคือตำแหน่งสัมบูรณ์ของเพลาตั้งแต่ 0 ถึง 359.99 องศา โดยจะไม่รีเซ็ตเมื่อเริ่มโครงการหรือเมื่อปิดเครื่องหุ่นยนต์ ตำแหน่งจะติดตามจำนวนองศาหรือจำนวนรอบที่เพลาหมุนไปข้างหน้าหรือถอยหลังระหว่างโครงการ และสามารถรีเซ็ตได้ตามต้องการ
เซ็นเซอร์วัดการหมุนนี้สามารถใช้ได้กับเพลา VEX มาตรฐานขนาด 1/8 นิ้ว และ 1/4 นิ้ว
คอนสตรัคเตอร์คลาส#
rotation(
int32_t index,
bool reverse = false );
ตัวทำลายคลาส#
Destroys the rotation object and releases associated resources.
virtual ~rotation();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์การหมุน จะเขียนในรูปแบบ |
|
|
ตัวเลือกเสริม: จะกลับทิศทางการแสดงผลของเซ็นเซอร์การหมุนหรือไม่:
|
ตัวอย่าง#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
ฟังก์ชันสมาชิก#
คลาส rotation ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
setPosition— ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าที่กำหนดangle— คืนค่ามุมปัจจุบันของเพลาจาก 0 เป็น 359.99 องศาposition— ส่งคืนระยะทางที่เพลาหมุนเป็นองศาหรือรอบvelocity— ส่งคืนความเร็วในการหมุนของเพลา
ก่อนเรียกใช้ฟังก์ชันสมาชิก rotation ใดๆ จะต้องสร้างอินสแตนซ์ rotation ก่อน ดังแสดงด้านล่าง:
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนให้เป็นค่าที่กำหนดไว้
ตำแหน่งคือระยะการหมุนของเพลาในระหว่างโครงการ การตั้งค่าตำแหน่งจะเปลี่ยนค่าตำแหน่งปัจจุบันโดยไม่ต้องขยับเพลา
Available Functionsvoid setPosition(
double value,
rotationUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ค่าตำแหน่งที่จะกำหนดให้กับเซ็นเซอร์การหมุน ค่านี้สามารถเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
|
|
The position unit:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
angle#
ส่งคืนค่ามุมปัจจุบันของเพลา
ฟังก์ชัน Angle จะรายงานตำแหน่งสัมบูรณ์ของเพลาภายในหนึ่งรอบการหมุน โดยมีค่าตั้งแต่ 0 ถึง 359.99 องศา และจะไม่รีเซ็ตเมื่อเริ่มโครงการใหม่หรือเมื่อปิดเครื่องหุ่นยนต์
Available Functionsdouble angle( rotationUnits units = degrees );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตัวเลือกเสริม หน่วยของมุม:
|
ส่งคืนค่า double ซึ่งแสดงถึงมุมปัจจุบันของเพลาในหน่วยที่ระบุ
// 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#
ส่งคืนค่าว่าเพลาหมุนไปไกลแค่ไหน
ต่างจากมุม ตำแหน่งสามารถเพิ่มขึ้นเกิน 359.99 องศา หรือลดลงต่ำกว่า 0 องศาได้ ตำแหน่งจะติดตามว่าเพลาหมุนไปข้างหน้าหรือถอยหลังไปไกลแค่ไหนในระหว่างโครงการ และสามารถรีเซ็ตได้ตามต้องการ
Available Functionsdouble position( rotationUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
The position unit:
|
ส่งคืนค่า double ซึ่งแสดงถึงระยะการหมุนของเพลาในหน่วยที่ระบุ
velocity#
ส่งคืนค่าความเร็วในการหมุนของเพลา
Available Functionsdouble velocity( velocityUnits units );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยความเร็ว:
|
ส่งคืนค่า double ซึ่งแสดงถึงความเร็วในการหมุนของเพลาในหน่วยที่ระบุ