Skip to main content

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

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

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

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

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

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

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

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

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

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

प्रश्न

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

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