प्रोग्रामिंग द क्लॉ - पायथन
शिक्षक टूलबॉक्स
-
गतिविधि रूपरेखा
-
इस अध्ययन के माध्यम से छात्रों को वी5 क्लॉबॉट के क्लॉ मोटर की बुनियादी प्रोग्रामिंग से परिचित कराया जाएगा।
-
क्लॉ मोटर को प्रोग्राम करना सीखने से छात्रों को यह नियंत्रित करने में मदद मिलती है कि वी5 क्लॉबॉट अपने परिवेश में वस्तुओं को कैसे पकड़ता है।
V5 क्लॉबॉट पकड़ने के लिए तैयार है!
इस अन्वेषण से आपको कुछ ऐसे शानदार प्रोजेक्ट बनाना शुरू करने में मदद मिलेगी जिनमें V5 क्लॉबॉट के पंजे का उपयोग वस्तुओं को पकड़ने के लिए किया जाता है।
- इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 Python कमांड्स में निम्नलिखित शामिल हैं:
- क्लॉ_मोटर.सेट_पोजिशन(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 क्लॉ को खोलने के लिए प्रोग्राम करें
अब हम पंजे को खोलने के लिए प्रोग्राम करना शुरू करेंगे!
# लाइब्रेरी आयात
vex से आयात *
# प्रोजेक्ट कोड प्रारंभ
claw_motor.set_position(0, DEGREES)- क्लॉ के लिए प्रारंभिक स्थिति निर्धारित करने के लिए प्रोग्रामिंग क्षेत्र में ऊपर दिखाए अनुसारclaw_motor.set_position()कमांड लिखें।
क्लॉ_मोटर.सेट_पोजिशन(0, डिग्री)
क्लॉ_मोटर.सेट_टाइमआउट(2, सेकंड)- ऊपर दिखाए अनुसारclaw_motor.set_timeout()कमांड जोड़ें।
- ध्यान दें कि यह निर्देशclaw_motor.spin_for()कमांड से पहले आता है। इसका उद्देश्य यह निर्धारित करना है कि क्लॉ मोटर कितनी देर तक चल सकती है और उस समय के बाद इसे बंद कर देना है। इसलिए, भले ही मोटर पूरी तरह से 60 डिग्री न घूमे, प्रोजेक्ट दो सेकंड बीत जाने के बाद क्लॉ मोटर को रोक देता है।
क्लॉ_मोटर.सेट_पोजिशन(0, डिग्री)
क्लॉ_मोटर.सेट_टाइमआउट(2, सेकंड)
क्लॉ_मोटर.स्पिन_फॉर(रिवर्स, 60, डिग्री)- क्लॉ को 60 डिग्री खोलने के लिए ऊपर दिखाए अनुसारclaw_motor.spin_for()कमांड लिखें।
- V5 रोबोट ब्रेन पर प्रोजेक्ट डाउनलोड करने के लिए स्लॉट का चयन करें। इसके लिए बॉक्स में मौजूद 1 आइकन को चुनें, जिससे सभी उपलब्ध प्रोजेक्ट स्लॉट खुल जाएंगे और आप इच्छित स्लॉट का चयन कर सकते हैं।
- रोबोट को अपने कंप्यूटर या टैबलेट से कनेक्ट करें। टूलबार में ब्रेन आइकनसफल कनेक्शन स्थापित होने के बाद हरे रंगबदल जाता है।
- डिवाइस इन्फो आइकन के बगल में स्थित डाउनलोड आइकन पर क्लिक करके प्रोजेक्ट को V5 रोबोट ब्रेन में डाउनलोड करें।

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

अब जब आप पंजे को खोल सकते हैं, तो आप इसे बंद भी करना चाहेंगे।
- अपने क्लॉ कंट्रोल प्रोजेक्ट पर वापस जाएं और क्लॉ मोटर को 30 डिग्री के लिए बंद घुमाने के लिए एक अतिरिक्तclaw_motor.spin_for()कमांडजोड़ें। पंजा आधा ही बंद होना चाहिए क्योंकि यह मूल रूप से 60 डिग्री तक घूम कर खुल गया था।
- अपने संशोधित प्रोजेक्ट में क्लॉ कंट्रोल प्रोजेक्ट को डाउनलोड और रन करके जांचें कि क्लॉ 60 डिग्री तक खुलता है और फिर 30 डिग्री तक बंद हो जाता है।
शिक्षक टूलबॉक्स
-
समाधान
पहले, क्लॉ 60 डिग्री तक खुलता था। उस परियोजना में एक निर्धारित मोटर टाइमआउट निर्देश शामिल था क्योंकि किसी ऐसे मैनिपुलेटर को चालू करते समय टाइमआउट सेट करना एक महत्वपूर्ण अभ्यास है जिसकी गति किसी तरह से प्रतिबंधित हो सकती है। टाइमआउट सेट करने से मोटर पर अनावश्यक टूट-फूट से बचाव होता है।
इस चरण का हल निम्नलिखित है:
# प्रोजेक्ट कोड प्रारंभ करें
claw_motor.set_position(0, DEGREES)
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(REVERSE, 60, DEGREES)
claw_motor.spin_for(FORWARD, 30, DEGREES)
चरण 5: इसे आजमाएं: कई गतिविधियों को क्रमबद्ध करना

पंजे से उठाई गई हर चीज एक ही आकार की नहीं होगी। पंजे को गति की सीमा के भीतर विभिन्न स्थितियों में खोलने का प्रयास करें।
- मोटर को घुमाएँ ताकि:
- 70 डिग्री के लिए खुला
- 20 डिग्री के लिए बंद करें
- 10 डिग्री के लिए खुला
- 30 डिग्री के लिए बंद करें
- 25 डिग्री के लिए बंद करें
- यदि क्लॉ मोटर 0 डिग्री से शुरू होती है, तो प्रोजेक्ट के अंत में क्लॉ मोटर कितने डिग्री खुली होगी?
- क्लॉ मोटर को बंद करके शुरू करें।
शिक्षक टूलबॉक्स
-
समाधान
इस चरण का समाधान नीचे प्रस्तुत किया गया है।
परियोजना के अंत में क्लॉ मोटर अभी भी 5 डिग्री पर खुली है: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 डिग्री।
# प्रोजेक्ट कोड प्रारंभ करें
# क्लॉ की वर्तमान स्थिति को शून्य मानें
claw_motor.set_position(0, DEGREES)
# क्लॉ का टाइमआउट सेट करें
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(REVERSE, 70, DEGREES)
claw_motor.spin_for(FORWARD, 20, DEGREES)
claw_motor.spin_for(REVERSE, 10, DEGREES)
claw_motor.spin_for(FORWARD, 30, DEGREES)
claw_motor.spin_for(FORWARD, 25, DEGREES)
चरण 6: लॉक टाइट चैलेंज को पूरा करना

लॉक टाइट चैलेंज
- क्लॉबॉट को इस तरह प्रोग्राम करें कि वह खाली 12 औंस के एल्युमिनियम कैन पर अपने पंजे को सुरक्षित रूप से बंद कर दे, बिना उसके किनारों को कुचले।
- क्लॉबॉट को कैन को पकड़े रहने दें जबकि वह अपनी भुजा को 45 डिग्री तक ऊपर और नीचे करे।
- इसके बाद क्लॉबॉट को कैन को छोड़ देना चाहिए और उससे पीछे हट जाना चाहिए।
- इस चुनौती की शुरुआत एक खुले पंजे और उसके अंदर एक खाली डिब्बे के साथ करें।
शिक्षक सुझाव
- छात्रों को एक खुला पंजा और उसके अंदर एक खाली डिब्बा रखकर चुनौती शुरू करने के लिए कहें।
- यदि डिब्बा कुचल जाता है या पंजे से गिर जाता है, तो प्रोजेक्ट को समायोजित करने के बाद चुनौती को फिर से शुरू करना होगा।
शिक्षक टूलबॉक्स
-
समाधान
यहां एक उदाहरण समाधान दिया गया है:
# प्रोजेक्ट कोड प्रारंभ करें
# क्लॉ की वर्तमान स्थिति को शून्य मानें
claw_motor.set_position(0, DEGREES)
# क्लॉ का टाइमआउट सेट करें
claw_motor.set_timeout(2, SECONDS)
claw_motor.spin_for(FORWARD, 170, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
claw_motor.spin_for(REVERSE, 150, DEGREES)
drivetrain.drive_for(REVERSE, 150, MM)