पाठ 2: तुलना ब्लॉक का उपयोग करना और निकट तक ड्राइविंग करना
इस पाठ में, आप एक प्रोजेक्ट बनाएंगे जो <Less than> बूलियन रिपोर्टर ब्लॉक के साथ दूरी सेंसर का उपयोग करके VR रोबोट को अक्षर 'A' तक ले जाएगा। मिनी-चैलेंज में, आप दीवार भूलभुलैया की शुरुआत से लेकर संख्या '1' तक नेविगेट करने के लिए इन कौशलों को लागू करेंगे।

सीखने के परिणाम
- पहचानें कि <Greater than> ब्लॉक एक बूलियन ब्लॉक है जो रिपोर्ट करता है कि क्या पहला मान दूसरे मान से बड़ा है।
- पहचानें कि <Less than> ब्लॉक एक बूलियन ब्लॉक है जो रिपोर्ट करता है कि क्या पहला मान दूसरे मान से कम है।
- पहचानें कि <Greater than> या <Less than> ब्लॉक [Wait until] ब्लॉक में TRUE या FALSE मान रिपोर्ट करते हैं।
- वर्णन करें कि एक ऐसा प्रोजेक्ट कैसे बनाया जाए जिसमें VR रोबोट तब तक आगे बढ़ता रहे जब तक कि दूरी सेंसर का मान 50 मिलीमीटर (मिमी) के सीमा मान से कम न हो जाए।
प्रोजेक्ट को नाम दें और सहेजें
- VEXcode VR में एक नया प्रोजेक्ट शुरू करें और प्रोजेक्ट का नाम Unit5Lesson2रखें। याद रखें कि आप अपनी परियोजना के लिए VEXcode ब्लॉक, स्विच ब्लॉक या दोनों ब्लॉक प्रकारों के संयोजन का उपयोग कर सकते हैं।

दीवारों से बचने के लिए दूरी सेंसर का उपयोग करें
- [ड्राइव] ब्लॉक को कार्यक्षेत्र में खींचें.

- [ड्राइव] ब्लॉक के नीचे [प्रतीक्षा करें] ब्लॉक संलग्न करें।

