Skip to main content

पाठ 2: अक्षर 'A' तक ड्राइव करें

दीवारों से बचने के लिए दूरी सेंसर का उपयोग करना 

अब जब आप सीख चुके हैं कि तुलना ऑपरेटर क्या हैं और उन्हें किसी प्रोजेक्ट में कैसे इस्तेमाल किया जा सकता है, तो आप उस सीख कोवॉल मेज़ प्लेग्राउंडमें अक्षर 'ए' तक वीआर रोबोट को चलाने के लिए लागू करेंगे। यह परियोजना दीवारों से टकराए बिना दीवार भूलभुलैया खेल के मैदान के माध्यम से नेविगेट करने के लिए दूरी सेंसर का उपयोग करेगी।

प्रोजेक्ट को नाम दें और सहेजें

  • एक नया टेक्स्ट प्रोजेक्ट शुरू करें और संकेत मिलने पर वॉल मेज़ प्लेग्राउंडका चयन करें। दीवार भूलभुलैया खेल का मैदान चयन टाइल.
  • परियोजना का नाम यूनिट5पाठरखें.
    VEXcode VR टूलबार और मध्य में प्रोजेक्ट नाम संवाद में यूनिट 5 पाठ 2 लिखा है।
  • whileलूप को खींचें, टाइप करें या कॉपी करें और Drivetrain कमांड को हटा दें जो नए टेक्स्ट प्रोजेक्ट टेम्पलेट के हिस्से के रूप में पॉप्युलेट होता है, ताकि आपका प्रोजेक्ट इस तरह दिखे। ध्यान दें कि कमांड while लूप को wait कमांड के साथ पॉप्युलेट करेगा। wait कमांड को न हटाएं, यह सुनिश्चित करेगा कि VR रोबोट प्रोजेक्ट को सही ढंग से निष्पादित करे।

    def main():
        while condition:
            wait(5, MSEC)
  • लूप के अंदर नॉन-वेटिंग ड्राइव कमांड को खींचें, टाइप करें या कॉपी करें, ताकि आपका प्रोजेक्ट इस तरह दिखे।

    def main():
        while condition:
            drivetrain.drive(FORWARD)
    
            wait(5, MSEC)
    • जाँच करें कि इंडेंटेशन सही है और ड्राइव कमांड प्रतीक्षाकमांड के साथ संरेखित है।

get_distanceफ़ंक्शन और greater than ऑपरेटर जोड़ें

  • get_distanceकमांड को while लूप की 'condition' में खींचें या टाइप करें, जिससे आपका प्रोजेक्ट इस तरह दिखाई देगा। इससे बड़ा ऑपरेटर और दूसरा ऑपरेंड '50' टाइप करें। 
  • def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
    
            wait(5, MSEC)
  • while लूप के बाहर stop कमांड जोड़ें, ताकि आपका प्रोजेक्ट इस तरह दिखे। while लूप के बाद stop कमांड की आवश्यकता होती है क्योंकि VR रोबोट तब तक गाड़ी चलाता रहेगा जब तक उसे रुकने का निर्देश न दिया जाए।

    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
            
        drivetrain.stop()
  • यदि प्लेग्राउंड विंडो पहले से खुली नहीं है तो उसे खोलें, सुनिश्चित करें किवॉल मेज़ प्लेग्राउंडखुल जाए, और प्रोजेक्ट चलाएं।
  • वीआर रोबोट को तब तक आगे बढ़ते हुए देखें जब तक कि दूरी सेंसर यह रिपोर्ट न दे कि वीआर रोबोट और दीवार के बीच की दूरी 50 मिलीमीटर (मिमी) से अधिक नहीं है।दीवार भूलभुलैया खेल के मैदान का ऊपर से नीचे का दृश्य, जिसमें वीआर रोबोट आरंभिक स्थान के सामने पहली दीवार के सामने रुका हुआ है।
  • वीआर रोबोट को प्रारंभिक स्थिति में वापस लाने के लिए खेल के मैदान को रीसेट करें।

'A' अक्षर तक पहुँचने के लिए परियोजना जारी रखें

while लूप की शर्त के रूप में get_distanceकमांड के साथ greater than (>) ऑपरेटर का उपयोग करने से VR रोबोट को आगे बढ़ने का निर्देश मिलता है जब तक कि VR रोबोट और दीवार के बीच की दूरी 50 मिलीमीटर (मिमी) से अधिक है। जब दूरी सेंसर वीआर रोबोट से दीवार तक की दूरी 50 मिलीमीटर से अधिक नहीं होने की रिपोर्ट करेगा, तो वीआर रोबोट चलना बंद कर देगा। अक्षर 'ए' की ओर आगे बढ़ने के लिए, वीआर रोबोट को दीवार के पास पहुंचने पर मुड़ना होगा। 

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

  • stopकमांड को turn_forकमांड से बदलें, जिससे आपका प्रोजेक्ट इस तरह दिखेगा। turn_forकमांड की आवश्यकता इसलिए है क्योंकि जब दूरी सेंसर दीवार के 50 मिलीमीटर (मिमी) के भीतर होगा, तो वीआर रोबोट अक्षर 'ए' की ओर बढ़ने के लिए बायीं ओर मुड़ जाएगा।

    • मोड़ के पैरामीटर को "बाएं, 90, डिग्री" पर सेट करें।
    def main():
        while front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
    • turn_for कमांड के नीचे drive कमांड के साथ एक और whileलूप जोड़ें। प्रथम ऑपरेंड के रूप में get_distanceकमांड, दूसरे ऑपरेंड के रूप में greater than ऑपरेटर और स्थिरांक '50' का उपयोग करके शर्त सेट करें।
        जबकि front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    • अंत में, दूसरे while लूप के नीचे निम्नलिखित कमांड जोड़ें, जिससे VR रोबोट को अक्षर 'A' के पीछे अंतिम दीवार का पता लगाने और फिर ड्राइविंग बंद करने का निर्देश मिले। सुनिश्चित करें कि turn_for कमांड और stop कमांड अपने-अपने while लूप के बाहर हों।
        drivetrain.turn_for(LEFT, 90, DEGREES)
    
        जबकि front_distance.get_distance(MM) > 50:
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.stop()
    • यदि वॉल मेज़ प्लेग्राउंड पहले से खुला नहीं है तो उसे लॉन्च करें और प्रोजेक्ट चलाएं।
    • वी.आर. रोबोट को दीवार भूलभुलैया के आरंभ से अक्षर 'ए' तक ड्राइव करते हुए देखें, और फिर रुक जाएं।

    खेल के मैदान के मध्य तल में प्रारंभिक स्थान पर वीआर रोबोट के साथ दीवार भूलभुलैया खेल के मैदान का ऊपर से नीचे का दृश्य। अक्षर A रोबोट के ठीक बाईं ओर है, जो एक छोटी दीवार से अलग है।

    • ध्यान दें कि वीआर रोबोट अक्षर 'ए' की ओर जाते समय किसी दीवार से नहीं टकराता। जब दूरी सेंसर मान रिपोर्ट करता है कि वीआर रोबोट दीवार से 50 मिलीमीटर (मिमी) से अधिक दूर नहीं है, तो वीआर रोबोट को परियोजना में मुड़ने या रुकने का निर्देश दिया जाता है।

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