เซ็นเซอร์การหมุน#

การแนะนำ#

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

มอเตอร์มีตัวเข้ารหัสในตัวที่สามารถติดตามการหมุนของตัวเองได้ เซ็นเซอร์วัดการหมุนทำงานเหมือนตัวเข้ารหัสภายนอกที่สามารถติดตามการหมุนของเพลาแยกต่างหากได้

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

เซ็นเซอร์วัดการหมุนนี้สามารถใช้ได้กับเพลา VEX มาตรฐานขนาด 1/8 นิ้ว และ 1/4 นิ้ว

เซ็นเซอร์การหมุน VEX EXP

หน้านี้ใช้ rotation_sensor เป็นตัวอย่างชื่อเซ็นเซอร์การหมุน โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ

ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:

  • set_position — ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าที่กำหนด

  • angle — คืนค่ามุมปัจจุบันของเพลาจาก 0 เป็น 359.99 องศา

  • position — ส่งคืนระยะทางที่เพลาหมุนเป็นองศาหรือรอบ

  • velocity — ส่งคืนความเร็วในการหมุนของเพลา

  • reset_position — รีเซ็ตตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็น 0

  • set_reversed — ตั้งค่าว่าเอาต์พุตของเซ็นเซอร์การหมุนจะกลับทิศทางหรือไม่

  • changed — ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อใดก็ตามที่ค่าของเซ็นเซอร์การหมุนเปลี่ยนแปลง

ตัวสร้าง — กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์การหมุนด้วยตนเอง

  • Rotation — สร้างเซ็นเซอร์การหมุน

ตั้งค่าตำแหน่ง#

set_position ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าใดค่าหนึ่ง

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

Usage:
rotation_sensor.set_position(position, units)

พารามิเตอร์

คำอธิบาย

position

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

units

เลือกได้ตามต้องการ หน่วยตำแหน่ง: DEGREES (ค่าเริ่มต้น) หรือ TURNS

# 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)

พารามิเตอร์

คำอธิบาย

units

เลือกได้ หน่วยของมุม: DEGREES (ค่าเริ่มต้น) หรือ TURNS

ตำแหน่ง#

position returns how far the shaft has rotated.

ต่างจากมุม ตำแหน่งสามารถเพิ่มขึ้นเกิน 359.99 องศา หรือลดลงต่ำกว่า 0 องศาได้ ตำแหน่งจะติดตามว่าเพลาหมุนไปข้างหน้าหรือถอยหลังไปไกลแค่ไหนในระหว่างโครงการ และสามารถรีเซ็ตได้ตามต้องการ

Usage:
rotation_sensor.position(units)

พารามิเตอร์

คำอธิบาย

units

เลือกได้ตามต้องการ หน่วยตำแหน่ง: DEGREES (ค่าเริ่มต้น) หรือ TURNS

ความเร็ว#

ค่า velocity จะแสดงความเร็วในการหมุนของเพลา

Usage:
rotation_sensor.velocity(units)

พารามิเตอร์

คำอธิบาย

units

หน่วยความเร็ว: VelocityUnits.RPM (รอบต่อนาที) หรือ VelocityUnits.DPS (องศาต่อวินาที)

รีเซ็ตตำแหน่ง#

reset_position จะรีเซ็ตตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็น 0

Usage:
rotation_sensor.reset_position()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

เซ็ต_ย้อนกลับ#

set_reversed กำหนดค่าว่าจะกลับทิศทางสัญญาณเอาต์พุตของเซ็นเซอร์การหมุนหรือไม่

เมื่อกลับค่า ค่าบวกจะกลายเป็นค่าลบ และค่าลบจะกลายเป็นค่าบวก วิธีนี้ทำงานเหมือนกับการตั้งค่าพารามิเตอร์ reverse เป็น True เมื่อใช้ Rotation constructor

Usage:
rotation_sensor.set_reversed(value)

พารามิเตอร์

คำอธิบาย

value

เลือกว่าจะกลับทิศทางสัญญาณเอาต์พุตของเซ็นเซอร์การหมุนหรือไม่: True หรือ False

เปลี่ยน#

changed ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้ทุกครั้งที่ค่าของเซ็นเซอร์การหมุนเปลี่ยนแปลง

Usage:
rotation_sensor.changed(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that runs when the Rotation Sensor’s value changes.

arg

ตัวเลือกเสริม ทูเปิลที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

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)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์การหมุน จะเขียนในรูปแบบ Ports.PORTxโดยที่ x คือหมายเลขพอร์ต

reverse

ตัวเลือกเสริม: จะกลับทิศทางการส่งสัญญาณของเซ็นเซอร์การหมุนหรือไม่: True หรือ False (ค่าเริ่มต้น)

# Create an inverted Rotation Sensor in Port 10
rotation_sensor = Rotation(Ports.PORT10, True)