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

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

शिक्षक युक्तियाँ
-
चूंकि यह प्रोग्रामिंग के साथ एक प्रारंभिक गतिविधि है, इसलिए शिक्षक को चरणों का मॉडल बनाना चाहिए, और फिर छात्रों से वही क्रियाएं पूरी करने के लिए कहना चाहिए। इसके बाद शिक्षक को छात्रों पर निगरानी रखनी चाहिए ताकि यह सुनिश्चित हो सके कि वे चरणों का सही ढंग से पालन कर रहे हैं।
-
सुनिश्चित करें कि छात्रों ने फ़ाइल मेनू से ओपन उदाहरण का चयन किया है।
-
सुनिश्चित करें कि छात्रों ने क्लॉबोट टेम्पलेट (ड्राइवट्रेन 2-मोटर, नो गायरो) उदाहरण परियोजना का चयन किया है।
आप विद्यार्थियों को बता सकते हैं किउदाहरणपृष्ठ पर चुनने के लिए कई विकल्प हैं। जैसे-जैसे वे अन्य रोबोट बनाएंगे और उनका उपयोग करेंगे, उन्हें विभिन्न टेम्पलेट्स का उपयोग करने का अवसर मिलेगा।
-
आप विद्यार्थियों से परियोजना के नाम में अपना आद्याक्षर या अपने समूह का नाम जोड़ने के लिए कह सकते हैं। यदि आप विद्यार्थियों से परियोजनाएं प्रस्तुत करने के लिए कहेंगे तो इससे परियोजनाओं में अंतर करने में मदद मिलेगी।
शिक्षक टूलबॉक्स
-
प्रोजेक्ट सहेजना
-
बता दें कि जब उन्होंने पहली बार VEXcode V5 खोला था, तो विंडो का लेबल MyProject1 था। जब VEXcode V5 पहली बार खोला जाता है तो MyProject1 डिफ़ॉल्ट प्रोजेक्ट नाम होता है। जब प्रोजेक्ट का नाम बदलकर ड्राइव कर दिया गया और उसे सहेज दिया गया, तो नया प्रोजेक्ट नाम दिखाने के लिए डिस्प्ले को अपडेट कर दिया गया। टूलबार में इस विंडो का उपयोग करके यह जांचना आसान है कि छात्र सही प्रोजेक्ट का उपयोग कर रहे हैं या नहीं।
-
विद्यार्थियों को बताएं कि वे अब अपना पहला प्रोजेक्ट शुरू करने के लिए तैयार हैं। छात्रों को समझाएं कि कुछ सरल चरणों का पालन करके, वे एक प्रोजेक्ट बना और चला सकेंगे जो क्लॉबोट की भुजा को ऊपर उठाएगा और नीचे करेगा।
-
विद्यार्थियों को याद दिलाएं कि वे काम करते समय अपने प्रोजेक्ट को सेव कर लें। VEX रोबोटिक्स नॉलेज बेस से यह आलेखVEXcode V5 में बचत प्रथाओं की व्याख्या करता है।
शिक्षक टूलबॉक्स
-
रुकें और चर्चा करें
यह एक अच्छा बिन्दु है कि हम रुकें और विद्यार्थी समूहों से VEXcode V5 में नया प्रोजेक्ट शुरू करने के लिए अभी-अभी पूरे किए गए चरणों की समीक्षा करवाएं।
चरण 3: हाथ को ऊपर ले जाएँ
अब हम हाथ को ऊपर उठाने के लिए प्रोग्रामिंग शुरू करने जा रहे हैं!
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है. दूर नहीं करते!
vexcodeInit();
ArmMotor.setPosition(0, डिग्री);
}- भुजा के लिए प्रारंभिक स्थिति निर्धारित करने के लिए प्रोग्रामिंग क्षेत्र में ऊपर दिखाए अनुसार ArmMotor.setPosition(); निर्देश लिखें।
ArmMotor.setPosition(0, डिग्री);
ArmMotor.spinFor(आगे, 90, डिग्री);- भुजा को ऊपर ले जाने के लिए ऊपर दिखाए अनुसार ArmMotor.setPosition() कमांड के नीचे ArmMotor.spinFor(); निर्देश जोड़ें। सुनिश्चित करें कि स्पिन फॉर को सेट पोजीशन कमांड से मिलान करने के लिए इंडेंट किया गया है, और सभी कमांड कर्ली ब्रेसेज़ के भीतर हैं।
- स्लॉट आइकन पर क्लिक करें. आप अपने प्रोजेक्ट को रोबोट ब्रेन में उपलब्ध स्लॉट में से किसी एक पर डाउनलोड कर सकते हैं। स्लॉट 1 पर क्लिक करें.
- रोबोट को अपने कंप्यूटर या टैबलेट से कनेक्ट करें। सफल कनेक्शन हो जाने के बाद टूलबार में ब्रेन आइकनहराहो जाता है।
- ड्राइव प्रोजेक्ट को रोबोट ब्रेन में डाउनलोड करने के लिए टूलबार परडाउनलोडबटन पर क्लिक करें।
शिक्षक टूलबॉक्स
-
पाठ्य सामग्री में सहायता
-
यदि छात्र कंप्यूटर का उपयोग कर रहे हैं, तो उनसे रोबोट ब्रेन से यूएसबी केबल को डिस्कनेक्ट करने के लिए कहें। किसी प्रोजेक्ट को चलाते समय रोबोट को कंप्यूटर से कनेक्ट करने पर, रोबोट कनेक्शन केबल को खींच सकता है।

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

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

फ्लाइट ट्रैफिक कंट्रोलर चैलेंज में, क्लॉबोट को अपने हाथ को एक बार 90 डिग्री तक ऊपर-नीचे करना होगा, 3 सेकंड तक प्रतीक्षा करनी होगी, हाथ को 45 डिग्री तक दो बार ऊपर-नीचे करना होगा, 5 सेकंड तक प्रतीक्षा करनी होगी, और फिर हाथ को 90 डिग्री तक तीन बार ऊपर-नीचे करना होगा।
क्लॉबोट के व्यवहारों की सूची यहां दी गई है:
- हाथ को 90 डिग्री तक ऊपर और फिर नीचे ले जाएं।
- 3 सेकंड प्रतीक्षा करें.
- हाथ को 45 डिग्री तक ऊपर और फिर नीचे ले जाएं।
- हाथ को 45 डिग्री तक ऊपर और फिर नीचे ले जाएं।
- 5 सेकंड प्रतीक्षा करें.
- हाथ को 90 डिग्री तक ऊपर और फिर नीचे ले जाएं।
- हाथ को 90 डिग्री तक ऊपर और फिर नीचे ले जाएं।
- हाथ को 90 डिग्री तक ऊपर और फिर नीचे ले जाएं।
शिक्षक टूलबॉक्स
-
समाधान
इस चुनौती के अधिकांश निर्देश ArmMotor.spinFor(); हैं। हाथ को ऊपर की ओर ले जाने के लिए एक निर्देश, तथा हाथ को नीचे की ओर ले जाने के लिए एक निर्देश जोड़ने के बाद, आप दोनों निर्देशों को हाइलाइट कर सकते हैं, राइट-क्लिक कर सकते हैं, तथा फिर आवश्यकतानुसार उन्हें कई बार कॉपी और पेस्ट कर सकते हैं। फिर चुनौती को पूरा करने के लिए पैरामीटर्स को बदला जा सकता है और बीच में wait(); निर्देश जोड़े जा सकते हैं।
- उड़ान यातायात नियंत्रक चुनौती समाधान:
// प्रोजेक्ट कोड शुरू करें
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है। दूर नहीं करते!
vexcodeInit();
ArmMotor.setPosition(0, degrees);
ArmMotor.spinFor(forward, 90, degrees);
ArmMotor.spinFor(reverse, 90, degrees);
wait(3, seconds)
ArmMotor.spinFor(forward, 45, degrees);
ArmMotor.spinFor(reverse, 45, degrees);
ArmMotor.spinFor(forward, 45, degrees);
ArmMotor.spinFor(reverse, 45, degrees);
wait(5, seconds)
ArmMotor.spinFor(forward, 90, degrees);
ArmMotor.spinFor(reverse, 90, degrees);
ArmMotor.spinFor(forward, 90, degrees);
ArmMotor.spinFor(reverse, 90, degrees);
ArmMotor.spinFor(आगे, 90, डिग्री);
ArmMotor.spinFor(पीछे, 90, डिग्री);
}