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

ชิ้นส่วนสวิตช์กันชน VEX IQ


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

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

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


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

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

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

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

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

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

การใช้ Bumper Switch ใน VEXcode IQ

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

เมนูอุปกรณ์ VEXcode IQ หลังจากเลือกปุ่มเพิ่มอุปกรณ์แล้ว ตัวเลือกบัมเปอร์จะถูกเน้นไว้

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

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

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

VEXcode IQ กดบล็อคบัมเปอร์ที่อ่านว่า Bumper1 ถูกกดหรือไม่

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

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

 

VEXcode IQ บล็อกโครงการที่ใช้ Bumper Switch เพื่อขับเคลื่อนไปข้างหน้าจนกว่าจะสัมผัสวัตถุหรือผนัง โครงการมีข้อความว่า เมื่อเริ่มต้น ให้ขับไปข้างหน้า รอจนกระทั่งกด Bumper1 แล้วจึงหยุดขับ

ในตัวอย่างนี้ บล็อก <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: