บทเรียนที่ 2: ขับรถไปยังดิสก์สีเขียวและสีน้ำเงิน
ไดรฟ์ไปยังดิสก์สีเขียวแล้วสีน้ำเงิน
- โครงการก่อนหน้านี้มีหุ่นยนต์ VR เลี้ยวขวาเมื่อเซ็นเซอร์ดวงตาด้านหน้าตรวจพบดิสก์สีเขียว ตอนนี้สร้างโปรเจกต์ที่หุ่นยนต์ VR ขับไปยังดิสก์สี่ตัวบน Disk MazePlayground
-
เป้าหมายคือการสร้างรูปแบบที่สอดคล้องกันที่หุ่นยนต์ VR หันไปทางขวาเมื่อเซ็นเซอร์ตาหน้าตรวจพบดิสก์สีเขียวและซ้ายเมื่อเซ็นเซอร์ตาหน้าตรวจพบดิสก์สีน้ำเงิน
-
เพิ่มบล็อกต่อไปนี้ไปยังโครงการที่มีอยู่เพื่อสั่งให้หุ่นยนต์ VR ขับไปข้างหน้าหลังจากเลี้ยวขวา
-
เพิ่มอีก [รอจนกว่า] ด้วยชุด <Color sensing> บล็อกเพื่อตรวจจับ ‘สีน้ำเงิน’ เนื่องจากดิสก์ถัดไปที่หุ่นยนต์ VR จะพบเป็นสีน้ำเงิน
-
เพิ่มบล็อค [Turn for] และตั้งค่าพารามิเตอร์เป็น 'left'
-
เรียกใช้โครงการเพื่อดูว่าหุ่นยนต์ VR เคลื่อนที่ผ่าน Disk Maze Playgroundอย่างไร
- สังเกตว่าหุ่นยนต์ VR จะเลี้ยวขวาเมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบดิสก์สีเขียวและเลี้ยวซ้ายเมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบดิสก์สีน้ำเงิน
-
สร้างโครงการนี้ต่อไปเพื่อขับเคลื่อนหุ่นยนต์ VR ไปยังดิสก์อีกสองตัวบน Disk Maze Playground โดยใช้เซ็นเซอร์ดวงตาด้านหน้า เพิ่มบล็อกต่อไปนี้เพื่อนำทางหุ่นยนต์ VR ไปยังดิสก์สองตัวถัดไปแล้วหยุด:
-
สังเกตว่ามีรูปแบบนะคะ มีชุดของบล็อกที่ทำซ้ำสามครั้งในโครงการ โค้ดส่วนนี้สามารถควบแน่นได้โดยใช้บล็อค [ทำซ้ำ]
- เปิด Disk Maze Playground หากยังไม่ได้เปิดและเรียกใช้โครงการ
-
ดู VR Robot นำทางไปยังดิสก์สี่ตัวบน Disk MazePlayground
- ในโครงการนี้หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าจนกว่าเซนเซอร์ตรวจจับดวงตาด้านหน้าจะตรวจพบสีเขียว
- หุ่นยนต์ VR หมุนไปทางขวา 90 องศาและขับไปข้างหน้าอีกครั้งจนกว่าจะตรวจพบสีน้ำเงิน
- จากนั้นหุ่นยนต์ VR จะเลี้ยวซ้ายและขับไปข้างหน้าจนกว่าเซนเซอร์ตรวจจับดวงตาด้านหน้าจะตรวจพบสีน้ำเงิน เมื่อตรวจพบสีน้ำเงินหุ่นยนต์ VR จะเลี้ยวซ้ายอีกครั้ง
- สุดท้ายหุ่นยนต์ VR จะขับไปข้างหน้าจนกว่าเซนเซอร์ตรวจจับดวงตาด้านหน้าจะตรวจพบสีน้ำเงินจากนั้นจะหยุด
- สังเกตรูปแบบที่เมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบสีเขียวหุ่นยนต์ VR จะเลี้ยวขวา เมื่อเซ็นเซอร์ตรวจจับดวงตาด้านหน้าตรวจพบสีน้ำเงินหุ่นยนต์ VR จะเลี้ยวซ้ายในโครงการนี้
การใช้สวิทช์บล็อก
จนถึงตอนนี้คุณได้สร้างโปรเจกต์เพื่อขับไปยังดิสก์สีเขียวและจากนั้นสามดิสก์สีน้ำเงิน
ภาพด้านล่างแสดงโครงการทั้งหมดโดยใช้บล็อก VEXcode โดยมีพฤติกรรมซ้ำๆที่ใช้ในการขับรถไปยังดิสก์สีน้ำเงินสามตัวที่มีกล่องสีแดง
โครงการด้านล่างแสดงบล็อก VEXcode เดียวกันเหล่านี้ที่แปลงเป็นสวิตช์หลายบล็อก
โปรเจกต์สุดท้ายนี้แสดงคำสั่ง Switch block เดียวกันที่แปลงเป็นคำสั่ง Python ภายใน Switch block เดียว
สำหรับ REPEAT_COUNT ในช่วง (3): เป็นคำสั่ง Python ที่บอกหุ่นยนต์ว่าบรรทัดถัดไปของโค้ดที่เยื้องควรจะทำซ้ำสามครั้ง โปรดทราบว่าคุณควรใส่เครื่องหมายโคลอน (:) หลัง for loop
บรรทัดต่อไปของรหัสคือพฤติกรรมที่จะทำซ้ำ โปรดทราบว่าพฤติกรรมเหล่านี้อยู่ เยื้องกับค่าเริ่มต้นของที่พัก 4 แห่ง
นอกจากนี้ โปรดทราบว่าเงื่อนไขมีคำสั่ง wait (5, MSEC) ใน VEXcode VR คำสั่ง wait จะถูกเพิ่มพร้อมกับลูป for เสมอ วัตถุประสงค์ของคำสั่ง wait คือเพื่อให้แน่ใจว่า VEXcode VR สามารถรันโครงการได้อย่างถูกต้องตามที่ต้องการ เนื่องจากลักษณะบนเว็บของแพลตฟอร์ม VEXcode VR ไม่ควรลบคำสั่ง wait เมื่อใช้ลูป for ไม่เช่นนั้น โปรเจ็กต์ของคุณอาจไม่ทำงานตามที่ตั้งใจไว้
บรรทัด wait (5, MSEC) ย่อหน้าไว้ใต้คำสั่ง while not front_eye.detect(BLUE) เนื่องจาก Front Eye Sensor จะตรวจสอบสีน้ำเงิน โดยหยุดชั่วคราว 5 MSEC ระหว่างการตรวจสอบแต่ละครั้ง
เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป