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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-
(C++) परियोजना डाउनलोड करें.

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

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

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

-
नया स्लॉट चुनने के लिए स्लॉट आइकन का चयन करें। स्लॉट 3 का चयन करें.
-
(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);
}
शिक्षक टूलबॉक्स
-
रुकें और चर्चा करें
विद्यार्थियों से कहें कि वे अपने समाधान जोड़ियों में बांटें, उसके बाद ही पूरी कक्षा में उन पर चर्चा करें। निम्नलिखित पूछकर चर्चा को सुगम बनाएं:
-
क्या इस चुनौती को प्रोग्राम करते समय आपको किसी कठिनाई का सामना करना पड़ा?
-
क्या आपके रोबोट ने वैसा ही व्यवहार किया जैसा आपने अपने प्रोजेक्ट के आधार पर अपेक्षा की थी? क्यों या क्यों नहीं?
-
यदि आप इस चुनौती को दोबारा कर सकते, तो क्या आप कुछ अलग करते?