สวิตช์กันชน#

การแนะนำ#

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

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

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

ผู้ควบคุม — ตรวจสอบว่าสวิตช์กันชนถูกกดอยู่หรือไม่

  • pressing — ส่งคืนว่าสวิตช์กันชนถูกกดหรือไม่

ฟังก์ชันเรียกกลับ — เรียกใช้โค้ดเมื่อกดหรือปล่อยสวิตช์กันชน

  • pressed — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดสวิตช์กันชน

  • released — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยสวิตช์กันชน

ตัวสร้าง — เริ่มต้นและกำหนดค่าสวิตช์กันชนด้วยตนเอง

  • Bumper — สร้างสวิตช์กันชน

ผู้รับ#

pressing#

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

  • 1 — สวิตช์กันชนกำลังถูกกด

  • 0 — ไม่ได้กดสวิตช์กันชน

Usage:
bumper_1.pressing()

พารามิเตอร์

คำอธิบาย

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

# Back up and turn if bumper switch 
# is pressed
while True:
    drivetrain.drive(FORWARD)
    if bumper_1.pressing():
        drivetrain.drive_for(REVERSE, 100, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)

การเรียกกลับ#

pressed#

กด pressed เพื่อลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดสวิตช์กันชน

Usage:
bumper_1.pressed(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A function that is previously defined to execute when the Bumper Switch is being pressed.

arg

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

# Drive forward when bumper switch 
# is pressed
def bumper_pressed():
    drivetrain.drive_for(FORWARD, 100, MM)

bumper_1.pressed(bumper_pressed)

released#

released ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยสวิตช์กันกระแทก

Usage:
bumper_1.released(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A function that is previously defined to execute when the Bumper Switch is released.

arg

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

# Drive reverse when bumper switch 
# is released
def bumper_released():
    drivetrain.drive_for(REVERSE, 100, MM)

bumper_1.released(bumper_released)

ผู้สร้าง#

ตัวสร้าง (Constructor) ใช้สำหรับสร้างอ็อบเจ็กต์ Bumper จำนวน ชิ้นด้วยตนเอง ซึ่งจำเป็นสำหรับการกำหนดค่า Bumper Switch นอก VEXcode

Bumper Switch#

Bumper สร้างสวิตช์กันชน

Usage:
Bumper(smartport)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่เชื่อมต่อกับสวิตช์กันชน จะเขียนแทนด้วย PORTx โดยที่ x คือหมายเลขของพอร์ต

bumper_1 = Bumper(PORT1)
# Back up and turn if bumper switch pressed
while True:
    drivetrain.drive(FORWARD)
    if bumper_1.pressing():
        drivetrain.drive_for(REVERSE, 100, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)