Skip to main content

บทเรียนที่ 3: ขับรถจนถูกกดดัน

ตอนนี้คุณได้สร้างโครงการ VEXcode VR เพื่อนำทางหุ่นยนต์ VR ไปยังตัวอักษร ‘A’ บน Wall Maze Playgroundคุณจะขยายทักษะของคุณโดยใช้เงื่อนไขและค่าเซ็นเซอร์ ในบทเรียนนี้คุณจะนำทางหุ่นยนต์ VR ไปยังหมายเลข ‘2‘ ใน Wall Maze Playground จากนั้นสำรวจว่าเหตุใดจึงต้องมีบล็อกเพิ่มเติมเพื่อขับไปยังตัวอักษร ‘B’ ในการประลองมินิคุณจะใช้ทักษะเหล่านี้เพื่อนำทางจากจุดเริ่มต้นของเขาวงกตกำแพงไปยังหมายเลข ‘3’

Wall Maze Playground ที่มีหุ่นยนต์ VR อยู่ในตำแหน่งเริ่มต้นตามผนังด้านหลัง หมายเลขสองมีกล่องโทรออกสีแดงอยู่รอบๆ

ผลการเรียนรู้

  • ระบุว่าเงื่อนไขรายงานค่าที่เป็นจริงหรือเท็จเสมอ
  • อธิบายขั้นตอนของโปรแกรมในโครงการที่มี VR Robot ขับไปข้างหน้าจนกว่าจะมีการกด Bumper Sensor
  • อธิบายเหตุผลที่ใช้เงื่อนไขในโครงการ
  • ระบุวิธีการใช้คุณลักษณะขั้นตอนเพื่อเน้นการดำเนินการของโปรแกรม
  • อธิบายว่าเหตุใดการใช้ฟีเจอร์ขั้นตอนจึงมีประโยชน์ในการแก้ไขปัญหาและติดตามลำดับงานของโครงการ

เปลี่ยนชื่อโปรเจกต์

  • หากยังไม่ได้โหลดโครงการของบทเรียนก่อนหน้าให้โหล โครงการ Unit4Lesson2
  • เปลี่ยนชื่อ โครงการUnit4Lesson3
สภาพแวดล้อมการเข้ารหัส VEXcode VR พร้อมกล่องสีแดงที่ด้านบนตรงกลางเพื่อเรียกกล่องชื่อโปรเจกต์ ช่องชื่อโครงการอ่านหน่วยที่ 4 บทเรียนที่ 3

การไหลของโครงการเพื่อไปยังตัวอักษร ‘A’

ในบทเรียนก่อนหน้านี้หุ่นยนต์ VR ขับไปที่ตัวอักษร ‘A’ บน Wall Maze Playground 

Wall Maze Playground ที่มีหุ่นยนต์ VR อยู่ในตำแหน่งเริ่มต้นตามผนังด้านหลังและตัวอักษร A ที่เรียกออกมาพร้อมกับกล่องสีแดง
  • เพื่อให้เข้าใจถึงขั้นตอนของโครงการในการขับรถไปยังตัวอักษร ‘A’ บน Wall Maze Playground ได้ดียิ่งขึ้นให้เริ่มต้นด้วยการปรับเปลี่ยนโครงการก่อนหน้าของคุณหรือสร้างโครงการใหม่เพื่อให้ตรงกับโครงการพื้นฐานนี้

    โครงการ VEXcode VR จากบทเรียนก่อนหน้านี้ที่แก้ไขด้วยบล็อกเพิ่มเติม โปรเจกต์เริ่มต้นด้วยบล็อค When started บล็อกที่เหลือจากบนลงล่างคือขับไปข้างหน้ารอจนกระทั่งกันชนซ้ายกดแล้วเลี้ยวซ้าย 90 องศาขับไปข้างหน้ารอจนกระทั่งกันชนซ้ายกดแล้วเลี้ยวซ้าย 90 องศาขับไปข้างหน้ารอจนกระทั่งกันชนซ้ายกดแล้วหยุดขับ

