मुख्य सामग्री पर जाएं
शिक्षक पोर्टल

रोबोट आर्म की प्रोग्रामिंग - C++

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - गतिविधि रूपरेखा

  • इस अध्ययन के माध्यम से छात्रों को वी5 क्लॉबॉट के आर्म मोटर की बुनियादी प्रोग्रामिंग से परिचित कराया जाएगा।

  • आर्म मोटर को प्रोग्राम करना सीखने से छात्र वी5 क्लॉबॉट की भुजाओं की गतिविधियों को ठीक से नियंत्रित कर सकते हैं। टेक्स्ट प्रोग्राम में उपयोग किए जाने वाले निर्देशों के बारे में अधिक जानकारी के लिए,जानकारी देखें

V5 क्लॉबॉट पहुंचने के लिए तैयार है!

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

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

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

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

VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ)

1

VEXcode V5

1

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

1

क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) उदाहरण प्रोजेक्ट

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

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

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

छात्रों के लिए समस्या निवारण के प्रत्येक चरण का प्रदर्शन करें।

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

अपना प्रोजेक्ट शुरू करने से पहले, सही टेम्पलेट प्रोजेक्ट का चयन करें। क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, नो जाइरो) उदाहरण प्रोजेक्ट में क्लॉबॉट के मोटर्स का कॉन्फ़िगरेशन शामिल है। यदि टेम्पलेट का उपयोग नहीं किया जाता है, तो आपका रोबोट प्रोजेक्ट को सही ढंग से नहीं चला पाएगा।

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

निम्नलिखित चरणों को पूरा करें:

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

आइकन पर 'क्लॉबॉट' और 'एडवांस्ड ट्रेनिंगबॉट' लिखा है और टेक्स्ट के ऊपर एक ग्रे रोबोट बना हुआ है।

  • क्लॉबॉट और एडवांस्ड ट्रेनिंगबॉट (ड्राइवट्रेन 2-मोटर, नो जाइरो) उदाहरण प्रोजेक्ट का चयन करें और खोलें।
  • चूंकि हम भुजा को नियंत्रित करने के लिए प्रोग्रामिंग करेंगे, इसलिए अपनी प्रोजेक्ट का नाम बदलकरArmControl कर दें।
  • अपनी परियोजना सहेजें
  • यह सुनिश्चित करने के लिए जांच करें कि प्रोजेक्ट का नाम ArmControl अब टूलबार के केंद्र में स्थित विंडो में दिखाई दे रहा है।

VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में Arm Control लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।

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

  • क्योंकि यह प्रोग्रामिंग की शुरुआती गतिविधि है, इसलिए शिक्षक को चरणों का प्रदर्शन करना चाहिए और फिर छात्रों से उन्हीं क्रियाओं को पूरा करने के लिए कहना चाहिए। इसके बाद शिक्षक को छात्रों की निगरानी करनी चाहिए ताकि यह सुनिश्चित हो सके कि वे निर्देशों का सही ढंग से पालन कर रहे हैं।

  • सुनिश्चित करें कि छात्रों ने फ़ाइल मेनू से उदाहरण खोलें विकल्प का चयन किया हो।

  • सुनिश्चित करें कि छात्रों ने क्लॉबॉट टेम्पलेट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) उदाहरण परियोजना का चयन किया है।

    आप छात्रों को बता सकते हैं किपर चुनने के लिए कई विकल्प मौजूद हैं। जैसे-जैसे वे अन्य रोबोटों का निर्माण और उपयोग करेंगे, उन्हें विभिन्न टेम्पलेट्स का उपयोग करने का मौका मिलेगा।

  • आप छात्रों से प्रोजेक्ट के नाम में अपने नाम के पहले अक्षर या अपने समूह का नाम जोड़ने के लिए कह सकते हैं। यदि आप छात्रों से प्रोजेक्ट जमा करने के लिए कहते हैं तो इससे प्रोजेक्टों में अंतर करने में मदद मिलेगी।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - बचत परियोजनाएं

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

  • छात्रों को बताएं कि वे अब अपना पहला प्रोजेक्ट शुरू करने के लिए तैयार हैं। छात्रों को समझाएं कि कुछ सरल चरणों का पालन करके, वे एक ऐसा प्रोजेक्ट बना और चला सकेंगे जो क्लॉबॉट की भुजा को ऊपर और नीचे करेगा।

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

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

यह एक अच्छा अवसर है कि छात्र समूह रुकें और VEXcode V5 में एक नया प्रोजेक्ट शुरू करने के लिए अभी-अभी पूरे किए गए चरणों की समीक्षा करें।

चरण 3: बांह को ऊपर उठाएं

अब हम हाथ को ऊपर उठाने के लिए प्रोग्रामिंग शुरू करने जा रहे हैं!

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

  ArmMotor.setPosition(0, degrees);

}
  • आर्म की प्रारंभिक स्थिति निर्धारित करने के लिए, प्रोग्रामिंग क्षेत्र में ऊपर दिखाए अनुसार ArmMotor.setPosition(); निर्देश लिखें।
  आर्ममोटर.सेटपोजीशन(0, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  • आर्म को ऊपर की ओर ले जाने के लिए, ऊपर दिखाए गए अनुसार ArmMotor.setPosition() कमांड के नीचे ArmMotor.spinFor(); निर्देश जोड़ें। सुनिश्चित करें कि स्पिन फॉर कमांड सेट पोजीशन कमांड से मेल खाने के लिए इंडेंटेड हो, और सभी कमांड कर्ली ब्रेसेस के भीतर हों।

प्रोजेक्ट नाम के बगल में स्लॉट चयन विकल्प के साथ VEXcode V5 टूलबार खुला हुआ है। स्लॉट 1 का चयन किया गया है और उसे एक लाल बॉक्स से हाइलाइट किया गया है तथा प्रोजेक्ट का नाम आर्म कंट्रोल लिखा हुआ है।

  • स्लॉट आइकन पर क्लिक करें। आप अपने प्रोजेक्ट को रोबोट ब्रेन में उपलब्ध स्लॉट में से किसी एक में डाउनलोड कर सकते हैं। स्लॉट 1 पर क्लिक करें।

VEXcode V5 में टूलबार, जिसमें हरे रंग के ब्रेन आइकन के चारों ओर एक लाल बॉक्स है। ब्रेन आइकन कंट्रोलर आइकन के दाईं ओर और डाउनलोड बटन के बाईं ओर स्थित है।

VEXcode V5 में टूलबार, जिसमें डाउनलोड बटन के चारों ओर एक लाल बॉक्स है। बाईं से दाईं ओर दिखाए गए आइकन हैं: कंट्रोलर, ब्रेन, डाउनलोड, रन और स्टॉप।

  • ड्राइव प्रोजेक्ट को रोबोट ब्रेन में डाउनलोड करने के लिए टूलबार पर मौजूदडाउनलोडबटन पर क्लिक करें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - पाठ में सहायता

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

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

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

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - पहले मॉडल बनाने का विकल्प

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

छात्रों को बताएं कि अब उनकी परियोजनाओं को चलाने की बारी है। यह सुनिश्चित करें कि उनके पास क्लॉबॉट की भुजा को सुरक्षित रूप से ऊपर उठाने के लिए पर्याप्त जगह हो।

चरण 4: यह आजमाएं: आर्म को नीचे की ओर प्रोग्राम करें

अब जब आपने भुजा को ऊपर की ओर गति करने के लिए प्रोग्राम कर दिया है, तो अब आप भुजा को नीचे की ओर गति करने के लिए प्रोग्राम करेंगे।

VEXcode V5 क्लॉबॉट की छवि जिसमें उसका हाथ नीचे की ओर है

  • अपने ArmControl प्रोजेक्ट में दूसरा ArmMotor.spinFor(); निर्देश जोड़ें ताकि भुजा 90 डिग्री तक उठे, 2 सेकंड तक प्रतीक्षा करे और फिर वापस नीचे आ जाए।
    • संकेत:आपको निर्देश के भीतर दिशा बदलनी होगी।
  • ध्यान दें किwaitकमांड चलने के दौरान आर्म अपनी स्थिति बनाए रखता है। मोटर बैटरी से शक्ति प्राप्त करती है ताकि गुरुत्वाकर्षण बल के विरुद्ध भुजा को ऊपर की ओर स्थिर रख सके। ऐसा इसलिए है क्योंकि मोटर को रोकने के लिए डिफ़ॉल्ट सेटिंगहोल्डसेटिंग है। रुकने के लिए दो अन्य सेटिंग्स हैं -ब्रेकऔरकोस्ट। आप इनके बारे में किसी दूसरी प्रयोगशाला में सीखेंगे।

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

इस समस्या का समाधान नीचे दिया गया है। आर्म को नीचे करने के लिए, छात्रों को ArmMotor.spinFor(); निर्देश में "फॉरवर्ड" पैरामीटर को "रिवर्स" में बदलना होगा, जिसे जोड़ा गया था।

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

  आर्ममोटर.सेटपोजीशन(0, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  प्रतीक्षा(2,सेकंड);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 90, डिग्री);
  
}

