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

दाएं और बाएं मुड़ने की प्रोग्रामिंग - C++

स्पीडबॉट मुड़ने के लिए तैयार है!

इस अन्वेषण से आपको ऐसे उपकरण मिलेंगे जिनकी मदद से आप अपने स्पीडबॉट के लिए कुछ बेहतरीन प्रोजेक्ट बनाना शुरू कर सकेंगे।

  • इस अन्वेषण में उपयोग किए जाने वाले VEXcode V5 निर्देश:
    • ड्राइवट्रेन.टर्नफॉर(दाएं, 90, डिग्री);
  • निर्देश के बारे में अधिक जानकारी प्राप्त करने के लिए, सहायता चुनें और फिर अधिक जानकारी देखने के लिए किसी कमांड के आगे स्थित प्रश्न चिह्न आइकन चुनें।

    उपयोगकर्ता बाईं ओर स्थित कार्यक्षेत्र में ड्राइवट्रेन टर्न फॉर कमांड टाइप कर रहा है, और दाईं ओर टर्न फॉर कमांड के लिए सहायता खुली हुई है। हेल्प बॉक्स में कमांड की परिभाषा और उसके उपयोग के तरीके के बारे में जानकारी दी गई है।

     

  • सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 डाउनलोड और तैयार हैं।
सामग्री की आवश्यकता:
मात्रा आवश्यक सामग्री
1

स्पीडबॉट रोबोट

1

चार्ज की गई रोबोट बैटरी

1

VEXcode V5

1

यूएसबी केबल (यदि कंप्यूटर का उपयोग कर रहे हैं)

1

इंजीनियरिंग नोटबुक

चरण 1: अन्वेषण की तैयारी

गतिविधि शुरू करने से पहले, क्या आपके पास ये सभी चीजें तैयार हैं?

चरण 2: एक नया प्रोजेक्ट शुरू करें

प्रोजेक्ट शुरू करने के लिए निम्नलिखित चरणों को पूरा करें:

  • फ़ाइल मेनू खोलें और उदाहरण खोलें चुनें।

    VEXcode V5 टूलबार में फ़ाइल मेनू खुला हुआ है और ओपन एग्जांपल्स को लाल बॉक्स में हाइलाइट किया गया है। ओपन एग्जांपल्स, न्यू ब्लॉक्स प्रोजेक्ट, न्यू टेक्स्ट प्रोजेक्ट और ओपन के नीचे स्थित चौथा मेनू आइटम है।

     

  • Speedbot (Drivetrain 2-motor, No Gyro) टेम्पलेट प्रोजेक्ट का चयन करें और उसे खोलें। टेम्प्लेट प्रोजेक्ट में स्पीडबॉट कामोटर कॉन्फ़िगरेशन शामिल है। यदि टेम्पलेट का उपयोग नहीं किया जाता है, तो आपका रोबोट प्रोजेक्ट को सही ढंग से नहीं चला पाएगा।

    VEXcode V5 में उदाहरण प्रोजेक्ट्स में सबसे ऊपर टेम्पलेट फ़िल्टर के चारों ओर एक लाल बॉक्स और क्लॉबॉट (ड्राइवट्रेन 2-मोटर, नो जाइरो) टेम्पलेट प्रोजेक्ट है, जो यह दर्शाता है कि कौन सा प्रोजेक्ट खोलना है।

  • चूंकि आप स्पीडबॉट को घुमाने पर काम करेंगे, इसलिए आप अपनी परियोजना का नामटर्न रखेंगे।

    VEXcode V5 में प्रोजेक्ट नाम संवाद बॉक्स में नाम बदलकर Turn कर दिया गया है।

     

  • जब काम पूरा हो जाए, तोसेव चुनें।

    प्रोजेक्ट का नाम VEXcode V5 टूलबार में Turn लिखा हुआ है, और स्लॉट 1 का चयन किया गया है।

शिक्षक सुझाव आइकन शिक्षक सुझाव

प्रोजेक्ट के नामों में शब्दों के बीच या बाद में रिक्त स्थान हो सकते हैं।

चरण 3: दाईं ओर मुड़ें

