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

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

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

- [ड्राइव] ब्लॉक के नीचे एक [वेट अंटिल] ब्लॉक संलग्न करें।

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

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

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

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

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

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

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

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

- [Wait until] ब्लॉक के अंदर (Distance from) ब्लॉक के साथ <Less than> ब्लॉक का उपयोग करके, VR रोबोट को निर्देश दिया जाता है कि वह रुकने से पहले दीवार से 50 मिलीमीटर (mm) से कम दूरी पर हो।
- वीआर रोबोट को शुरुआती स्थिति में वापस लाने के लिए प्लेग्राउंड को रीसेट करें।
स्विच ब्लॉक का उपयोग करना
इस पाठ में, आपने <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 मिमी से कम है या नहीं, स्थिति की दोबारा जांच करने से पहले 5 मिलीसेकंड तक प्रतीक्षा करेगी।

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