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

प्रोजेक्ट का संपादन
आप यूनिट 4 लेसन 2 एक्टिविटी से अपने प्रोजेक्ट को एडिट करके शुरुआत करेंगे ताकि ऑब्जेक्ट सेंसर से संबंधित कमांड जोड़ने की तैयारी कर सकें।
अपने4 लेसन 2 एक्टिविटीप्रोजेक्ट को VEXcode EXP में खोलें, या यहां दिखाए गए प्रोजेक्ट को दोबारा बनाएं।
प्रोजेक्ट का नामयूनिट 4 लेसन कर दें।

VEXcode में ऑब्जेक्ट सेंसर को कॉन्फ़िगर करने के लिए, डिवाइसेस विंडो खोलें औरऐड ए डिवाइस चुनें।

3-वायर डिवाइसों की सूची खोलने के लिए 3-वायरका चयन करें।

फिर,ऑब्जेक्ट सेंसर का चयन करें।

कॉन्फ़िगरेशन पूरा करने के लिए पोर्ट A, फिरDoneचुनें।
नोट:सुनिश्चित करें कि ऑब्जेक्ट सेंसर ब्रेन पर पोर्ट A में प्लग किया गया है।

प्रोजेक्ट के आखिरी दो ब्लॉक हटा दें। इसमें एग्जिट कन्वेयर के लिएवेटब्लॉक औरस्टॉपब्लॉक शामिल हैं, जैसा कि इस वीडियो में दिखाया गया है।
प्रोजेक्ट मेंब्लॉक जोड़ें
वेट अंटिलब्लॉक एक ऐसा ब्लॉक है जो स्टैक में अगले ब्लॉक पर जाने से पहले एक बूलियन स्थिति के सही होने की प्रतीक्षा करता है।

तुलना ऑपरेटर
अब जबकि प्रोजेक्ट मेंवेट अंटिलब्लॉक जोड़ दिया गया है, ब्लॉक द्वारा जांच की जाने वाली शर्त को जोड़ने की आवश्यकता है।
इससे पहले, आपने ऑब्जेक्ट सेंसर द्वारा रिपोर्ट किए गए परावर्तन प्रतिशत के बारे में सीखा और उन मूल्यों को अपनी इंजीनियरिंग नोटबुक में दर्ज किया। इस प्रोजेक्ट में, आपको एग्जिट कन्वेयर कोतकहोगा जब तक कि वह मान एक सीमा से ऊपर न हो थ्रेशहोल्ड एक ऐसी चीज़ है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि कोई मान स्वीकार्य सीमा से ऊपर, नीचे या उसके भीतर है या नहीं। तुलनात्मक ऑपरेटरों का उपयोग यह जांचने के लिए किया जा सकता है कि क्या परावर्तनशीलता एक निश्चित मान से ऊपर है, या उस सीमा से ऊपर है।
के षट्भुजाकार स्थान में से बड़ाब्लॉक जोड़ें।ब्लॉक तक प्रतीक्षा करें।

ग्रेटर दैनब्लॉक के पहले छेद में रिफ्लेक्टिविटीब्लॉक जोड़ें।

ग्रेटर देनब्लॉक पहले मान की तुलना दूसरे मान से करता है। प्रोजेक्ट में मौजूद ग्रेटर दैनब्लॉक ऑब्जेक्ट सेंसर द्वारा रिपोर्ट किए गए परावर्तन प्रतिशत की तुलना पैरामीटर '50' से कर रहा है, इससे पहले कि बूलियन कोट्रूयाफॉल्स घोषित किया जाए।

इस परियोजना के लक्ष्यों के बारे में सोचें। एग्जिट कन्वेयर को तब तक घूमना चाहिए जब तक कि ऑब्जेक्ट सेंसर किसी वस्तु का पता न लगा ले, उसके बाद कन्वेयर को रुक जाना चाहिए। पिछले पाठ में एकत्रित किए गए मानों का उपयोग इसग्रेटर देनब्लॉक के साथ उस सीमा को निर्धारित करने के लिए किया जा सकता है जिसे प्रोजेक्ट के स्टैक में अगले ब्लॉक पर जाने से पहले पार करने की आवश्यकता होती है।
ग्रेटर देनब्लॉक के दूसरे पैरामीटर को '9' में बदलें।
यह संख्या पिछले पाठ की गतिविधि में एकत्रित मूल्यों पर आधारित है। जब हरी डिस्क ऑब्जेक्ट सेंसर के नीचे थी, तब परावर्तनशीलता 10% बताई गई थी, इसलिए9% से अधिक कोसत्य के रूप में रिपोर्ट किया जाना चाहिए।