เมื่อโครงการใช้บล็อก [รอจนกว่า] โฟลว์โปรแกรมของโครงการจะยังคงเป็นไปตามลำดับจากบนลงล่างเหมือนเดิม บล็อก [รอจนกว่า] ช่วยให้ขั้นตอนของโปรแกรม "หยุดชั่วคราว" ที่จุดใดจุดหนึ่งจนกว่าจะเป็นไปตามเงื่อนไขภายใน [รอจนกว่า] (รายงานเป็นจริง)

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

ในรหัสนี้สำหรับการขับเคลื่อนหุ่นยนต์ VR ไปยังตัวอักษร ‘A' หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าจนกว่าสภาพของกันชนซ้ายจะถูกกดเป็นจริง เงื่อนไขเช่นกันชนซ้ายที่ถูกกดในตัวอย่างนี้จะรายงานค่าที่เป็นจริงหรือเท็จเสมอ

โปรเจกต์ VEXcode VR จากบทเรียนนี้แยกออกจากกันเพื่อแสดงขั้นตอนของโปรเจกต์ บล็อกเมื่อเริ่มต้นจะตามด้วยบล็อกไดรฟ์ไปข้างหน้า ลูกศรสีทองชี้ลงจากไดรฟ์ไปข้างหน้าบล็อกที่รอจนกว่ากันชนซ้ายกดบล็อก ทางด้านขวาของบล็อกมีลูกศรสีแดงโค้ง 2 ลูกแสดงการเคลื่อนไหวเป็นวงกลมและคำที่ "ไม่ได้กด (เท็จ)" แสดงสิ่งที่เกิดขึ้นเมื่อหุ่นยนต์ขับเคลื่อนไปข้างหน้าและไม่ได้กดสวิตช์กันชน ภายใต้การรอจนกว่าบล็อกลูกศรสีเขียวชี้ลงที่บล็อกเลี้ยวซ้ายเป็นเวลา 90 องศาโดยมีคำที่ "กด (จริง)" แสดงว่าโครงการจะย้ายไปยังบล็อกนั้นเมื่อกดกันชน ถัดไปลูกศรสีทองชี้ลงที่ไดรฟ์สำหรับบล็อกและลำดับเดียวกันซ้ำ จากนั้นลูกศรสีทองจะชี้ไปที่ Wait จนกระทั่งกันชนซ้ายกดบล็อกด้วยลูกศรเดียวกันระบุว่าเมื่อไม่ได้กดกันชนหุ่นยนต์จะขับรถต่อไปและเมื่อกดแล้วมันจะเคลื่อนที่ไปยังบล็อกสุดท้ายในโครงการบล็อกหยุดการขับรถ

สำหรับข้อมูลของคุณ

คุณลักษณะ Project Stepping ช่วยให้คุณเห็นภาพการไหลของคำสั่งในขณะที่กำลังดำเนินการภายในโครงการ สิ่งนี้สามารถให้สัญญาณภาพที่สำคัญแก่คุณเมื่อคุณพยายามแก้ไขปัญหาหรือออกแบบโครงการ VEXcode VR

สภาพแวดล้อมการเข้ารหัส VEXcode VR พร้อมกล่องสีแดงที่เรียกไอคอนขั้นตอนและข้อความที่ด้านบนขวาของแถบเครื่องมือ

ขับไปที่หมายเลข '2'

ในบทเรียนนี้โครงการจะได้รับการแก้ไขเพื่อให้ VR Robot ขับไปยังหมายเลข ‘2’ บน Wall Maze Playground!

