Skip to main content

บทที่ 3: การใช้เซ็นเซอร์และแม่เหล็กไฟฟ้าเพื่อหยิบดิสก์

การใช้เซ็นเซอร์ดวงตาลงกับแม่เหล็กไฟฟ้า

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

  • เริ่มโครงการใหม่ และเลือก Disk Mover Playground เมื่อได้รับแจ้ง แผ่นการเลือก Disk Mover Playground อ่าน Disk Mover ที่ด้านล่าง
  • ตั้งชื่อ โครงการUnit8Lesson3VEXcode VR Toolbar พร้อมกล่องชื่อโปรเจกต์ที่ไฮไลต์ ชื่อโครงการอ่านหน่วยที่ 8 บทเรียนที่ 3

     

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

    def main ():
        #1. ไดรฟ์ไปยังดิสก์แรก
    
        #2 หยิบดิสก์ตัวแรกขึ้นมา
    
        #3 ขับไปสู่เป้าหมาย
    
        #4 วางดิสก์ลงในเป้าหมาย

     

  • ลากหรือพิมพ์ลูปสัก พักที่ ไม่มี เงื่อนไขลงในพื้นที่ทำงานใต้ความคิดเห็นแรกเพื่อให้โปรเจกต์ของคุณมีลักษณะดังนี้:

    def main ():
        #1. ไดรฟ์ไปยังดิสก์แรก
        ในขณะที่ไม่มีเงื่อนไข:
            รอ (5, มิลลิวินาที)
    
        #2 หยิบดิสก์ตัวแรกขึ้นมา
    
        #3 ขับไปสู่เป้าหมาย
    
        #4 วางดิสก์ลงในเป้าหมาย
  • คำสั่ง down_eye.near_object จะรายงานค่า True เมื่อเซนเซอร์ Down Eye บนหุ่นยนต์ VR ตรวจพบดิสก์ที่มีสีบน Disk Mover Playground ดิสก์อยู่บนพื้นของสนามเด็กเล่นและไม่สามารถตรวจจับได้โดยเซ็นเซอร์ตรวจจับตาหน้า ดังนั้น เซ็นเซอร์ตรวจจับตาล่างจะตรวจจับดิสก์ ลากหรือพิมพ์คำสั่ง down_eye.near_object เป็นเงื่อนไขของลูป while ดังนั้นส่วนแรกของโปรเจ็กต์ของคุณจึงมีลักษณะดังนี้:

    def main ():
        #1. ไดรฟ์ไปยังดิสก์แรก
        ในขณะที่ไม่ใช่ down_eye.near_object ():
            เดี๋ยวก่อน (5, มิลลิวินาที)
  • คำสั่งภายใน ลูปขณะ ที่ จะทำงานเมื่อหุ่นยนต์ VR ตรวจไม่พบวัตถุ ในการเข้าถึงหนึ่งในดิสก์หุ่นยนต์ VR จะต้องขับเคลื่อนไปข้างหน้าจนกว่าจะตรวจพบดิสก์

    มุมมองด้านหลังของสนามเด็กเล่น Disk Mover แสดงหุ่นยนต์ VR ในตำแหน่งเริ่มต้นและดิสก์สีน้ำเงินสามแผ่นต่อกันยืดความยาวของสนามเด็กเล่นที่ด้านหน้าของหุ่นยนต์
  • ลากหรือพิมพ์คำสั่ง ไดรฟ์ ภายในลูป  ในขณะที่ เพื่อให้ส่วนความคิดเห็นแรกของโปรเจ็กต์มีลักษณะดังนี้:

    	#1. ไดรฟ์ไปยังดิสก์แรก
        ในขณะที่ไม่ใช่ down_eye.near_object (): drivetrain.drive
            (ไปข้างหน้า)
            รอ (5, มิลลิวินาที)
  • เมื่อตรวจพบดิสก์หุ่นยนต์ VR จะต้องหยุดขับเพื่อรับดิสก์ ลากหรือพิมพ์คำสั่ง หยุด นอกลูป ขณะที่ เพื่อให้ส่วนความคิดเห็นแรกของโปรเจ็กต์มีลักษณะดังนี้:

    	#1. ไดรฟ์ไปยังดิสก์แรก
        ในขณะที่ไม่ใช่ down_eye.near_object
            (): drivetrain.drive (FORWARD)
            wait (5, msec
        ) drivetrain.stop ()
  • สังเกตว่าคำสั่ง drive และ wait จะมีการเยื้องเข้าไปภายใต้ส่วนหัวของ loop while ซึ่งหมายความว่าคำสั่งต่างๆ อยู่ภายใน loop  เส้นสีเทายังสามารถช่วยระบุว่าคำสั่งใดที่อยู่เยื้องอย่างถูกต้องและอยู่ภายในลูป คำสั่ง หยุด อยู่ในแนวเดียวกับส่วนหัวของลูป ซึ่งหมายความว่าคำสั่ง หยุด จะอยู่ภายนอกลูป ตรวจสอบให้แน่ใจว่าคำสั่งถูกเยื้องอย่างถูกต้องหรือโครงการอาจไม่ทำงานตามที่คาดไว้ 
  • ตอนนี้ ให้สั่งให้ VR Robot หยิบดิสก์โดยใช้ Electromagnet โดยลากหรือพิมพ์คำสั่ง energize หลังจากความคิดเห็นที่สอง ดังนั้นส่วนที่สองของโปรเจกต์จะมีลักษณะดังนี้:

    	#2. หยิบแผ่นดิสก์แรก
        magnet.energize (BOOST)
  • เปิดหน้าต่างสนามเด็กเล่น หากยังไม่ได้เปิด ตรวจสอบให้แน่ใจว่า Disk Mover Playground เปิดขึ้นและดำเนินโครงการ
  • หุ่นยนต์ VR ขับเคลื่อนไปข้างหน้าจนกว่าดิสก์สีน้ำเงินตัวแรกจะถูกตรวจพบโดยเซ็นเซอร์ดวงตาลงหยุดการขับขี่และให้พลังงานแม่เหล็กไฟฟ้าเพื่อรับดิสก์

    มุมมองด้านข้างของหุ่นยนต์ VR บนสนามเด็กเล่นที่ตำแหน่งดิสก์สีฟ้าแรกโดยมีดิสก์ติดอยู่กับแม่เหล็กไฟฟ้า

โปรเจกต์โฟลว์เพื่อรับดิสก์ตัวแรก

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

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

เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป