ड्राइव को आगे और पीछे चलाने की प्रोग्रामिंग - C++
शिक्षक टूलबॉक्स
-
गतिविधि रूपरेखा
इस अध्ययन के माध्यम से छात्रों को आगे बढ़ने, पीछे जाने और प्रतीक्षा करने जैसे बुनियादी प्रोग्रामिंग व्यवहारों से परिचित कराया जाएगा। ये बुनियादी कौशल उन्हें अगली गतिविधि में और इस एसटीईएम लैब के अंत में होने वाले स्ट्राइक चैलेंज में सफल होने में मदद करेंगे, जब वे स्पीडबॉट का उपयोग करके बॉलिंग में प्रतिस्पर्धा करेंगे।
V5 स्पीडबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट प्रोजेक्ट का उपयोग करके छात्र केवल एक निर्देश का उपयोग करके स्पीडबॉट को आगे बढ़ने के लिए प्रोग्राम कर सकते हैं।
स्पीडबॉट चलने के लिए तैयार है!
इस अन्वेषण से आपको अपने स्पीडबॉट को सरल गतिविधियों के लिए प्रोग्राम करने के लिए आवश्यक उपकरण प्राप्त होंगे। इस गतिविधि के अंत में, आप आगे बढ़ने, पीछे हटने और प्रतीक्षा करने जैसे व्यवहारों का उपयोग करते हुए बास्केटबॉल ड्रिल चैलेंज में भाग लेंगे।
शिक्षक टूलबॉक्स
यहां VEXcode V5 के यूजर इंटरफेस का संक्षिप्त विवरण दिया गया है। मोमेंटम एले एसटीईएम लैब में होने वाली गतिविधियों के दौरान छात्रों को इन टैब/बटनों से परिचित कराया जाएगा। इन टैब/बटनों के बारे में अधिक जानकारी प्रदान करने के लिए STEM लैब में जगह-जगह लिंक भी दिए गए हैं।

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

- सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 डाउनलोड और तैयार हैं।
शिक्षक सुझाव
यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहे हैं, तो वे इस अन्वेषण के दौरान किसी भी समय ट्यूटोरियल का संदर्भ ले सकते हैं।

| मात्रा | आवश्यक सामग्री |
|---|---|
| 1 |
स्पीडबॉट रोबोट |
| 1 |
चार्ज की गई रोबोट बैटरी |
| 1 |
VEXcode V5 |
| 1 |
यूएसबी केबल (यदि कंप्यूटर का उपयोग कर रहे हैं) |
| 1 |
इंजीनियरिंग नोटबुक |
शिक्षक सुझाव
छात्रों के लिए समस्या निवारण के प्रत्येक चरण का प्रदर्शन करें।
चरण 2: एक नया प्रोजेक्ट शुरू करें
प्रोजेक्ट शुरू करने के लिए निम्नलिखित चरणों को पूरा करें:
-
फ़ाइल मेनू खोलें और उदाहरण खोलें चुनें।

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

- चूंकि आप स्पीडबॉट को आगे और पीछे ले जाने पर काम करेंगे, इसलिए आप अपनी परियोजना का नामड्राइव रखेंगे। प्रोजेक्ट का नाम चुनें, 'ड्राइव'टाइप करें और फिर 'सेव' चुनें।

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

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