अब आप रोबोट को दाईं ओर मुड़ने के लिए प्रोग्राम करना शुरू करने के लिए तैयार हैं!

  • निर्देश को प्रोजेक्ट में इस प्रकार जोड़ें ताकि आपका प्रोजेक्ट इस तरह दिखे:

    int main() {
      // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
      vexcodeInit();
        // प्रोजेक्ट कोड प्रारंभ करें
    
        Drivetrain.turnFor(right, 90, degrees);
    
    }
  • रोबोट ब्रेन पर उपलब्ध आठ स्लॉट में से एक को चुनने के लिए स्लॉट आइकन का चयन करें और स्लॉट 1 का चयन करें।
  • V5 रोबोट ब्रेन को माइक्रो यूएसबी केबल का उपयोग करके कंप्यूटर से कनेक्ट करें और V5 रोबोट ब्रेन को चालू करें। टूलबार में ब्रेन आइकनसफल कनेक्शन स्थापित होने पर हरे रंगबदल जाता है।
  • जब V5 रोबोट ब्रेन को कंप्यूटर से कनेक्ट किया जाता है, तो बिल्ड आइकन डाउनलोड आइकन में बदल जाता है। प्रोजेक्ट को ब्रेन में डाउनलोड करने के लिएडाउनलोडचुनें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स

छात्रों को रोबोट ब्रेन से यूएसबी केबल डिस्कनेक्ट करने के लिए याद दिलाएं। किसी प्रोजेक्ट को चलाते समय रोबोट को कंप्यूटर से कनेक्ट रखने से रोबोट कनेक्शन केबल को खींच सकता है।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - रुकें और चर्चा करें

छात्रों से यह अनुमान लगाने के लिए कहें कि जब इस प्रोजेक्ट को डाउनलोड करके स्पीडबॉट पर चलाया जाएगा तो क्या होगा। छात्रों को अपनी इंजीनियरिंग नोटबुक में अपनी भविष्यवाणियां लिखने के लिए कहें। यदि समय अनुमति दे, तो प्रत्येक समूह से अपनी भविष्यवाणियाँ साझा करने के लिए कहें।

  • रोबोट ब्रेन की स्क्रीन देखकर यह सुनिश्चित करें कि आपका प्रोजेक्ट डाउनलोड हो गया है (C++)। प्रोजेक्ट का नाम टर्न स्लॉट 1 में सूचीबद्ध होना चाहिए।

    V5 ब्रेन होम स्क्रीन पर, ड्राइव आइकन के नीचे, सबसे नीचे वाली पंक्ति में पहले आइकन, स्लॉट 1 में टर्न प्रोजेक्ट दिखाई देता है।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - मॉडल प्रथम

  • सभी छात्रों को एक साथ प्रयास करने देने से पहले, मॉडल कक्षा के सामने प्रोजेक्ट को चलाकर दिखाता है। छात्रों को एक जगह इकट्ठा करें और यदि स्पीडबॉट को फर्श पर रखा जाता है तो उसके चलने-फिरने के लिए पर्याप्त जगह छोड़ दें।

  • छात्रों को बताएं कि अब उनकी परियोजना को आगे बढ़ाने की बारी है। यह सुनिश्चित करें कि उनके लिए एक स्पष्ट मार्ग हो और कोई भी स्पीडबॉट एक दूसरे से न टकराए।

  • छात्रों को याद दिलाएं कि वे काम करते समय अपने प्रोजेक्ट को सेव करते रहें। VEX लाइब्रेरी का यह अनुभाग (C++) VEXcode V5 में सेविंग प्रथाओं की व्याख्या करता है।

  • स्पीडबॉट रोबोट पर प्रोजेक्ट (C++) चलाएँ, यह सुनिश्चित करते हुए कि प्रोजेक्ट चयनित है और फिर रोबोट ब्रेन पररनबटन दबाएँ।

चरण 4: बाएँ मुड़ें

