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

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

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

अब जब आप पंजे को खोल सकते हैं, तो आप इसे बंद भी करना चाहेंगे।
- अपने क्लॉ कंट्रोल प्रोजेक्ट पर वापस जाएं और क्लॉ मोटर को 30 डिग्री तक बंद घुमाने के लिए अतिरिक्तक्लॉ मोटर.स्पिनफॉर();निर्देश जोड़ें पंजा आधा ही बंद होना चाहिए क्योंकि यह मूल रूप से 60 डिग्री तक घूम कर खुल गया था।
- अपने संशोधित प्रोजेक्ट में क्लॉ कंट्रोल प्रोजेक्ट को डाउनलोड और रन करके जांचें कि क्लॉ 60 डिग्री तक खुलता है और फिर 30 डिग्री तक बंद हो जाता है।
शिक्षक टूलबॉक्स
-
समाधान
पहले, क्लॉ 60 डिग्री तक खुलता था। उस परियोजना में एक निर्धारित मोटर टाइमआउट निर्देश शामिल था क्योंकि किसी ऐसे मैनिपुलेटर को चालू करते समय टाइमआउट सेट करना एक महत्वपूर्ण अभ्यास है जिसकी गति किसी तरह से प्रतिबंधित हो सकती है। टाइमआउट सेट करने से मोटर पर अनावश्यक टूट-फूट से बचाव होता है।
इस चरण का समाधान निम्नलिखित है:
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
क्लॉमोटर.सेटपोजीशन(0, डिग्री);
क्लॉमोटर.सेटटाइमआउट(2, सेकंड);
क्लॉमोटर.स्पिनफॉर(रिवर्स, 60, डिग्री);
क्लॉमोटर.स्पिनफॉर(फॉरवर्ड, 30, डिग्री);
}
चरण 5: इसे आजमाएं: कई गतिविधियों को क्रमबद्ध करना

पंजे से उठाई गई हर चीज एक ही आकार की नहीं होगी। पंजे को गति की सीमा के भीतर विभिन्न स्थितियों में खोलने का प्रयास करें।
- मोटर को घुमाएँ ताकि:
- 70 डिग्री के लिए खुला
- 20 डिग्री के लिए बंद करें
- 10 डिग्री के लिए खुला
- 30 डिग्री के लिए बंद करें
- 25 डिग्री के लिए बंद करें
- यदि क्लॉ मोटर 0 डिग्री से शुरू होती है, तो प्रोजेक्ट के अंत में क्लॉ मोटर कितने डिग्री खुली होगी?
- क्लॉ मोटर को बंद करके शुरू करें।
शिक्षक टूलबॉक्स
-
समाधान
इस चरण का समाधान नीचे प्रस्तुत किया गया है।
परियोजना के अंत में क्लॉ मोटर अभी भी 5 डिग्री पर खुली है: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 डिग्री।
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
// पंजे की वर्तमान स्थिति को शून्य मानें
ClawMotor.setPosition(0, degrees);
// पंजे का टाइमआउट सेट करें
ClawMotor.setTimeout(2, seconds);
ClawMotor.spinFor(reverse, 70, degrees);
ClawMotor.spinFor(forward, 20, degrees);
ClawMotor.spinFor(reverse, 10, degrees);
ClawMotor.spinFor(forward, 30, degrees);
ClawMotor.spinFor(forward, 25, degrees);
}
चरण 6: लॉक टाइट चैलेंज को पूरा करना

लॉक टाइट चैलेंज
- क्लॉबॉट को इस तरह प्रोग्राम करें कि वह खाली 12 औंस के एल्युमिनियम कैन पर अपने पंजे को सुरक्षित रूप से बंद कर दे, बिना उसके किनारों को कुचले।
- क्लॉबॉट को कैन को पकड़े रहने दें जबकि वह अपनी भुजा को 45 डिग्री तक ऊपर और नीचे करे।
- इसके बाद क्लॉबॉट को कैन को छोड़ देना चाहिए और उससे पीछे हट जाना चाहिए।
- इस चुनौती की शुरुआत एक खुले पंजे और उसके अंदर एक खाली डिब्बे के साथ करें।
शिक्षक सुझाव
-
छात्रों को एक खुला पंजा और उसके अंदर एक खाली डिब्बा रखकर चुनौती शुरू करने के लिए कहें।
-
यदि डिब्बा कुचल जाता है या पंजे से गिर जाता है, तो प्रोजेक्ट को समायोजित करने के बाद चुनौती को फिर से शुरू करना होगा।
शिक्षक टूलबॉक्स
-
समाधान
यहां एक उदाहरण समाधान दिया गया है:
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
// पंजे की वर्तमान स्थिति को शून्य मानें
ClawMotor.setPosition(0, degrees);
// पंजे का टाइमआउट सेट करें
ClawMotor.setTimeout(2, seconds);
ClawMotor.spinFor(forward, 170, degrees);
ArmMotor.spinFor(forward, 45, degrees);
ArmMotor.spinFor(reverse, 45, degrees);
ClawMotor.spinFor(reverse, 150, degrees);
Drivetrain.driveFor(reverse, 150, mm);
}