यह परियोजना दीवारों से टकराए बिना दीवार भूलभुलैया खेल के मैदान के माध्यम से नेविगेट करने के लिए दूरी सेंसर का उपयोग करेगी। आप इस प्रोजेक्ट में <Less than> बूलियन ब्लॉक के अंदर (Distance from) ब्लॉक का उपयोग करेंगे।
<Less than>, <Greater than>, और <Equal to> तुलना ब्लॉक हैं - वे मानों की तुलना करते हैं। वे बूलियन रिपोर्टर ब्लॉक भी हैं जो तुलना शर्त पूरी होने पर सत्य मान की रिपोर्ट करते हैं, और शर्त (नहीं पूरी होने पर असत्य मान की रिपोर्ट करते हैं।
- <Less than> तब सत्य रिपोर्ट करता है जब पहला मान दूसरे मान से छोटा होता है और तब असत्य रिपोर्ट करता है जब पहला मान दूसरे मान से बड़ा या बराबर होता है।

- जब पहला मान दूसरे मान से बड़ा होता है तो <Greater than> सत्य रिपोर्ट करता है, और जब पहला मान दूसरे मान से छोटा या बराबर होता है तो असत्य रिपोर्ट करता है।

- जब दो मान बिल्कुल समान हों तो <Equal to> सत्य रिपोर्ट करता है, और जब वे समान नहीं हों तो असत्य रिपोर्ट करता है।

तुलना ब्लॉक दशमलव, पूर्णांक या संख्यात्मक ब्लॉक स्वीकार कर सकते हैं। वे गोल रिपोर्टर ब्लॉक भी स्वीकार करते हैं, जैसे (दूरी से) ब्लॉक। किसी प्रोजेक्ट में दूरी सेंसर का उपयोग करते समय (दूरी से) ब्लॉक तुलना ब्लॉक के साथ हो सकता है।
इस उदाहरण में, जब किसी वस्तु और VR रोबोट पर दूरी सेंसर से दूरी 50 मिलीमीटर (मिमी) से कम होगी, तो ब्लॉक TRUE रिपोर्ट करेगा।

- <Less than> बूलियन ब्लॉक को [Wait until] ब्लॉक में खींचें.
- बूलियन रिपोर्टर ब्लॉक के अंदर गोल (दूरी से) ब्लॉक रखें

- [प्रतीक्षा करें] ब्लॉक वीआर रोबोट को तब तक आगे बढ़ाता रहेगा जब तक कि शर्त पूरी न हो जाए, और रिपोर्ट की गई दूरी 50 मिलीमीटर (मिमी) से कम न हो। फिर, प्रोजेक्ट स्टैक में अगले ब्लॉक पर चला जाएगा, जो [ड्राइविंग रोकें] ब्लॉक होगा।

- [रुको] ब्लॉक के बाद [ड्राइविंग रोकें] ब्लॉक की आवश्यकता होती है क्योंकि वीआर रोबोट तब तक ड्राइव करना जारी रखेगा जब तक उसे रुकने का निर्देश न दिया जाए। प्रोजेक्ट में [ड्राइविंग रोकें] ब्लॉक जोड़ें.

- यदि वॉल मेज़ प्लेग्राउंड पहले से खुला नहीं है तो उसे लॉन्च करें और प्रोजेक्ट चलाएं।
- दीवार भूलभुलैया के शुरू से वीआर रोबोट को ड्राइव करते हुए देखें और जब दूरी सेंसर रिपोर्ट करे कि वह दीवार से 50 मिलीमीटर (मिमी) से कम दूरी पर है तो रुक जाएं।

- [प्रतीक्षा करें] ब्लॉक के अंदर (दूरी से) ब्लॉक के साथ <Less than> ब्लॉक का उपयोग करके, वीआर रोबोट को रुकने से पहले दीवार से 50 मिलीमीटर (मिमी) से कम दूरी तक प्रतीक्षा करने का निर्देश दिया जाता है।
- वीआर रोबोट को प्रारंभिक स्थिति में वापस लाने के लिए खेल के मैदान को रीसेट करें।
स्विच ब्लॉक का उपयोग करना
इस पाठ में, आपने <Greater than>, <Less than>और <Equal to> बूलियन ब्लॉकों के बारे में सीखा। नीचे दी गई छवि स्विच बूलियन तुलना ब्लॉकों को दर्शाती है। स्विच बूलियन ब्लॉक को अपेक्षित रूप से कार्य करने के लिए, स्विच पायथन फ़ंक्शन को सही वर्तनी और विराम चिह्न के साथ दर्ज किया जाना चाहिए।
ध्यान दें कि स्विच <Equal to> ब्लॉक दो बराबर चिह्नों (==)का उपयोग करता है। ऐसा इसलिए है क्योंकि पायथन में, एक बराबर चिह्न (=) एक मान के असाइनमेंट को दर्शाता है (उदाहरण के लिए, x = 10), जबकि दो बराबर चिह्न (==) यह जांचते हैं कि क्या दो मान समान हैं। स्विच <Equal to> ब्लॉक का उपयोग करते समय दो बराबर चिह्नों का उपयोग अवश्य करें। 
आपने एक उदाहरण परियोजना भी देखी जिसमें वीआर रोबोट तब तक आगे बढ़ता रहेगा जब तक कि बताई गई दूरी किसी वस्तु से 50 मिलीमीटर (मिमी) से कम न हो जाए। फिर, वी.आर. रोबोट रुक जाएगा। दाईं ओर का प्रोजेक्ट स्विच ब्लॉक के अंदर संबंधित पायथन कमांड दिखाता है। कमांड,while not front_distance.get_distance(MM) < 50रोबोट को यह जांचने के लिए कहता है कि बताई गई दूरी किसी वस्तु से 50 MM से कम है या नहीं।
कोड की अगली इंडेंटेड लाइन,wait (5, MSEC),कोड को 5 मिलीसेकंड के लिए रोक देती है। वह कमांड जो यह जांचता है कि रिपोर्ट की गई दूरी किसी वस्तु से 50 MM से कम है, स्थिति की पुनः जांच करने से पहले 5 MSEC तक प्रतीक्षा करेगा।

इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन का चयन करें।