मुख्य सामग्री पर जाएं

पाठ 2: नंबर '5' तक ड्राइव करें

इस पाठ में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक जाएगा और वापस नंबर '1' पर आएगा!

नंबर ग्रिड मैप प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें नंबर 5 को लाल बॉक्स से हाइलाइट किया गया है। वीआर रोबोट नंबर 1 से शुरू होता है, और नंबर 5 वाला वर्ग दाईं ओर चार स्थान दूर है।

ध्यान दें कि वीआर रोबोट एक्स अक्ष के साथ यात्रा करेगा और एक्स मान बढ़ते हुए नंबर ग्रिड मैप प्लेग्राउंड पर '5' नंबर तक पहुंचेंगे।

नंबर ग्रिड मैप प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें नंबर 5 की जगह को एक काले बॉक्स से हाइलाइट किया गया है। एक रेखा X अक्ष पर मापों को दर्शाती है, जिसमें पहला स्थान X अक्ष पर -900 मिलीमीटर है, और अगला स्थान -700 है, जो हर बार 200 की वृद्धि के साथ जारी रहता है। पांचवां स्थान X से -100 मिलीमीटर की दूरी पर स्थित है।

वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर '5' नंबर के स्थान पर जाएगा। हालांकि, वीआर रोबोट द्वारा उस संख्या तक पहुंचने से पहले, उसे यह बताना होगा कि वह संख्या कहां स्थित है। खेल के मैदान के केंद्र से शुरू करते हुए, संख्या '5' के निर्देशांक (-100, -900) हैं।

