บทที่ 2: การใช้หลายขณะวนซ้ำ
เดินต่อผ่านเขาวงกตกำแพง
ตอนนี้เราได้ใช้ลูป ขณะที่ กับเซ็นเซอร์กันชนเพื่อทำให้หุ่นยนต์ VR หยุดขับรถเมื่อถึงกำแพง อย่างไรก็ตามในการดำเนินการต่อผ่าน Wall Maze หุ่นยนต์ VR จะต้อง หมุน เมื่อถึงกำแพงเพื่อให้สามารถเปลี่ยนทิศทางและดำเนินการต่อได้
-
ในการเริ่มต้น ให้ลบคำสั่ง stop ออกจากลูป while , และแทนที่ด้วยคำสั่ง turn_for ตั้งค่าพารามิเตอร์ให้หุ่นยนต์ VR เลี้ยวซ้ายเป็นเวลา 90 องศาตอนนี้โปรเจกต์ของ คุณควรมีลักษณะดังนี้:
def main (): while not left_bumper.pressed (): drivetrain.drive ( FORWARD) wait (5, msec) drivetrain.turn_for (LEFT, 90, DEGREES) - เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
-
ดูการขับเคลื่อน VR Robot จากจุดเริ่มต้นของ Wall Maze หยุดเมื่อมีการกด Bumper Sensor ที่ผนังและเลี้ยวซ้าย 90 องศา

หลายลูปและปัญหากำแพงเขาวงกต
ตอนนี้หุ่นยนต์ VR ได้มาถึงกำแพงแล้วและหมุนเพื่อให้มันสามารถขับผ่านเขาวงกตต่อไปได้ ข้อมูลเซ็นเซอร์กันชนถูกใช้ในลักษณะเดียวกับวงจร ขณะ สำหรับขั้นตอนแรกในเขาวงกต โครงสร้างเดียวกันสามารถใช้ได้หลายครั้งในโปรเจ็กต์เดียวกันเพื่อให้หุ่นยนต์ VR สามารถเคลื่อนที่ผ่านเขาวงกตต่อไปได้ วงจร ขณะ หลายวงจรสามารถใช้ได้ในโปรเจ็กต์เดียวกัน
-
เริ่มจากตำแหน่งปัจจุบันของหุ่นยนต์ VR ขั้นตอนต่อไปในการแก้ Wall Maze คือการขับไปข้างหน้าไปยังกำแพงถัดไปและเลี้ยวขวา 90 องศา คำสั่งที่มีอยู่สามารถคัดลอกและวางด้านล่างคำสั่งก่อนหน้า ในขณะที่ วน ซ้ำและ คำสั่ง TURN_FOR โปรดจำไว้ว่าต้องคำนึงถึงการเยื้อง และเปลี่ยนพารามิเตอร์คำสั่งใหม่ turn_for เป็นเลี้ยวขวา 90 องศา ตอนนี้โปรเจกต์ของคุณควรมีลักษณะดังนี้:
def main (): while not left_bumper.pressed (): drivetrain.drive (FORWARD ) wait ( 5, msec) drivetrain.turn_for ( left, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive ( forward) wait (5, msec) drivetrain.turn_for (RIGHT, 90, DEGREES) - รีเซ็ต Wall Maze Playground และรันโครงการอีกครั้ง
-
ดูหุ่นยนต์ VR ขับรถจากจุดเริ่มต้นของ Wall Maze หยุดเมื่อเซ็นเซอร์กันชนถูกกดโดยผนังเลี้ยวซ้าย 90 องศาขับไปข้างหน้าจนกว่าเซ็นเซอร์กันชนจะถูกกดอีกครั้งโดยผนังจากนั้นเลี้ยวขวา 90 องศาและหยุด

มินิชาเลนจ์
สำหรับความท้าทายเล็กๆ น้อยๆ นี้ ให้สร้างโปรเจ็กต์โดยให้หุ่นยนต์ VR ขับจากจุดเริ่มต้นไปยังตัวอักษร 'A' บนเขาวงกตบนผนัง สนามเด็กเล่น โดยใช้ลูป หลายอันในขณะที่ และเซ็นเซอร์กันชน!

ทำตามขั้นตอนต่อไปนี้เพื่อทำมินิชาเลนจ์:
-
ดูวิดีโอโซลูชันด้านล่างเพื่อดูว่าหุ่นยนต์ VR ควรขับรถอย่างไรเพื่อทำมินิชาเลนจ์ ในคลิปวิดีโอนี้หุ่นยนต์ VR จะเริ่มต้นที่จุดเริ่มต้นที่กึ่งกลางด้านล่างของสนามเด็กเล่น มันขับไปข้างหน้าจนกว่าจะมีการกดเซ็นเซอร์กันชนโดยผนังด้านตรงข้ามจากนั้นเลี้ยวซ้ายและขับไปยังผนังถัดไปที่อยู่ด้านหน้า เมื่อกดกันชนที่ผนังนั้นหุ่นยนต์จะเลี้ยวซ้ายอีกครั้งและขับไปข้างหน้าจนกว่าจะถึงผนังสุดท้ายและตัวอักษร A
- สร้างโครงการโดยเพิ่มหรือลบคำสั่งที่จำเป็น ใน โครงการ Unit4Lesson2
- เริ่มโครงการเพื่อทดสอบ
- หากโปรเจกต์ไม่สำเร็จให้แก้ไขแล้วลองอีกครั้ง ดำเนินการแก้ไขและเรียกใช้โครงการต่อไปจนกว่าหุ่นยนต์ VR จะขับเคลื่อนจากจุดเริ่มต้นไปยังตัวอักษร ‘A‘ ได้สำเร็จ
- บันทึกโครงการเมื่อ VR Robot ประสบความสำเร็จในการขับเคลื่อนจากจุดเริ่มต้นไปยังตัวอักษร ‘A’
ขอแสดงความยินดี! คุณเอาชนะมินิชาเลนจ์!