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

पाठ 3: डाउन आई सेंसर जोड़ना

पिछले पाठ में, डिस्टेंस सेंसर का उपयोग यह निर्धारित करने के लिए किया गया था कि वीआर रोबोट ने किसी वस्तु का पता लगाया है या नहीं, और यदि हां, तो वह वस्तु की ओर आगे बढ़ा। हालांकि, वीआर रोबोट को रोकने के लिए यह निर्धारित करने के लिए किसी भी सेंसर मान का उपयोग नहीं किया गया था कि वह खेल के मैदान के किनारे के करीब था या नहीं। वीआर रोबोट को खेल के मैदान के किनारे के करीब पहुंचने पर रोक देने से उसे किनारे से नीचे गिरने से बचाया जा सकेगा।प्रोजेक्ट का कोड बाईं ओर है, जबकि प्लेग्राउंड दाईं ओर दिखाया गया है। वीआर रोबोट खेल के मैदान की लाल सीमा के पार पहुंच गया है और किनारे से गिरने से बचने के लिए उसने चलना बंद कर दिया है।

 

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

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

डाउन आई सेंसर जोड़ना

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

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

  • पिछले पाठ से Unit9Lesson2 प्रोजेक्ट लोड करें।

    def main():
    	while True:
    		# क्या दूरी सेंसर किसी महल का पता लगाता है?
    		
    		if front_distance.found_object():
    			# डिस्टेंस सेंसर
    			द्वारा क्रैश कैसल का पता चला drivetrain.drive(FORWARD)
    		
    		else:
    			# डिस्टेंस सेंसर
    			का उपयोग करके कैसल खोजने के लिए मुड़ें drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
  • प्रोजेक्ट का नाम बदलें Unit9Lesson3.
    VEXcode VR टूल बार में प्रोजेक्ट के नाम लाल बॉक्स में हाइलाइट किए गए हैं। इस प्रोजेक्ट का नाम यूनिट 9 लेसन 3 है।
  • यह बताने के लिए एक टिप्पणी जोड़ें कि डाउन आई सेंसर के साथ whileलूप का उपयोग कैसे किया जाएगा। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

    def main():
    	# लाल बॉर्डर का पता न चलने पर इमारत की तलाश करें
    	while True:
    		# क्या दूरी सेंसर किसी महल का पता लगाता है?
    		
    		if front_distance.found_object():
    			# डिस्टेंस सेंसर
    			द्वारा क्रैश कैसल का पता चला drivetrain.drive(FORWARD)
    		
    		else:
    			# डिस्टेंस सेंसर
    			का उपयोग करके कैसल खोजने के लिए मुड़ें drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
  • डाउन आई सेंसर की लगातार जांच करने के लिए एक कमांड की आवश्यकता होती है। वीआर रोबोट को इन व्यवहारों को दोहराने की आवश्यकता होगी जबकि डाउन आई सेंसर लाल रंग का पता नहीं लगाता है। while लूप की स्थिति को बदलकर, स्थिति के आगे notकीवर्ड लगा दें। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

    def main():
    	# लाल बॉर्डर का पता न चलने पर इमारत की तलाश करें
    	while not True:
    		# क्या दूरी सेंसर किसी महल का पता लगाता है?
    		
    		if front_distance.found_object():
    			# डिस्टेंस सेंसर
    			द्वारा क्रैश कैसल का पता चला drivetrain.drive(FORWARD)
    		
    		else:
    			# डिस्टेंस सेंसर
    			का उपयोग करके कैसल खोजने के लिए मुड़ें drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
  • फिर, स्थिति को True से down_eye.detectकमांड में बदलें। पैरामीटर को 'RED' पर सेट करें। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

    def main():
    	# लाल बॉर्डर का पता न चलने पर इमारत की तलाश करें
    	while not down_eye.detect(RED):
    		# क्या दूरी सेंसर किसी महल का पता लगाता है?
    		
    		if front_distance.found_object():
    			# डिस्टेंस सेंसर
    			द्वारा क्रैश कैसल का पता चला drivetrain.drive(FORWARD)
    		
    		else:
    			# डिस्टेंस सेंसर
    			का उपयोग करके कैसल खोजने के लिए मुड़ें drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
  • यदि डायनामिक कैसल क्रैशर प्लेग्राउंड पहले से खुला नहीं है, तो उसे खोलें और प्रोजेक्ट चलाएं। क्या वीआर रोबोट आपकी इच्छानुसार व्यवहार कर रहा है? 
  • जब यह प्रोजेक्ट चलाया जाएगा, तो वीआर रोबोट किसी पहचाने गए ऑब्जेक्ट की ओर बढ़ेगा और अन्यथा दाईं ओर मुड़ जाएगा। हालांकि, डाउन आई सेंसर लाल बॉर्डर की तलाश कर रहा है, लेकिन वीआर रोबोट को यह नहीं बताया जाता कि लाल रंग का पता चलने पर उसे क्या करना है, इसलिए वह आगे बढ़ता रहता है और अंततः खेल के मैदान से गिर जाता है।

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

एक बार जब whileलूप की शर्त पूरी हो जाती है, तो प्रोजेक्ट प्रवाह while लूप के बाहर निष्पादित होगा।

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