नंबर ग्रिड मैप प्लेग्राउंड का ऊपर से नीचे का दृश्य, जिसमें दो अक्ष संकेतक पांचवें स्थान की स्थिति को चिह्नित करते हैं। वीआर रोबोट -900 X और -900 Y से शुरू होता है, जबकि पांचवां स्थान -100 X और -900 Y पर है।
  • सबसे पहले, वीआर रोबोट का मुख '5' की ओर होना चाहिए। [Turn for] ब्लॉक को वर्कस्पेस में खींचकर लाएँ।

    VEXcode VR ब्लॉक प्रोजेक्ट जो When Started ब्लॉक से शुरू होता है और उसके बाद Turn For ब्लॉक का उपयोग करके 90 डिग्री दाएं मुड़ता है।
  • [ड्राइव] नॉन-वेटिंग ब्लॉक को वर्कस्पेस में ड्रैग करें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब टर्न फॉर ब्लॉक के बाद ड्राइव फॉरवर्ड ब्लॉक जोड़ा गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें।
  • [ड्राइव] ब्लॉक के नीचे एक [वेट अंटिल] ब्लॉक संलग्न करें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब ड्राइव फॉरवर्ड ब्लॉक के बाद वेट अंटिल ब्लॉक जोड़ा गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें। अंत में, अब एक वेट अंटिल ब्लॉक है जिसमें एक खाली बूलियन पैरामीटर है।
  • [Wait until] ब्लॉक बूलियन शर्तों को स्वीकार करता है। डिस्टेंस सेंसर यूनिट की तरह ही, यह प्रोजेक्ट नंबर ग्रिड मैप प्लेग्राउंड के माध्यम से ड्राइव करने के लिए कंडीशनल का उपयोग करेगा। <Greater than> बूलियन रिपोर्टर ब्लॉक को [Wait until] ब्लॉक में खींचें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब वेट अंटिल ब्लॉक में ग्रेटर दैन ब्लॉक डाला गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें। अंत में, अब एक वेट अंटिल ब्लॉक है जिसमें एक ग्रेटर दैन ब्लॉक है जो 'blank is Greater Than 50' पढ़ता है।
  • ध्यान दें कि <Less than> ब्लॉक के बजाय <Greater than> ब्लॉक का उपयोग किया जाता है क्योंकि वीआर रोबोट खेल के मैदान के बाईं ओर से दाईं ओर जा रहा है। वीआर रोबोट -900 मिलीमीटर (मिमी) के एक्स-मान से शुरू होता है। जैसे-जैसे वीआर रोबोट आगे बढ़ता है, एक्स-मान बढ़ता जाता है।

    नंबर ग्रिड मैप प्लेग्राउंड का वही ऊपर से नीचे का दृश्य, जिसमें दो अक्ष संकेतक पांचवें स्थान की स्थिति को चिह्नित कर रहे हैं, जैसा कि पहले दिखाया गया था। वीआर रोबोट -900 X और -900 Y से शुरू होता है, जबकि पांचवां स्थान -100 X और -900 Y पर है।
  • (रोबोट की स्थिति) ब्लॉक को <Greater than> ब्लॉक में खींचें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब ग्रेटर दैन ब्लॉक के अंदर रोबोट की स्थिति का ब्लॉक डाला गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें। अंत में, रोबोट की X स्थिति (मिलीमीटर में) 50 से अधिक होने तक प्रतीक्षा करें।

    आपकी जानकारी के लिए

    (रोबोट की स्थिति) ब्लॉक एक संख्यात्मक रिपोर्टर ब्लॉक है जो वीआर रोबोट के केंद्र की एक्स या वाई समन्वय स्थिति की रिपोर्ट करता है। यह चुनें कि X या Y निर्देशांक की स्थिति बताई जानी है या नहीं।

    एक्सिस ड्रॉपडाउन मेनू के साथ रोबोट की स्थिति ब्लॉक खुला हुआ है, जिससे माप की अक्ष X से Y में बदल जाती है।

    स्विच ब्लॉक का उपयोग करना 

    यह स्विच (रोबोट की स्थिति) ब्लॉक है। (रोबोट की स्थिति) ब्लॉक के पैरामीटर को Y निर्देशांक रिपोर्ट करने के लिए बदलने के लिए, निर्देशांक मान के लिए बस "Y" टाइप करें या दिखाई देने वाले निर्देशांक सुझाव का चयन करें। 

    ऑटो-कंप्लीट फीचर को प्रदर्शित करने के लिए रोबोट की स्थिति बदलने वाला एक स्विच ब्लॉक। ब्लॉक में 'location.position(X, MM)' लिखा है, और उपयोगकर्ता ऑटो-कंप्लीट का उपयोग करके X पैरामीटर को Y में बदल रहा है।

    (रोबोट की स्थिति) ब्लॉक मिलीमीटर (मिमी) या इंच में मान रिपोर्ट कर सकता है।

    रोबोट की स्थिति वाला ब्लॉक, माप इकाई ड्रॉपडाउन मेनू के साथ खुला हुआ था, जिसमें माप की इकाई को मिलीमीटर से इंच में बदल दिया गया था।

    स्विच (रोबोट की स्थिति) ब्लॉक का उपयोग करते समय, आप "इंच" टाइप करके या दिखाई देने वाले सुझाव का चयन करके माप की इकाई के लिए पैरामीटर बदल सकते हैं। माप की इकाइयों के लिए पैरामीटर टाइप करते समय सभी बड़े अक्षरों का उपयोग करना सुनिश्चित करें।

    ऑटो-कंप्लीट फीचर को प्रदर्शित करने के लिए रोबोट की स्थिति बदलने वाला एक स्विच ब्लॉक। ब्लॉक में 'location.position(X, MM)' लिखा है, और उपयोगकर्ता ऑटो-कंप्लीट का उपयोग करके मिलीमीटर पैरामीटर को इंच में बदल रहा है।

  • <Greater than> ब्लॉक के पैरामीटर को -100 पर सेट करें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब ग्रेटर दैन ब्लॉक का दूसरा पैरामीटर 50 से बदलकर -100 कर दिया गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें। अंत में, रोबोट की X स्थिति (मिलीमीटर में) -100 से अधिक होने तक प्रतीक्षा करें।
  • [Stop driving] ब्लॉक को खींचकर प्रोजेक्ट में जोड़ें।

    VEXcode VR ब्लॉक्स प्रोजेक्ट का एक विस्तार, जिसमें अब वेट अंटिल ब्लॉक के नीचे स्टॉप ड्राइविंग ब्लॉक जोड़ा गया है। अब पूरे प्रोजेक्ट में लिखा है: शुरू करते ही, 90 डिग्री दाएं मुड़ें और फिर आगे बढ़ें। अंत में, रोबोट की X स्थिति (मिलीमीटर में) -100 से अधिक होने तक प्रतीक्षा करें और फिर चलना बंद कर दें।
  • यदि नंबर ग्रिड मैप प्लेग्राउंड पहले से खुला नहीं है, तो उसे खोलें और प्रोजेक्ट चलाएं।
  • वीआर रोबोट को नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक ड्राइव करते हुए देखें।

    नंबर ग्रिड मैप प्लेग्राउंड का ऊपर से लिया गया दृश्य, जिसमें वीआर रोबोट पांचवें स्थान पर पहुंच चुका है।
  • इस प्रोजेक्ट में, वीआर रोबोट नंबर ग्रिड मैप प्लेग्राउंड पर नंबर '5' तक ड्राइव करता है। [Wait until] ब्लॉक का उपयोग इसलिए किया जाता है ताकि वीआर रोबोट तब तक आगे बढ़ता रहे जब तक कि X-मान उस निर्देशांक के X-मान से न हो जाए जिस पर इंगित संख्या स्थित है।
  • एक बार जब X का मान -100 से अधिक हो जाता है, तो प्रोजेक्ट स्टैक में अगले ब्लॉक पर चला जाता है, जो कि [ड्राइविंग बंद करें] ब्लॉक होता है। चूंकि संख्या '5' का X-मान -100 है, इसलिए X-मान -100 से अधिक होने पर VR रोबोट चलना बंद कर देगा।

