पाठ 2: पहले हरे और फिर नीले डिस्क तक ड्राइव करें
पहले हरे और फिर नीले डिस्क की ओर ड्राइव करें
- पिछले प्रोजेक्ट में वीआर रोबोट तब दाईं ओर मुड़ता है जब फ्रंट आई सेंसर एक हरी डिस्क का पता लगाता है। अब, एक ऐसा प्रोजेक्ट बनाएं जिसमें वीआर रोबोट डिस्क मेज़ प्लेग्राउंड पर चार डिस्क तक ड्राइव करे।
-
लक्ष्य एक ऐसा सुसंगत पैटर्न बनाना है जिसमें वीआर रोबोट तब दाईं ओर मुड़े जब फ्रंट आई सेंसर एक हरी डिस्क का पता लगाए, और बाईं ओर मुड़े जब फ्रंट आई सेंसर एक नीली डिस्क का पता लगाए।

-
मौजूदा प्रोजेक्ट में निम्नलिखित ब्लॉक जोड़ें ताकि वीआर रोबोट को दाएं मुड़ने के बाद आगे बढ़ने का निर्देश दिया जा सके।

-
एक और [Wait until] जोड़ें जिसमें <Color sensing> ब्लॉक को 'नीला' का पता लगाने के लिए सेट किया गया हो, क्योंकि वीआर रोबोट को मिलने वाली अगली डिस्क नीली होगी।

-
[Turn for] ब्लॉक जोड़ें और पैरामीटर को 'left' पर सेट करें।

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

- ध्यान दें कि जब फ्रंट आई सेंसर हरे रंग की डिस्क का पता लगाता है तो वीआर रोबोट दाईं ओर मुड़ जाता है, और जब फ्रंट आई सेंसर नीले रंग की डिस्क का पता लगाता है तो वह बाईं ओर मुड़ जाता है।
-
फ्रंट आई सेंसर का उपयोग करके वीआर रोबोट को डिस्क मेज़ प्लेग्राउंड पर दो और डिस्क तक ले जाने के लिए इस प्रोजेक्ट को आगे बढ़ाएं। वीआर रोबोट को अगले दो डिस्क तक ले जाने और फिर रोकने के लिए निम्नलिखित ब्लॉक जोड़ें:


-
ध्यान दें कि इसमें एक पैटर्न है। इस प्रोजेक्ट में ब्लॉकों की एक श्रृंखला है जिसे तीन बार दोहराया गया है। इस कोड के भाग को [Repeat] ब्लॉक का उपयोग करके संक्षिप्त किया जा सकता है।

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

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

नीचे दिए गए प्रोजेक्ट में इन्हीं VEXcode ब्लॉकों को कई स्विच ब्लॉकों में परिवर्तित करके दिखाया गया है।

यह आखिरी प्रोजेक्ट एक ही स्विच ब्लॉक के भीतर समान स्विच ब्लॉक कमांड को पायथन कमांड में परिवर्तित करके दिखाता है।

repeat_count in range(3): के लिए वह पायथन कमांड है जो रोबोट को बताता है कि कोड की अगली इंडेंटेड पंक्तियों को तीन बार दोहराया जाना चाहिए। ध्यान दें कि आपको फॉर लूप के बाद एक कोलन (:) शामिल करना चाहिए।
इसके बाद की कोड की पंक्तियाँ उन व्यवहारों को दर्शाती हैं जिन्हें दोहराया जाएगा। ध्यान दें कि ये व्यवहार डिफ़ॉल्ट रूप से 4 रिक्त स्थानों पर इंडेंटेड हैं
इसके अतिरिक्त, ध्यान दें कि सशर्त में कमांड शामिल है, प्रतीक्षा (5, एमएसईसी)। VEXcode VR में, for लूप के साथ हमेशा wait कमांड जोड़ा जाता है। wait कमांड का उद्देश्य यह सुनिश्चित करना है कि VEXcode VR प्लेटफॉर्म की वेब-आधारित प्रकृति के कारण, VEXcode VR प्रोजेक्ट को इच्छानुसार ठीक से चला सके। फ़ॉर लूप का उपयोग करते समय wait कमांड को कभी भी डिलीट नहीं करना चाहिए, अन्यथा आपका प्रोजेक्ट इच्छानुसार नहीं चल पाएगा।
लाइन, wait (5, MSEC)को while not front_eye.detect(BLUE) कमांड के नीचे इंडेंट किया गया है क्योंकि फ्रंट आई सेंसर नीले रंग की जांच करेगा, प्रत्येक जांच के बीच 5 MSEC का विराम लेगा।
इस पाठ के शेष भाग को जारी रखने के लिए अगला बटन चुनें।