शिक्षक टूलबॉक्स
-
बचत परियोजनाएं
-
इस बात पर ध्यान दें कि जब उन्होंने पहली बार VEXcode V5 खोला, तो विंडो पर VEXcode प्रोजेक्ट लिखा हुआ था। VEXcode V5 को पहली बार खोलने पर VEXcode प्रोजेक्ट डिफ़ॉल्ट प्रोजेक्ट नाम होता है। प्रोजेक्ट का नाम बदलकर ड्राइव कर दिया गया और उसे सेव कर लिया गया, तो डिस्प्ले अपडेट होकर नया प्रोजेक्ट नाम दिखाने लगा। टूलबार में मौजूद इस विंडो का उपयोग करके, यह आसानी से जांचा जा सकता है कि छात्र सही प्रोजेक्ट का उपयोग कर रहे हैं या नहीं।
-
छात्रों को बताएं कि वे अब अपना पहला प्रोजेक्ट शुरू करने के लिए तैयार हैं। छात्रों को समझाएं कि कुछ सरल चरणों का पालन करके वे एक ऐसा प्रोजेक्ट बना और चला सकेंगे जो स्पीडबॉट को आगे बढ़ाने में सहायक होगा।
-
छात्रों को याद दिलाएं कि वे काम करते समय अपने प्रोजेक्ट को सेव करते रहें। VEX लाइब्रेरी के C++ सेक्शन में VEXcode V5 में सेविंग प्रथाओं के बारे में बताया गया है।
शिक्षक टूलबॉक्स
-
रुकें और चर्चा करें
यह एक अच्छा अवसर है कि छात्र रुकें और व्यक्तिगत रूप से या समूहों में VEXcode V5 में एक नया प्रोजेक्ट शुरू करने के लिए अभी-अभी पूरे किए गए चरणों की समीक्षा करें। छात्रों से कहें कि वे अपने समूह में या पूरी कक्षा के सामने साझा करने से पहले व्यक्तिगत रूप से विचार करें।
चरण 3: आगे बढ़ें
अब आप रोबोट को आगे बढ़ने के लिए प्रोग्राम करना शुरू करने के लिए तैयार हैं!
-
प्रोग्रामिंग शुरू करने से पहले, हमें यह समझना होगा कि निर्देश क्या होता है। निर्देश के तीन भाग होते हैं। निर्देश क्या होता है, इस बारे में अधिक जानकारी के लिए यह लेख देखें