Wall Maze Playground ที่มีหุ่นยนต์อยู่ที่ตำแหน่งเริ่มต้นและมีกล่องสีแดงเรียกหมายเลข 2
  • โครงการจากบทเรียนที่ 2 มีหุ่นยนต์ VR เลี้ยวซ้ายเพื่อขับไปยังตัวอักษร ‘A’ เพื่อไปยังหมายเลข ‘2‘ หุ่นยนต์ VR จะต้องเลี้ยวขวาแทนขับไปข้างหน้าแล้วเลี้ยวซ้าย

    Wall Maze Playground ที่มีหุ่นยนต์ VR หันหน้าไปทางผนังโดยมีตัวอักษร a อยู่ทางซ้าย ลูกศรสีแดงชี้จากหุ่นยนต์ไปทางตัวอักษร A ลูกศรสีเขียวสามลูกทำเครื่องหมายเส้นทางจากหุ่นยนต์ไปยังหมายเลข 2 จุดแรกอยู่ห่างจากหุ่นยนต์ไปทางขวา จุดต่อไปไปทางซ้ายจากนั้นลูกศรสุดท้ายจะชี้ไปที่จุดสิ้นสุดทางซ้ายที่หมายเลข 2
  • เปลี่ยนทิศทางของบล็อก [Turn for] อันที่สองไปทางขวาแทนทางซ้าย

    ภาพสองภาพของโครงการ VEXcode VR จากบทเรียนนี้แสดงการเปลี่ยน Turn for block ที่สองจากซ้ายไปขวา ทั้งสองโครงการมีกล่องสัญลักษณ์สีแดงรอบๆ Turn for block ที่สอง โปรเจกต์ทางด้านซ้ายมีพารามิเตอร์ในบล็อกตั้งค่าไปทางซ้ายและโปรเจกต์ทางด้านขวามีพารามิเตอร์ตั้งค่าไปทางขวา
  • เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
  • ดูหุ่นยนต์ VR เริ่มขับไปที่หมายเลข ‘2’ แต่หยุดที่กำแพง ดังนั้นหุ่นยนต์ VR จะต้องเลี้ยวซ้ายเมื่อมันกดกับผนังแทนที่จะหยุด

    ภาพของสนามเด็กเล่น Wall Maze และหุ่นยนต์ VR หยุดหันหน้าเข้าหากำแพง
  • เลือกปุ่ม "รีเซ็ต" เพื่อรีเซ็ตสนามเด็กเล่นและย้ายหุ่นยนต์ VR กลับไปที่ตำแหน่งเริ่มต้น

    Wall Maze Playground มีสองปุ่มและตัวจับเวลาทางด้านซ้าย ปุ่มด้านล่างมีไอคอนที่มีลูกศรชี้เป็นวงกลมที่ไม่สมบูรณ์ซึ่งระบุการรีเซ็ตและเรียกด้วยกล่องสีแดง
  • แก้ไขรหัสโดยลบบล็อก [หยุดขับ] และแทนที่ด้วยคำสั่งต่อไปนี้เพื่อขับหุ่นยนต์ VR ไปยังหมายเลข ‘2’

    ภาพด้านข้างของโครงการ VEXcode จากบทเรียนนี้ โปรเจกต์ด้านซ้ายมี Stop driving block ที่ด้านล่างและโปรเจกต์ด้านขวามี Stop driving block ถูกลบออก มันถูกแทนที่ด้วยบล็อกเจ็ดบล็อกจากบนลงล่าง: เลี้ยวซ้ายเป็น 90 องศา, ขับไปข้างหน้า, รอจนกว่ากันชนซ้ายจะถูกกด, เลี้ยวซ้ายเป็น 90 องศา, ขับไปข้างหน้า, รอจนกว่ากันชนซ้ายจะถูกกด, หยุดขับรถ
  • เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
  • ดู VR Robot ขับไปที่หมายเลข ‘2’ บน Wall Maze Playground!

    Wall Maze Playground ที่มีหุ่นยนต์ VR อยู่ในตำแหน่งที่หมายเลข 2
  • เลือกปุ่ม "รีเซ็ต" เพื่อรีเซ็ตสนามเด็กเล่นและย้ายหุ่นยนต์ VR กลับไปที่ตำแหน่งเริ่มต้น

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