สวิตช์กันชน#
การแนะนำ#
สวิตช์กันกระแทกเป็นสวิตช์เชิงกลที่ทำให้วงจรสมบูรณ์เมื่อถูกกด ทำให้หุ่นยนต์สามารถตรวจจับการกดและการปล่อยได้
หน้านี้ใช้ 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A function that is previously defined to execute when the Bumper Switch is being pressed. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A function that is previously defined to execute when the Bumper Switch is released. |
|
ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
# 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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับสวิตช์กันชน จะเขียนแทนด้วย 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)