अब जब आपने अपने रोबोट को दाएं मुड़ने के लिए प्रोग्राम कर दिया है, तो आइए इसे बाएं मुड़ने के लिए प्रोग्राम करें।

  • निर्देश में पैरामीटर को बदलकरदाएंके बजायबाएंप्रदर्शित करें, ताकि आपका प्रोजेक्ट इस तरह दिखे:

    int main() {
      // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
      vexcodeInit();
        // प्रोजेक्ट कोड प्रारंभ करें
    
        Drivetrain.turnFor(left, 90, degrees);
    
    }
  • प्रोजेक्ट का नाम चुनें और उसे Turn से TurnLeft में बदलें।
  • नया स्लॉट चुनने के लिए स्लॉट आइकन पर क्लिक करें। स्लॉट 2 का चयन करें।
  • प्रोजेक्ट डाउनलोड करें (C++)।
  • रोबोट ब्रेन की स्क्रीन देखकर यह सुनिश्चित करें कि आपका प्रोजेक्ट डाउनलोड हो गया है (C++)। प्रोजेक्ट का नाम TurnLeft स्लॉट 2 में सूचीबद्ध होना चाहिए।
  • प्रोजेक्ट को रोबोट पर चलाएं (C++) यह सुनिश्चित करके कि प्रोजेक्ट चयनित है और फिररनबटन दबाएं।

चरण 5: प्रतीक्षा करें और फिर बाईं ओर मुड़ें

अब जबकि हमने रोबोट को बाएं, दाएं और फिर बाएं मुड़ने के लिए प्रोग्राम कर दिया है, तो अब हम एक प्रतीक्षा निर्देश जोड़ सकते हैं ताकि रोबोट बाएं मुड़ने से पहले एक निश्चित समय तक प्रतीक्षा करे।

  • ड्राइव फॉर कमांड से पहले वेट निर्देश जोड़ें। सुनिश्चित करें कि Wait कमांड Drive for कमांड से मेल खाने के लिए इंडेंटेड हो, और सभी कमांड कर्ली ब्रेसेस के भीतर हों। यह रोबोट को बाएं मुड़ने से पहले तीन सेकंड तक इंतजार करने का निर्देश देता है।

    	प्रतीक्षा करें (3, सेकंड);
    
        ड्राइवट्रेन.टर्नफॉर (बाएं, 90, डिग्री);
  • प्रोजेक्ट का नाम चुनें और उसे TurnLeft से बदलकर WaitLeft कर दें।
  • नया स्लॉट चुनने के लिए स्लॉट आइकन पर क्लिक करें। तीसरा स्लॉट चुनें।
  • प्रोजेक्ट डाउनलोड करें (C++)।
  • रोबोट ब्रेन की स्क्रीन देखकर यह सुनिश्चित करें कि आपका प्रोजेक्ट डाउनलोड हो गया है (C++)। प्रोजेक्ट का नाम WaitLeft स्लॉट 3 में सूचीबद्ध होना चाहिए।
  • प्रोजेक्ट को रोबोट पर चलाएं (C++) यह सुनिश्चित करके कि प्रोजेक्ट चयनित है और फिररनबटन दबाएं।

चरण 6: सुरक्षा कैमरा चुनौती पूरी करें!

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

सिक्योरिटी कैमरा चैलेंज में, रोबोट को सबसे पहले दाईं ओर 90 डिग्री मुड़ना होगा। इसके बाद रोबोट बाईं ओर 180 डिग्री और फिर दाईं ओर 180 डिग्री घूमेगा और एक सुरक्षा कैमरे की तरह "स्कैनिंग" करेगा। इसके बाद रोबोट बाईं ओर 180 डिग्री और दाईं ओर 180 डिग्री घूमने की प्रक्रिया को दो बार और दोहराएगा।

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

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - समाधान

नीचे दिए गए नमूना समाधान को देखें।

int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
  vexcodeInit();
    // प्रोजेक्ट कोड प्रारंभ

    // रोबोट 90 डिग्री दाएँ मुड़ेगा
    Drivetrain.turnFor(right, 90, degrees);

    // रोबोट 180 डिग्री बाएँ मुड़ेगा
    Drivetrain.turnFor(left, 190, degrees);

    // रोबोट 180 डिग्री दाएँ मुड़ेगा
    Drivetrain.turnFor(right, 180, degrees);

    // रोबोट 180 डिग्री बाएँ मुड़ेगा
    Drivetrain.turnFor(left, 180, degrees);

    // रोबोट 180 डिग्री दाएँ मुड़ेगा
    Drivetrain.turnFor(right, 180, degrees);

    // रोबोट 180 डिग्री बाएँ मुड़ेगा
    Drivetrain.turnFor(left, 180, degrees);

    // रोबोट 180 डिग्री दाएँ मुड़ेगा
    Drivetrain.turnFor(right, 180, degrees);

}