-
निर्देश को प्रोजेक्ट में जोड़ें, ताकि आपका प्रोजेक्ट इस तरह दिखे:
int main() { // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते! vexcodeInit(); // प्रोजेक्ट कोड प्रारंभ करें Drivetrain.driveFor(forward, 100, mm);
शिक्षक सुझाव
निर्देश टाइप करना शुरू करते समय आपको ऑटो-कंप्लीट फंक्शन दिखाई दे सकता है। अपनी पसंद का नाम चुनने के लिए "ऊपर" और "नीचे" कुंजियों का उपयोग करें, फिर चयन को अंतिम रूप देने के लिए अपने कीबोर्ड पर "टैब" या (एंटर/रिटर्न) दबाएं। इस फीचर के बारे में अधिक जानकारी के लिए C++ लेख देखें।

-
रोबोट ब्रेन पर उपलब्ध आठ स्लॉट में से एक को चुनने के लिए स्लॉट आइकन का चयन करें और स्लॉट 1 का चयन करें।

-
V5 रोबोट ब्रेन को माइक्रो यूएसबी केबल का उपयोग करके कंप्यूटर से कनेक्ट करें और V5 रोबोट ब्रेन को चालू करें। टूलबार में ब्रेन आइकनसफल कनेक्शन स्थापित होने पर हरे रंगबदल जाता है।

-
प्रोजेक्ट को ब्रेन में डाउनलोड करने के लिएडाउनलोडचुनें।

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

शिक्षक टूलबॉक्स
-
मॉडल प्रथम
-
सभी छात्रों को एक साथ प्रयास करने देने से पहले, मॉडल कक्षा के सामने प्रोजेक्ट को चलाकर दिखाता है। छात्रों को एक जगह इकट्ठा करें और यदि स्पीडबॉट को फर्श पर रखा जाता है तो उसके चलने-फिरने के लिए पर्याप्त जगह छोड़ दें।
-
छात्रों को बताएं कि अब उनकी परियोजना को आगे बढ़ाने की बारी है। यह सुनिश्चित करें कि उनके लिए एक स्पष्ट मार्ग हो और कोई भी स्पीडबॉट एक दूसरे से न टकराए।
-
प्रोजेक्ट को रोबोट पर चलाएं (C++) यह सुनिश्चित करके कि प्रोजेक्ट चयनित है और फिर रोबोट ब्रेन पररनबटन दबाएं। अपना पहला प्रोजेक्ट बनाने के लिए आपको बहुत-बहुत बधाई!

चरण 4: रिवर्स में गाड़ी चलाएं
अब जब आपने अपने रोबोट को आगे बढ़ने के लिए प्रोग्राम कर दिया है, तो आइए अब इसे पीछे की ओर चलने के लिए प्रोग्राम करें।
-
ड्राइव निर्देश में पैरामीटर को रिवर्स में बदलें, ताकि आपका प्रोजेक्ट इस तरह दिखे:
int main() { // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते! vexcodeInit(); // प्रोजेक्ट कोड प्रारंभ करें Drivetrain.driveFor(forward, 100, mm); } -
प्रोजेक्ट का नाम चुनें और उसेड्राइवसेरिवर्स में बदलें।

-
नया स्लॉट चुनने के लिए स्लॉट आइकन पर क्लिक करें। स्लॉट 2 का चयन करें।

-
प्रोजेक्ट डाउनलोड करें (C++में)।

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

-
प्रोजेक्ट को रोबोट पर चलाएं (C++में) यह सुनिश्चित करके कि प्रोजेक्ट चयनित है और फिर रोबोट ब्रेन पररनबटन दबाएं।

शिक्षक टूलबॉक्स
-
चरण 4 को पूरा करना
-
ड्राइवफॉरकमांड कोफॉरवर्डसेरिवर्समें बदलने के लिए, बस पहले पैरामीटर को -100 में बदल दें। इससे ड्राइवट्रेन में लगे मोटर विपरीत दिशा में घूमने लगेंगे।
-
मिलीमीटर की संख्या को बदला जा सकता है, लेकिन इस उदाहरण के लिए हम इसे पिछले चरण में निर्धारित 100 मिलीमीटर पर ही रहने देंगे।
-
उन्हें याद दिलाएं कि प्रोजेक्ट चलाने से पहले रोबोट ब्रेन से यूएसबी केबल को डिस्कनेक्ट कर दें।
-
छात्रों को याद दिलाएं कि वे काम करते समय अपने प्रोजेक्ट को सेव करते रहें। VEX लाइब्रेरी में C++ के लिए अनुभाग हैं जो VEXcode V5 में बचत प्रथाओं की व्याख्या करते हैं।
चरण 5: प्रतीक्षा करें और फिर गाड़ी को रिवर्स गियर में चलाएं।
अब जबकि हमने रोबोट को आगे और फिर पीछे की ओर चलने के लिए प्रोग्राम कर दिया है, तो अब हम एक प्रतीक्षा निर्देश जोड़ सकते हैं ताकि रोबोट पीछे की ओर चलने से पहले एक निश्चित समय तक प्रतीक्षा करे।
-
ड्राइव फॉर कमांड से पहले वेट निर्देश जोड़ें। सुनिश्चित करें कि Wait कमांड Drive for कमांड से मेल खाने के लिए इंडेंटेड हो, और सभी कमांड कर्ली ब्रेसेस के भीतर हों। यह रोबोट को रिवर्स में गाड़ी चलाने से पहले तीन सेकंड तक इंतजार करने का निर्देश देता है।
प्रतीक्षा करें (3, सेकंड); ड्राइवट्रेन.ड्राइवफॉर (फॉरवर्ड, 100, मिमी); -
प्रोजेक्ट का नाम चुनें और उसे रिवर्स से वेट रिवर्स में बदलें।

-
नया स्लॉट चुनने के लिए स्लॉट आइकन पर क्लिक करें। तीसरा स्लॉट चुनें।

-
प्रोजेक्ट डाउनलोड करें (C++में)।

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

-
प्रोजेक्ट को रोबोट पर चलाएं (C++में) यह सुनिश्चित करके कि प्रोजेक्ट चयनित है और फिररनबटन दबाएं।

शिक्षक टूलबॉक्स
-
चरण 5 को पूरा करना
-
वेट कमांड का उपयोग करने से प्रोजेक्ट समाप्त नहीं होगा, यह केवल रोबोटिक गति को रोक देगा।
-
यदि छात्र कंप्यूटर का उपयोग कर रहे हैं, तो उन्हें प्रोजेक्ट चलाने से पहले रोबोट ब्रेन से यूएसबी केबल को डिस्कनेक्ट करने के लिए याद दिलाएं।
-
छात्रों को याद दिलाएं कि वे काम करते समय अपने प्रोजेक्ट को सेव करते रहें। VEX लाइब्रेरी में C++ के लिए अनुभाग हैं जो VEXcode V5 में बचत प्रथाओं की व्याख्या करते हैं।
चरण 6: बास्केटबॉल ड्रिल चैलेंज पूरा करें!

बास्केटबॉल ड्रिल चैलेंज का लेआउट
बास्केटबॉल ड्रिल्स चैलेंज में, रोबोट को अलग-अलग दूरियों पर स्थित कई रेखाओं पर नेविगेट करने में सक्षम होना चाहिए। रोबोट आगे बढ़कर शुरुआती स्थिति से 10 सेंटीमीटर दूर स्थित पहली लाइन तक जाएगा, 1 सेकंड तक इंतजार करेगा और फिर पीछे की ओर लौटकर उसी लाइन पर वापस आ जाएगा। इसके बाद रोबोट 20 सेंटीमीटर आगे बढ़कर दूसरी लाइन तक जाएगा, 1 सेकंड इंतजार करेगा और फिर वापस शुरुआती लाइन पर लौट आएगा। रोबोट 40 सेंटीमीटर की दूरी तय करके तीसरी लाइन तक आगे बढ़ेगा, 1 सेकंड तक इंतजार करेगा और फिर चुनौती को पूरा करने के लिए अंत में शुरुआती लाइन पर वापस आ जाएगा।
रोबोट को प्रोग्राम करने से पहले, अपनी इंजीनियरिंग नोटबुक में रोबोट के पथ और व्यवहार की योजना बना लें।
बास्केटबॉल चैलेंज पूरा करने के बाद, आप रोबोट के अतिरिक्त व्यवहारों के साथ आगे और पीछे की गतिविधियों को मिलाकर और भी उन्नत चुनौतियों को पूरा कर सकेंगे। प्रोग्रामिंग करते समय
रखें कि 1 सेमी = 10 मिमी।
शिक्षक टूलबॉक्स
-
रुकें और चर्चा करें
छात्रों से कहें कि वे अपने समाधानों को जोड़ियों में साझा करें और फिर पूरी कक्षा के साथ उन पर चर्चा करें। चर्चा को आगे बढ़ाने के लिए निम्नलिखित प्रश्न पूछें:
-
इस चैलेंज को प्रोग्राम करते समय क्या आपको कोई कठिनाई आई?
-
क्या आपके रोबोट ने आपके प्रोजेक्ट के आधार पर आपकी अपेक्षा के अनुरूप व्यवहार किया? क्यों या क्यों नहीं?
-
अगर आपको यह चुनौती दोबारा करने का मौका मिले, तो क्या आप कुछ अलग तरीके से करते?
शिक्षक टूलबॉक्स
-
समाधान
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
// प्रोजेक्ट कोड प्रारंभ करें
// 10 सेमी आगे बढ़ें
Drivetrain.driveFor(forward, 100, mm);
// 1 सेकंड प्रतीक्षा करें
wait(1, seconds);
// प्रारंभिक रेखा पर वापस जाएँ
Drivetrain.driveFor(reverse, 100, mm);
// 20 सेमी आगे बढ़ें
Drivetrain.driveFor(forward, 200, mm);
// 1 सेकंड प्रतीक्षा करें
wait(1, seconds);
// प्रारंभिक रेखा पर वापस जाएँ
Drivetrain.driveFor(reverse, 200, mm);
// 40 सेमी आगे बढ़ें
Drivetrain.driveFor(forward, 400, mm);
// 1 सेकंड प्रतीक्षा करें
wait(1, seconds);
// प्रारंभिक रेखा पर वापस जाएँ
Drivetrain.driveFor(reverse, 400, mm);
}