प्रोजेक्ट के अंत मेंस्टॉपब्लॉक जोड़ें। सुनिश्चित करें कि पैरामीटर 'ExitConveyor4' पर सेट है।

सुनिश्चित करें कि ब्रेन VEXcode से कनेक्टेड है और प्रोजेक्ट डाउनलोड करें।

कोड को पढ़ें और अनुमान लगाएं कि प्रोजेक्ट चलने पर कन्वेयर क्या करेंगे।
अपनी भविष्यवाणी को अपनी इंजीनियरिंग नोटबुक में लिख लें।

यह सुनिश्चित करें कि प्रवेश कन्वेयर पर एक हरी डिस्क रखी गई हो। प्रोजेक्ट को टेस्ट करने के लिए ब्रेन पर मौजूद चेक बटन को दबाकर प्रोजेक्ट को चलाएं।
प्रोजेक्ट के चलने के दौरान कन्वेयर के व्यवहार का अवलोकन करें।

जब कन्वेयर चलना बंद कर दें, तो प्रोजेक्ट को रोकने के लिए ब्रेन पर मौजूद X बटन दबाएं। अपनी इंजीनियरिंग नोटबुक में अपने अवलोकन दर्ज करें।
क्या कन्वेयर आपकी भविष्यवाणी के अनुसार चले? क्या हरी डिस्क को योजना के अनुसार निकास कन्वेयर पर ले जाया गया? क्यों या क्यों नहीं?

परियोजना की समीक्षा
आइए इस प्रोजेक्ट के प्रवाह की समीक्षा करें, जिसके तहत ऑब्जेक्ट सेंसर द्वारा हरी डिस्क का पता चलने पर एग्जिट कन्वेयर रुक गया था। वेट अंटिलब्लॉक ने प्रोजेक्ट को तब तक आगे बढ़ने से रोक दिया जब तक कि उसके भीतर की स्थिति को TRUE के रूप में रिपोर्ट नहीं किया जाता।

क्योंकिस्पिनब्लॉक एक नॉन-वेटिंग ब्लॉक है, इसलिए यह सीटीई वर्कसेल को ऑब्जेक्ट सेंसर से मानों की जांच करते समय और परावर्तनशीलता की स्थिति 9% से अधिक होने की जांच करते समय कन्वेयर मोटर को घुमाते रहने की अनुमति देता है। वेट अंटिलब्लॉक में शर्त के बादTRUE के रूप में रिपोर्ट करता है, प्रोजेक्ट स्टैक में अगले ब्लॉक पर चला जाता है, जिससे एग्जिट कन्वेयर मोटर रुक जाती है।
आपकी जानकारी के लिए
किसी प्रोजेक्ट में ब्लॉकों के एक अन्य संयोजन का उपयोग ऑब्जेक्ट सेंसर के नीचे कोई वस्तु होने पर एग्जिट कन्वेयर को रोकने के लिए किया जा सकता है। सेट डिटेक्शन थ्रेशोल्डब्लॉक का उपयोग प्रोजेक्ट की शुरुआत में थ्रेशोल्ड सेट करने के लिए किया जा सकता है, ठीक उसी तरह जैसे ऊपर बनाए गए प्रोजेक्ट मेंग्रेटर दैनब्लॉक का उपयोग किया गया था।

एक बार थ्रेशहोल्ड सेट हो जाने के बाद, बूलियनऑब्जेक्टका पता लगाता है ब्लॉक का उपयोग षट्भुजाकार स्थानों वाले किसी भी ब्लॉक में किया जा सकता है। यह ब्लॉक TRUE रिपोर्ट करेगा जबसेट डिटेक्शन थ्रेशोल्डब्लॉक द्वारा परिभाषित डिटेक्शन थ्रेशोल्ड पूरा हो जाएगा, या FALSE रिपोर्ट करेगा जब रिफ्लेक्टिविटी प्रतिशत उस थ्रेशोल्ड से कम होगा।

क्योंकिDetectsobjectब्लॉक एक बूलियन ब्लॉक है, इसलिए यह सीधेWait untilब्लॉक में फिट हो सकता है।
