पाठ 3: डिस्क उठाने के लिए सेंसर और इलेक्ट्रोमैग्नेट का उपयोग करना
इलेक्ट्रोमैग्नेट के साथ डाउन आई सेंसर का उपयोग करना
यह पाठ पाठ 2 के समान चुनौती को हल करने के लिए रिपोर्ट किए गए सेंसर फीडबैक का उपयोग करेगा। वी.आर. रोबोट पहली नीली डिस्क को उठाएगा और उसे नीले गोल में ले जाएगा।
- एक नया प्रोजेक्ट शुरू करें और संकेत मिलने पर डिस्क मूवर प्लेग्राउंड का चयन करें।

-
प्रोजेक्ट का नाम यूनिट8लेसनरखें.

-
परियोजना में चार टिप्पणियाँ जोड़ें. वीआर रोबोट को पहली डिस्क तक ले जाने, उसे उठाने और नीले लक्ष्य पर वापस लाने के लिए आवश्यक प्रत्येक चरण के लिए टिप्पणियां जोड़ें।
def मुख्य(): # 1. पहली डिस्क # 2 पर ड्राइव करें। पहली डिस्क # 3 उठाओ. लक्ष्य की ओर ड्राइव # 4. डिस्क को गोल में गिराएं -
प्रथम टिप्पणी के नीचे कार्यक्षेत्र में while लूप कोnot शर्त के साथ खींचें या टाइप करें, जिससे आपका प्रोजेक्ट इस प्रकार दिखाई देगा:
def मुख्य(): #1. पहली डिस्क पर ड्राइव करें जबकि नहीं शर्त: प्रतीक्षा (5, MSEC) # 2. पहली डिस्क # 3 उठाओ. लक्ष्य की ओर ड्राइव # 4. डिस्क को गोल में गिराएं -
down_eye.near_objectकमांड तब सत्य रिपोर्ट करता है जब वीआर रोबोट पर डाउन आई सेंसर डिस्क मूवर प्लेग्राउंडपर रंगीन डिस्क का पता लगाता है। डिस्क खेल के मैदान के फर्श पर हैं और उन्हें फ्रंट आई सेंसर द्वारा नहीं पहचाना जा सकता है, इसलिए डाउन आई सेंसर डिस्क का पता लगाएगा। down_eye.near_object कमांड को while लूप की स्थिति के रूप में खींचें या टाइप करें, ताकि आपके प्रोजेक्ट का पहला भाग इस तरह दिखे:
def मुख्य(): #1. पहली डिस्क पर ड्राइव करें जब तक down_eye.near_object() न हो: wait(5, MSEC) -
whileलूप के अंदर के कमांड तब चलेंगे जब VR रोबोट किसी ऑब्जेक्ट का पता नहीं लगाएगा। किसी एक डिस्क तक पहुंचने के लिए, वीआर रोबोट को तब तक आगे बढ़ना होगा जब तक कि डिस्क का पता न चल जाए।

-
drive कमांड को while लूप के अंदर खींचें या टाइप करें, जिससे प्रोजेक्ट का पहला टिप्पणी अनुभाग इस तरह दिखाई देगा:
#1. पहली डिस्क पर ड्राइव करें जब तक down_eye.near_object() न हो: drivetrain.drive(FORWARD) wait(5, MSEC) -
जब कोई डिस्क का पता चलता है, तो वीआर रोबोट को उसे उठाने के लिए गाड़ी रोकनी होगी। stop कमांड को whileलूप के बाहर खींचें या टाइप करें, ताकि प्रोजेक्ट का पहला टिप्पणी अनुभाग इस तरह दिखे:
#1. पहली डिस्क पर ड्राइव करें जब तक कि down_eye.near_object() न हो: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - ध्यान दें कि drive और wait कमांड whileloop हेडर के नीचे इंडेंट किए गए हैं, जिसका अर्थ है कि कमांड लूप के अंदर हैं। ग्रे लाइन यह बताने में भी मदद कर सकती है कि कौन से कमांड सही ढंग से इंडेंट किए गए हैं और लूप के अंदर हैं। स्टॉप कमांड लूप हेडर के अनुरूप है, जिसका अर्थ है कि स्टॉप कमांड लूप के बाहर है। सुनिश्चित करें कि कमांड सही ढंग से इंडेंट किए गए हैं, अन्यथा प्रोजेक्ट अपेक्षानुसार नहीं चलेगा।
-
अब, वीआर रोबोट को निर्देश दें कि वह इलेक्ट्रोमैग्नेट के साथ डिस्क को खींचकर या दूसरी टिप्पणी के बाद एनर्जाइज़कमांड टाइप करके उठाए, ताकि परियोजना का दूसरा भाग इस तरह दिखे:
# 2. पहली डिस्क magnet.energize(BOOST) उठाएँ - यदि प्लेग्राउंड विंडो पहले से खुली नहीं है तो उसे खोलें। सुनिश्चित करें किडिस्क मूवर प्लेग्राउंडखुलता है, और प्रोजेक्ट को चलाएं।
-
वीआर रोबोट तब तक आगे बढ़ता रहता है जब तक डाउन आई सेंसर द्वारा पहली नीली डिस्क का पता नहीं लग जाता, वह चलना बंद कर देता है, तथा डिस्क को उठाने के लिए इलेक्ट्रोमैग्नेट को सक्रिय कर देता है।

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

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