เซ็นเซอร์การหมุน#
การแนะนำ#
เซ็นเซอร์วัดการหมุน ใช้สำหรับวัดการหมุนของเพลา สามารถใช้งานได้ทุกส่วนของหุ่นยนต์ที่มีเพลาหมุน แม้ว่าเพลานั้นจะไม่ได้เชื่อมต่อกับมอเตอร์โดยตรงก็ตาม
มอเตอร์มีตัวเข้ารหัสในตัวที่สามารถติดตามการหมุนของตัวเองได้ เซ็นเซอร์วัดการหมุนทำงานเหมือนตัวเข้ารหัสภายนอกที่สามารถติดตามการหมุนของเพลาแยกต่างหากได้
เซ็นเซอร์วัดการหมุนสามารถส่งค่ามุม ตำแหน่ง และความเร็วของเพลาได้ มุมคือตำแหน่งสัมบูรณ์ของเพลาตั้งแต่ 0 ถึง 359.99 องศา โดยจะไม่รีเซ็ตเมื่อเริ่มโครงการหรือเมื่อปิดเครื่องหุ่นยนต์ ตำแหน่งจะติดตามจำนวนองศาหรือจำนวนรอบที่เพลาหมุนไปข้างหน้าหรือถอยหลังระหว่างโครงการ และสามารถรีเซ็ตได้ตามต้องการ
เซ็นเซอร์วัดการหมุนนี้สามารถใช้ได้กับเพลา VEX มาตรฐานขนาด 1/8 นิ้ว และ 1/4 นิ้ว

หน้านี้ใช้ rotation_sensor เป็นตัวอย่างชื่อเซ็นเซอร์การหมุน โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:
set_position— ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าที่กำหนดangle— คืนค่ามุมปัจจุบันของเพลาจาก 0 เป็น 359.99 องศาposition— ส่งคืนระยะทางที่เพลาหมุนเป็นองศาหรือรอบvelocity— ส่งคืนความเร็วในการหมุนของเพลาreset_position— รีเซ็ตตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็น 0set_reversed— ตั้งค่าว่าเอาต์พุตของเซ็นเซอร์การหมุนจะกลับทิศทางหรือไม่changed— ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อใดก็ตามที่ค่าของเซ็นเซอร์การหมุนเปลี่ยนแปลง
ตัวสร้าง — กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์การหมุนด้วยตนเอง
Rotation— สร้างเซ็นเซอร์การหมุน
ตั้งค่าตำแหน่ง#
set_position ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าใดค่าหนึ่ง
ตำแหน่งคือระยะการหมุนของเพลาในระหว่างโครงการ การตั้งค่าตำแหน่งจะเปลี่ยนค่าตำแหน่งปัจจุบันโดยไม่ต้องขยับเพลา
Usage:
rotation_sensor.set_position(position, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ค่าตำแหน่งที่จะกำหนดให้กับเซ็นเซอร์การหมุน ค่านี้สามารถเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
|
เลือกได้ตามต้องการ หน่วยตำแหน่ง: |
# Set the Rotation Sensor to 2.5 Turns
rotation_sensor.set_position(2.5, TURNS)
มุม#
angle จะส่งคืนค่ามุมปัจจุบันของเพลาเป็นค่าทศนิยม
ฟังก์ชัน Angle จะรายงานตำแหน่งสัมบูรณ์ของเพลาภายในหนึ่งรอบการหมุน โดยมีค่าตั้งแต่ 0 ถึง 359.99 องศา และจะไม่รีเซ็ตเมื่อเริ่มโครงการใหม่หรือเมื่อปิดเครื่องหุ่นยนต์
Usage:
rotation_sensor.angle(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เลือกได้ หน่วยของมุม: |
ตำแหน่ง#
position returns how far the shaft has rotated.
ต่างจากมุม ตำแหน่งสามารถเพิ่มขึ้นเกิน 359.99 องศา หรือลดลงต่ำกว่า 0 องศาได้ ตำแหน่งจะติดตามว่าเพลาหมุนไปข้างหน้าหรือถอยหลังไปไกลแค่ไหนในระหว่างโครงการ และสามารถรีเซ็ตได้ตามต้องการ
Usage:
rotation_sensor.position(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เลือกได้ตามต้องการ หน่วยตำแหน่ง: |
ความเร็ว#
ค่า velocity จะแสดงความเร็วในการหมุนของเพลา
Usage:
rotation_sensor.velocity(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
หน่วยความเร็ว: |
รีเซ็ตตำแหน่ง#
reset_position จะรีเซ็ตตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็น 0
Usage:
rotation_sensor.reset_position()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
เซ็ต_ย้อนกลับ#
set_reversed กำหนดค่าว่าจะกลับทิศทางสัญญาณเอาต์พุตของเซ็นเซอร์การหมุนหรือไม่
เมื่อกลับค่า ค่าบวกจะกลายเป็นค่าลบ และค่าลบจะกลายเป็นค่าบวก วิธีนี้ทำงานเหมือนกับการตั้งค่าพารามิเตอร์ reverse เป็น True เมื่อใช้ Rotation constructor
Usage:
rotation_sensor.set_reversed(value)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เลือกว่าจะกลับทิศทางสัญญาณเอาต์พุตของเซ็นเซอร์การหมุนหรือไม่: |
เปลี่ยน#
changed ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้ทุกครั้งที่ค่าของเซ็นเซอร์การหมุนเปลี่ยนแปลง
Usage:
rotation_sensor.changed(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that runs when the Rotation Sensor’s value changes. |
|
ตัวเลือกเสริม ทูเปิลที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
def my_function():
brain.screen.print("Rotated!")
# Call my_function whenever rotation_sensor's value changes
rotation_sensor.changed(my_function)
ผู้สร้าง#
ตัวสร้าง (Constructor) ใช้สำหรับสร้างวัตถุที่มีการหมุน Rotation ด้วยตนเอง เช่น เมื่อทำการกำหนดค่าเซ็นเซอร์การหมุนภายนอก VEXcode
Rotation#
Rotation สร้างวัตถุ Rotation Sensor ขึ้นมา
Usage:
Rotation(smartport)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์การหมุน จะเขียนในรูปแบบ |
|
ตัวเลือกเสริม: จะกลับทิศทางการส่งสัญญาณของเซ็นเซอร์การหมุนหรือไม่: |
# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)