VEXcode VR ब्लॉक्स प्रोजेक्ट में लॉजिक के प्रवाह को दर्शाने वाला एक आरेख। यह प्रोजेक्ट 90 डिग्री दाएं मुड़कर और फिर आगे बढ़ते हुए शुरू होता है, और उस कमांड को तब तक बनाए रखता है जब तक कि रोबोट सेंसर की X स्थिति मिलीमीटर में -100 से अधिक न हो जाए, जिसके बाद स्टॉप ड्राइविंग ब्लॉक ड्राइव फॉरवर्ड कमांड को समाप्त कर देता है।

​

स्विच ब्लॉक का उपयोग करना 

इस पाठ में, आपने सीखा कि रोबोट को अगले व्यवहार पर जाने से पहले X-अक्ष पर -100 से अधिक की स्थिति तक पहुंचने तक प्रतीक्षा करने का आदेश देने के लिए बूलियन स्थिति के साथ VEX कोड [Wait until] ब्लॉक का उपयोग कैसे करें।

VEXcode VR ब्लॉक जो पढ़ता है कि रोबोट की X स्थिति (मिलीमीटर में) -100 से अधिक होने तक प्रतीक्षा करें।

नीचे दी गई छवि में पाइथन में समान कमांड के साथ स्विच [Wait until] ब्लॉक दिखाया गया है। स्विच ब्लॉक के भीतर, while not location.position(X, MM) > -100: पहला पायथन कमांड है जो जांचता है कि X-अक्ष के साथ रोबोट की स्थिति -100 से अधिक है या नहीं।

इंडेंटेड कमांड, wait (5, MSEC)एक विशिष्ट समय के लिए चेक के निष्पादन को रोक देता है। इस उदाहरण में, प्रोजेक्ट हर 5 मिलीसेकंड में यह जांचता है कि रोबोट की स्थिति -100 के X मान से अधिक है या नहीं। कोड की यह पंक्ति पहली पंक्ति के नीचे इंडेंट की गई है क्योंकि यह कमांड वह व्यवहार है जो तब तक दोहराया जाएगा जब तक कि शर्त (एक्स निर्देशांक का मान -100 से अधिक) पूरी नहीं हो जाती। 

VEXcode VR स्विच ब्लॉक जिसमें पायथन कोड है जो 'while not location.position(X, MM) > -100: wait(5, MSEC)' पढ़ता है।

​

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