चरण 5: फ्लाइट ट्रैफिक कंट्रोलर चैलेंज को पूरा करें

VEXcode V5 क्लॉबॉट की छवि जिसमें उसका हाथ ऊपर उठा हुआ है, और लाल तीर ऊपर और नीचे की ओर इशारा कर रहे हैं।फ्लाइट ट्रैफिक कंट्रोलर चैलेंज में, क्लॉबॉट को अपनी भुजा को एक बार 90 डिग्री तक ऊपर और नीचे घुमाना होगा, 3 सेकंड तक प्रतीक्षा करनी होगी, फिर भुजा को दो बार 45 डिग्री तक ऊपर और नीचे घुमाना होगा, 5 सेकंड तक प्रतीक्षा करनी होगी, और फिर भुजा को तीन बार 90 डिग्री तक ऊपर और नीचे घुमाना होगा।

यहां क्लॉबॉट के व्यवहारों की सूची दी गई है:

  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • 3 सेकंड प्रतीक्षा करें।
  • हाथ को ऊपर उठाएं और फिर 45 डिग्री नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 45 डिग्री तक नीचे लाएं।
  • 5 सेकंड प्रतीक्षा करें।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।
  • हाथ को ऊपर उठाएं और फिर 90 डिग्री तक नीचे लाएं।

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

इस चुनौती के अधिकांश निर्देश ArmMotor.spinFor(); हैं। हाथ को ऊपर की ओर ले जाने का निर्देश और हाथ को नीचे की ओर ले जाने का निर्देश जोड़ने के बाद, आप दोनों निर्देशों को हाइलाइट कर सकते हैं, राइट-क्लिक कर सकते हैं और फिर आवश्यकतानुसार उन्हें कॉपी और पेस्ट कर सकते हैं। फिर चुनौती के अनुरूप मापदंडों को बदला जा सकता है और बीच-बीच में wait(); निर्देश जोड़े जा सकते हैं।

वर्कस्पेस में VEXcode V5 C++ प्रोजेक्ट, जिसमें आर्म मोटर सेट पोजीशन कमांड हाइलाइटेड है और कॉन्टेक्स्ट मेनू खुला हुआ है। कर्सर कॉन्टेक्स्ट मेनू में कॉपी कमांड पर है, जो सूची में ग्यारहवां कमांड है, कट के ठीक बाद।

  • फ्लाइट ट्रैफिक कंट्रोलर चैलेंज सॉल्यूशन: 
// प्रोजेक्ट कोड प्रारंभ करें
int main() {

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

  आर्ममोटर.सेटपोजीशन(0, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 90, डिग्री);
  प्रतीक्षा(3, सेकंड)
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 45, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 45, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 45, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 45, डिग्री);
  प्रतीक्षा(5, सेकंड)
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(फॉरवर्ड, 90, डिग्री);
  आर्ममोटर.स्पिनफॉर(रिवर्स, 90, डिग्री);
  
}