โมดูล#

การแนะนำ#

โดรน VEX AIR มีพอร์ตสำหรับเชื่อมต่อโมดูลต่างๆ ของ VEX AIR ซึ่งช่วยให้โดรนสามารถปล่อยและถือสิ่งของต่างๆ ได้

หมายเหตุ: วิธีการเหล่านี้ใช้ได้เฉพาะกับโมดูลขอเกี่ยวแบบมอเตอร์และโมดูลแม่เหล็กเท่านั้น

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

การกระทำ

  • drop_payload – ปล่อยเพย์โหลดโดยใช้โมดูลที่แนบมา

  • hold_payload – เก็บเพย์โหลดโดยใช้โมดูลที่แนบมา

ผู้รับ

  • get_type – ส่งคืนประเภทของโมดูลที่ติดอยู่กับโดรน

  • is_holding – ส่งคืนสถานะปัจจุบันของโมดูลตะขอแบบมอเตอร์

การกระทำ#

drop_payload#

drop_payload ปล่อย payload โดยใช้โมดูลที่เชื่อมต่อ โมดูลตะขอแบบมอเตอร์จะกางตะขอออก และโมดูลแม่เหล็กจะปิดการทำงานของแม่เหล็ก

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะกับโมดูลขอเกี่ยวแบบมอเตอร์และโมดูลแม่เหล็กเท่านั้น

วิธีใช้:

drone.module.drop_payload()

พารามิเตอร์

คำอธิบาย

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

# Demonstrate the Motorized Hook Module moving
drone.take_off(climb_to=800)
wait(1, SECONDS)
drone.module.hold_payload()
wait(2, SECONDS)
drone.module.drop_payload()
drone.land()

hold_payload#

hold_payload ยึดน้ำหนักบรรทุกโดยใช้โมดูลที่เชื่อมต่อ โมดูลขอเกี่ยวแบบมอเตอร์จะปิดขอเกี่ยว และโมดูลแม่เหล็กจะเปิดใช้งานแม่เหล็ก

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะกับโมดูลขอเกี่ยวแบบมอเตอร์และโมดูลแม่เหล็กเท่านั้น

วิธีใช้:

drone.module.hold_payload()

พารามิเตอร์

คำอธิบาย

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

# Demonstrate the Motorized Hook Module moving
drone.take_off(climb_to=800)
wait(1, SECONDS)
drone.module.hold_payload()
wait(2, SECONDS)
drone.module.drop_payload()
drone.land()

ผู้รับ#

get_type#

get_type จะส่งคืนค่าใดค่าหนึ่งต่อไปนี้ โดยขึ้นอยู่กับโมดูลที่เชื่อมต่อกับโดรนในปัจจุบัน:

  • DroneModuleType.HOOK – โมดูลขอเกี่ยวแบบใช้มอเตอร์ถูกติดตั้งแล้ว

  • DroneModuleType.MAGNET – โมดูลแม่เหล็กถูกติดตั้งแล้ว

  • DroneModuleType.PASSIVE – โมดูลขอเกี่ยวแบบพาสซีฟถูกติดตั้ง หรือ ไม่มีโมดูลใดติดตั้ง

วิธีใช้:

drone.module.get_type()

พารามิเตอร์

คำอธิบาย

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

# Display what module is attached to the drone
# Change the module with Propeller Lock on during project
while True:
    clear_console()
    print(drone.module.get_type())
    wait(0.2,SECONDS)

is_holding#

is_holding ส่งคืนค่าบูลีน Boolean ซึ่งระบุว่าโมดูลตะขอแบบมอเตอร์อยู่ในสถานะ hold หรืออยู่ในสถานะ drop

  • True – โมดูลขอเกี่ยวแบบมอเตอร์ถูกลดระดับลง

  • False – โมดูลขอเกี่ยวแบบมอเตอร์ถูกยกขึ้น

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะกับโมดูลขอเกี่ยวแบบมอเตอร์เท่านั้น

วิธีใช้:

drone.module.is_holding()

พารามิเตอร์

คำอธิบาย

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

# Create a custom button to toggle the Motorized Hook Module
def hook_toggle():
    if drone.module.is_holding():
        drone.module.drop_payload()
    else:
        drone.module.hold_payload()

controller.button5.pressed(hook_toggle)