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

ผลการเรียนรู้
- ระบุว่า <Greater than> บล็อกเป็นบล็อกบูลีนที่รายงานว่าค่าแรกมากกว่าค่าที่สองหรือไม่
- ระบุว่า <Less than> บล็อกเป็นบล็อกบูลีนที่รายงานว่าค่าแรกน้อยกว่าค่าที่สองหรือไม่
- ระบุว่า <Greater than> หรือ <Less than> บล็อกรายงานค่าที่เป็นจริงหรือเท็จในบล็อก [รอจนกว่า]
- อธิบายวิธีสร้างโครงการที่มี VR Robot ขับเคลื่อนไปข้างหน้าจนกว่าค่าของเซ็นเซอร์ระยะทางจะน้อยกว่าค่าเกณฑ์ 50 มิลลิเมตร (มม.)
ตั้งชื่อและบันทึกโครงการ
- เริ่มโครงการใหม่ใน VEXcode VR และตั้งชื่อ โครงการUnit5Lesson2 โปรดทราบว่าคุณอาจใช้บล็อก VEXcode สลับบล็อกหรือบล็อกทั้งสองประเภทรวมกันสำหรับโปรเจกต์ของคุณ

ใช้เซ็นเซอร์ระยะทางเพื่อหลีกเลี่ยงกำแพง
- ลากบล็อค [Drive] ไปยังพื้นที่ทำงาน

- ติดบล็อค [รอจนกว่า] ใต้บล็อค [ไดรฟ์]

โครงการนี้จะใช้เซ็นเซอร์ระยะทางเพื่อนำทางผ่าน Wall Maze Playground โดยไม่ชนกับผนัง คุณจะใช้บล็อก (ระยะห่างจาก) ภายในบล็อก <Less than> บูลีนในโครงการนี้
บล็อก <Less than>การเปรียบเทียบ <Greater than>, และ <Equal to> เป็นบล็อกการเปรียบเทียบค่า พวกเขายังเป็นบล็อกนักข่าวบูลีนที่รายงานค่าที่แท้จริงเมื่อตรงตามเงื่อนไขการเปรียบเทียบและเป็นเท็จเมื่อ ไม่ ตรงตามเงื่อนไข
- <Less than> รายงาน TRUE เมื่อค่าที่หนึ่งน้อยกว่าค่าที่สองและ FALSE เมื่อค่าที่หนึ่งมากกว่าหรือเท่ากับค่าที่สอง

- <Greater than> รายงาน TRUE เมื่อค่าที่หนึ่งมากกว่าค่าที่สองและ FALSE เมื่อค่าที่หนึ่งน้อยกว่าหรือเท่ากับค่าที่สอง

- <Equal to> รายงานเป็นจริงเมื่อค่าทั้งสองเหมือนกันทุกประการและเป็นเท็จเมื่อไม่เหมือนกัน

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

- ลากบล็อก <Less than> บูลีนไปยังบล็อก [รอจนกว่า]
- วางบล็อกกลม (ระยะห่างจาก) ภายในบล็อกบูลีนรีพอร์เตอร์

- บล็อก [รอจนกว่า] จะทำให้หุ่นยนต์ VR เคลื่อนที่ไปข้างหน้าจนกว่าจะตรงตามเงื่อนไขและระยะทางที่รายงานน้อยกว่า 50 มิลลิเมตร (มม.) จากนั้นโครงการจะย้ายไปยังบล็อกถัดไปในสแต็กซึ่งจะเป็นบล็อก [หยุดขับรถ]

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

- เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
- ดู VR Robot ขับรถจากจุดเริ่มต้นของ Wall Maze และหยุดเมื่อเซ็นเซอร์ระยะทางรายงานว่าน้อยกว่า 50 มิลลิเมตร (มม.) จากผนัง

- ใช้ <Less than> บล็อกที่มีบล็อก (ระยะห่างจาก) ด้านในของบล็อก [รอจนกว่า] สั่งให้หุ่นยนต์ VR รอจนกว่าจะน้อยกว่า 50 มิลลิเมตร (มม.) จากผนังก่อนที่จะหยุด
- รีเซ็ตสนามเด็กเล่นเพื่อย้ายหุ่นยนต์ VR กลับไปที่ตำแหน่งเริ่มต้น
การใช้สวิทช์บล็อก
ในบทเรียนนี้ท่านได้เรียนรู้เกี่ยวกับบล็อก <Greater than> <Less than>,, และ <Equal to> บูลีน ภาพด้านล่างแสดงบล็อกเปรียบเทียบ Switch Boolean เพื่อให้ บล็อก Switch Boolean ทำงานได้ตามที่ตั้งใจไว้ฟังก์ชัน Switch Python จะต้องป้อนด้วยการสะกดและเครื่องหมายวรรคตอนที่ถูกต้อง
โปรดทราบว่า <Equal to> บล็อกสวิตช์ใช้เครื่องหมาย เท่ากับสองตัว (==) เนื่องจากใน Python เครื่องหมายเท่ากับหนึ่งตัว (=) แสดงถึงการกำหนดค่า (ตัวอย่างเช่น x = 10) ในขณะที่เครื่องหมายเท่ากับสองตัว (==) ตรวจสอบว่าค่าสองค่าเท่ากันหรือไม่ ตรวจสอบให้แน่ใจว่าใช้เครื่องหมายเท่ากันสองตัวเมื่อใช้ <Equal to> บล็อกสวิตช์ 
นอกจากนี้คุณยังเห็นโครงการตัวอย่างที่หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าจนกว่าระยะทางที่รายงานจะน้อยกว่า 50 มิลลิเมตร (มม.) จากวัตถุ จากนั้นหุ่นยนต์ VR จะหยุดทำงาน โปรเจกต์ทางด้านขวาแสดงคำสั่ง Python ที่เกี่ยวข้องภายในบล็อกสวิตช์ คำสั่ง ในขณะที่ไม่ใช่ front_distance.get_distance (MM) < 50 บอกให้หุ่นยนต์ตรวจสอบว่าระยะทางที่รายงานน้อยกว่า 50 MM จากวัตถุหรือไม่
บรรทัดถัดไปของรหัสที่เยื้อง รอ (5, มิลลิวินาที) หยุดรหัสชั่วคราวเป็นเวลา 5 มิลลิวินาที คำสั่งที่ตรวจสอบว่าระยะทางที่รายงานน้อยกว่า 50 MM จากวัตถุจะรอ 5 มิลลิวินาทีก่อนที่จะตรวจสอบเงื่อนไขอีกครั้ง

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