เซ็นเซอร์นี้เป็นสวิตช์ จะบอกหุ่นยนต์ว่ากันชนถูกกด (ค่าเซ็นเซอร์ 1) หรือปล่อย (ค่าเซ็นเซอร์ 0)


วิธีการทำงานของสวิตช์กันชน: ทำให้วงจรสมบูรณ์

สวิตช์กันชน VEX IQ มีพื้นฐานมาจากอุปกรณ์ไฟฟ้าที่ใช้บ่อยที่สุด ซึ่งก็คือสวิตช์ สวิตช์ประกอบด้วยขั้วต่อสองขั้ว (ตำแหน่งสำหรับต่อสายไฟ) และสะพานลวดเพื่อ 'สร้าง' การเชื่อมต่อเมื่อกดสวิตช์ เช่นเดียวกับในภาพประกอบ เมื่อคุณกดบนสายเชื่อมต่อ คุณจะ 'เสร็จสิ้น' วงจร และ Robot Brain จะบันทึกสิ่งนั้นในโปรแกรมของคุณ!

โดยพื้นฐานแล้วสวิตช์กันชนเป็นส่วนหนึ่งของวงจรที่ไม่ได้เชื่อมต่อหรือชำรุด เมื่อคุณกดสวิตช์กันชน การเชื่อมต่อจะเกิดขึ้น และไฟฟ้าจะไหลได้


การใช้งานทั่วไปของสวิตช์กันชน

  • เซ็นเซอร์นี้สามารถกระตุ้นการทำงานของหุ่นยนต์เมื่อกดหรือปล่อย
  • เซ็นเซอร์นี้สามารถใช้เป็นสวิตช์เพื่อเปิดหรือปิดมอเตอร์เมื่อกด

  • เซ็นเซอร์นี้สามารถตรวจจับผนังหรือวัตถุได้เมื่อกันชนชนเข้าไป

  • เซ็นเซอร์สามารถตรวจจับส่วนอื่นๆ ของหุ่นยนต์ เช่น แขน เมื่อกดเข้าไปในกันชน

การใช้สวิตช์กันชนบนหุ่นยนต์แข่งขัน

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

การใช้สวิตช์กันชนใน VEXcode IQ

การเพิ่มสวิตช์กันชนเป็นอุปกรณ์ใน VEXcode IQ

ภาพหน้าจอ_2023-03-01_at_9.16.54_AM.png

หากต้องการเขียนโค้ดสวิตช์กันชนใน VEXcode IQ คุณต้องกำหนดค่าสวิตช์กันชนก่อน ดูบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการกำหนดค่าเซ็นเซอร์ใน VEXcode IQ

เมื่อกำหนดค่าสวิตช์กันชนแล้ว คำสั่งจะปรากฏในกล่องเครื่องมือที่คุณสามารถใช้ในโครงการของคุณ

การเข้ารหัสสวิตช์กันชนในบล็อก

ภาพหน้าจอ_2023-03-01_at_9.17.48_AM.png

บล็อก <Pressing bumper> คือบล็อกผู้รายงานบูลีนที่รายงานเงื่อนไขว่าเป็นจริงหรือเท็จ บล็อกบูลีน เช่น บล็อก <Pressing bumper> จะพอดีกับบล็อกที่มีอินพุตหกเหลี่ยม (หกด้าน) สำหรับบล็อกอื่นๆ

บล็อกบูลีน <Pressing bumper> จะรายงานว่า 'จริง' หากกดบัมเปอร์ และ 'เท็จ' หากปลดบัมเปอร์ออกหรือไม่ได้กด หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับบล็อกบูลีน โปรดไปที่บทความ Help หรือบทความ Block Shapes and Meaning

 

ภาพหน้าจอ_2023-03-01_at_10.21.13_AM.png

ในตัวอย่างนี้ บล็อก <Pressing bumper> ถูกใช้พร้อมกับบล็อก [รอจนกระทั่ง] เพื่อให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกระทั่งสวิตช์กันชนถูกกด ดังที่แสดงในวิดีโอด้านบน 

การเข้ารหัสสวิตช์กันชนใน Python

หมายเหตุ:หากต้องการเขียนโค้ดสวิตช์กันชน VEX IQ (รุ่นที่ 1) ใน Python จะต้องเชื่อมต่อกับ VEX IQ (รุ่นที่ 2) Brain VEX IQ (รุ่นที่ 1) Brain ไม่รองรับ Python

กันชน_1.กด()

คำสั่ง bumper.pressingรายงานค่าบูลีนว่าเป็นจริงหรือเท็จเกี่ยวกับสวิตช์กันชน 

คำสั่ง bumper.pressing จะรายงาน 'true' หากกดบัมเปอร์ และ 'false' หากปลดบัมเปอร์ออกหรือไม่ได้กด

หมายเหตุ:ชื่อของสวิตช์กันชนที่ปรากฏในคำสั่งสอดคล้องกับชื่อที่กำหนดในการกำหนดค่า 

drivetrain.drive(FORWARD)
ในขณะที่ไม่ใช่ bumper_1.pressing():
รอ (20, MSEC)
drivetrain.stop()

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

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ด Bumper Switch ใน Python โปรดดูหน่วยที่ 4 ของหลักสูตรวิทยาการคอมพิวเตอร์ระดับ 1 - Python 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: