Skip to main content

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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