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

पाठ 3: जब लाल रंग का पता चलता है

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

वीडियो फाइल
  • डाउन आई सेंसर द्वारा लाल बॉर्डर का पता लगाने पर क्या होना चाहिए, यह इंगित करने के लिएwhileलूप के अंत में एक टिप्पणी जोड़ें। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

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

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

    डायनामिक कैसल क्रैश्ड खेल के मैदान का ऊपर से लिया गया दृश्य दिखाता है कि कुछ किले गिर गए हैं, और वीआर रोबोट लाल सीमा को पार करने के बाद पीछे की ओर मुड़कर फिर से खेल के मैदान के केंद्र की ओर मुंह कर लेता है।

अनंत while लूप जोड़ना

  • व्यवहारों को लूप में दोहराने के लिए एक अनंत whileलूप की आवश्यकता होती है। प्रोजेक्ट के शीर्ष पर while लूप को ड्रैग करके डालें या टाइप करें, और अनंत लूप बनाने के लिए कंडीशन को True पर सेट करें। फिर, पिछले कोड को अनंत whileलूप के अंदर कॉपी और पेस्ट करें। सुनिश्चित करें कि कमांड सही हेडर के अंतर्गत ठीक से इंडेंट किए गए हैं, अन्यथा प्रोजेक्ट अपेक्षा के अनुरूप नहीं चल सकता है। अब आपका प्रोजेक्ट कुछ इस तरह दिखना चाहिए:

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

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

प्रश्न

पाठ की प्रश्नोत्तरी तक पहुँचने के लिए कृपया नीचे दिए गए लिंक का चयन करें।

गूगल डॉक / .docx / .pdf