दो बटन प्रोग्रामिंग
शिक्षक टूलबॉक्स
-
इस गतिविधि का उद्देश्य
पिछले पृष्ठ पर, छात्र ब्रेन अप बटन का उपयोग करके हाथ को घुमाने के लिए प्रोग्रामिंग कर रहे थे। यह पृष्ठ पिछले प्रोजेक्ट पर आधारित होगा, जिसमें ब्रेन डाउन बटन का उपयोग करके भुजा को नीचे की ओर घुमाने के लिए भी प्रोग्राम किया जाएगा।

यह गतिविधि विद्यार्थियों को [यदि तो अन्यथा] ब्लॉकों के साथ प्रोग्रामिंग से परिचित कराएगी, साथ ही सेंसिंग और ऑपरेटर ब्लॉकों का उपयोग करके रोबोट को यह जांचने में मदद करेगी कि ब्रेन अप या डाउन बटन दबाया गया है या नहीं। यदि ब्रेन अप बटन दबाया जाता है, तो क्लॉबोट का हाथ ऊपर उठ जाएगा। यदि ब्रेन डाउन बटन दबाया जाता है, तो क्लॉबोट का हाथ नीचे आ जाएगा। यह पिछली गतिविधि पर आधारित है और रीथिंक अनुभाग में यूजर इंटरफेस चैलेंज के लिए आधार भी तैयार करेगा।
यूजर इंटरफेस चैलेंज के लिए, छात्रों को अपने क्लॉबोट को आईक्यू रोबोट ब्रेन पर बटन का उपयोग करके हाथ ऊपर उठाने, हाथ नीचे करने, पंजे को खोलने और पंजे को बंद करने के लिए प्रोग्राम करना होगा।
[यदि तो], [यदि तो अन्यथा], <ब्रेन बटन दबाए जाने>, या [स्पिन] ब्लॉकों के बारे में अधिक जानकारी के लिए, VEXcode IQ के भीतर सहायता जानकारी पर जाएं। इस अंतर्निहित सहायता टूल के बारे में अधिक जानकारी के लिए, यहां क्लिक करें .
इस गतिविधि में आपके छात्र क्या करेंगे, इसकी रूपरेखा निम्नलिखित है:
- उपलब्ध कराए गए ArmUpDown प्रोजेक्ट को बनाने के लिए मौजूदा ArmUp2 का उपयोग करें और अनुमान लगाएं कि प्रोजेक्ट क्या करेगा।
- परियोजना में ब्लॉकों के प्रवाह को समझाने में सहायता के लिए फ्लोचार्ट देखें।
- आर्मअपडाउन परियोजना क्या करती है, इसके बारे में अपने स्पष्टीकरण को परिष्कृत करें।
- यदि तो अन्यथा ब्लॉक ट्यूटोरियल वीडियो देखें।
- [यदि तो अन्यथा] ब्लॉक का उपयोग करके अपने प्रोजेक्ट को संपादित करें।
- रुकें और चर्चा करें: छात्र अपने पूर्वानुमानों पर विचार करेंगे कि परियोजना में क्लॉबोट क्या करेगा, इसकी तुलना उनके वास्तविक अवलोकनों से की जाएगी।
- हाथ की प्रोग्रामिंग से संबंधित परियोजना रूपरेखा का उपयोग करते हुए पंजे की प्रोग्रामिंग करें।
| मात्रा | आवश्यक सामग्री |
|---|---|
| 1 |
VEX IQ सुपर किट |
| 1 |
VEXcode IQ |
| 1 |
इंजीनियरिंग नोटबुक |
| 1 |
क्लॉबोट (ड्राइवट्रेन) टेम्पलेट |
क्लॉबोट भुजा ऊपर और नीचे जाने के लिए तैयार है!
यह गतिविधि आपको अपने रोबोट को सशर्त व्यवहारों के साथ प्रोग्राम करने के लिए उपकरण प्रदान करेगी।
[यदि तो अन्यथा] ब्लॉक गतिविधि के भीतर मुख्य फोकस है, लेकिन अन्य सेंसिंग, नियंत्रण और ऑपरेटर ब्लॉक भी उपयोग किए जाते हैं।

आप ब्लॉकों के बारे में जानने के लिए VEXcode IQ के अंदर सहायता जानकारी का उपयोग कर सकते हैं। सहायता सुविधा का उपयोग करने में मार्गदर्शन के लिए, सहायता का उपयोग करना ट्यूटोरियल देखें।

चरण 1: हाथ को नीचे ले जाने के लिए प्रोग्रामिंग।
पिछले पृष्ठ में, आपने ब्रेन अप बटन दबाने पर क्लॉबोट की भुजा को घूमने के लिए प्रोग्राम किया था। लेकिन, हाथ नीचे करने के बारे में क्या? आइये सबसे पहले पिछले ArmUp2 प्रोजेक्ट पर पुनः नजर डालें।

क्या हाथ को ऊपर घुमाने के लिए उसी [यदि तो] ब्लॉक का उपयोग करना संभव होगा ताकि हाथ को नीचे भी घुमाया जा सके? आइये इसे आज़माएँ! अपने पहले से मौजूद ArmUp2 प्रोजेक्ट को संपादित करके नीचे दिए गए प्रोजेक्ट का निर्माण करें।

-
प्रोजेक्ट को ArmUpDown के रूप में सहेजें. यदि छात्रों को प्रोजेक्ट को सहेजने में सहायता की आवश्यकता हो, तो नामकरण और सहेजने संबंधी ट्यूटोरियल देखें।

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

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

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

इस प्रकार, परियोजना [यदि तो] ब्लॉक को [यदि तो अन्यथा] ब्लॉक से प्रतिस्थापित कर सकती है ताकि किसी भी समय केवल एक ही उदाहरण सत्य हो सके।
[यदि तो अन्यथा] ब्लॉक पर निम्नलिखित ट्यूटोरियल वीडियो देखें:
VEXcode IQ में If-Then-Else ट्यूटोरियल वीडियो देखकर शुरुआत करें।

[यदि तो अन्यथा] ब्लॉक का उपयोग करने से [प्रतीक्षा करें] ब्लॉक की आवश्यकता भी समाप्त हो जाएगी, क्योंकि ब्रेन अप बटन जारी होने तक भुजा ऊपर की ओर घूमती रहेगी। ऐसा इसलिए होता है क्योंकि [यदि तो अन्यथा] का "अन्यथा" भाग तब तक नहीं पहुंचता जब तक कि ब्रेन अप बटन की स्थिति गलत (रिलीज़) न हो।
[हमेशा के लिए] ब्लॉक पहली स्थिति को लगातार जांचने की अनुमति देता है।

आइए [यदि तो अन्यथा] ब्लॉक जोड़कर परियोजना में परिवर्तन का पता लगाएं। आर्म मोटर अब तब तक घूमती रहेगी जब तक ब्रेन अप बटन को दबाया (रिलीज़) नहीं किया जाता। [हमेशा] ब्लॉक के कारण, यह स्थिति तब तक जाँची जाती रहेगी जब तक कि यह गलत न हो जाए।
एक बार ब्रेन अप बटन की स्थिति गलत हो जाने पर, परियोजना अगले ब्लॉक पर जारी रहेगी, जो ब्रेन डाउन बटन दबाए जाने पर स्थिति की जाँच करना है। यदि ब्रेन डाउन बटन के दबाए जाने की स्थिति सही है, तो हाथ ऊपर की ओर घूमेगा। पुनः, [हमेशा] ब्लॉक के कारण, यह स्थिति तब तक जाँची जाती रहेगी जब तक कि यह गलत न हो जाए।
एक बार ब्रेन अप बटन की स्थिति गलत हो जाने पर, परियोजना अगले ब्लॉक पर जारी रहेगी, जो कि [स्टॉप मोटर] ब्लॉक है। इस प्रकार, आर्म मोटर केवल तभी बंद होगी जब दोनों स्थितियाँ गलत हों (कोई भी बटन दबाया न गया हो)।

चर्चा को प्रेरित करें
प्रश्न: यदि ब्रेन अप बटन दबाए जाने की स्थिति FALSE (रिलीज़) है, तो प्रोजेक्ट प्रवाह की प्रगति क्या है?
उत्तर: यदि स्थिति गलत है, तो प्रोजेक्ट प्रवाह ब्रेन डाउन बटन दबाए जाने की स्थिति की जाँच करना जारी रखेगा।
प्रश्न: उपरोक्त परियोजना में [यदि तो अन्यथा] ब्लॉक का उद्देश्य क्या है?
उत्तर: [यदि तो अन्यथा] ब्लॉक का उपयोग करने से एक समय में केवल एक ही उदाहरण सत्य हो सकता है। इस प्रकार, ब्रेन अप बटन और ब्रेन डाउन बटन एक ही समय में [यदि तो अन्यथा] ब्लॉक का उपयोग करके सत्य नहीं हो सकते, क्योंकि ब्रेन डाउन बटन को दबाए जाने की दूसरी स्थिति तब तक विकल्प नहीं होगी जब तक कि ब्रेन अप बटन को दबाए जाने की पहली स्थिति गलत न हो। दूसरा उद्देश्य प्रोग्रामिंग दक्षता में सुधार करना है।
प्रश्न: यदि ऊपर और नीचे बटन दबाए जाने की दोनों स्थितियाँ गलत हैं तो प्रोजेक्ट प्रवाह की प्रगति क्या होगी?
उत्तर: यदि दोनों स्थितियाँ गलत हैं, तो प्रोजेक्ट प्रवाह हमेशा के लिए दोहराते हुए स्टैक के शीर्ष पर लौटने से पहले [मोटर रोकें] ब्लॉक तक जारी रहेगा।
चरण 3: प्रोग्रामिंग [यदि तो अन्यथा] ब्लॉक के साथ।
आइये [If then else] ब्लॉक का उपयोग करें:
-
अपने ArmUpDown प्रोजेक्ट में [If then else] ब्लॉक जोड़ें ताकि आपका प्रोजेक्ट निम्नलिखित जैसा दिखे:

-
प्रोजेक्ट को ArmUpDown2 के रूप में सहेजें. यदि छात्रों को प्रोजेक्ट को सहेजने में सहायता की आवश्यकता हो, तो नामकरण और सहेजने संबंधी ट्यूटोरियल देखें।

- प्रोजेक्ट को क्लॉबोट पर स्लॉट 4 पर डाउनलोड करें, और फिर इसे चलाएं।
- किसी प्रोजेक्ट को डाउनलोड करने और चलाने में सहायता के लिए, VEXcode IQ में ट्यूटोरियल देखें जो बताता है कि किसी प्रोजेक्ट को डाउनलोड और चलाया जाए।

- यह देखने के लिए परीक्षण करें कि क्या ब्रेन अप बटन दबाने पर भुजा ऊपर की ओर घूमेगी और ब्रेन डाउन बटन दबाने पर नीचे की ओर घूमेगी।
- सत्यापित करें कि जब ब्रेन अप और डाउन बटन को दबाया (रिलीज़) नहीं किया जाता है तो आर्म मोटर बंद हो जाती है।
- अपने प्रोजेक्ट में if then else ब्लॉक जोड़ने से पहले और बाद में क्लॉबोट ने किस प्रकार व्यवहार किया, इस बारे में अपने अवलोकन अपनी इंजीनियरिंग नोटबुक में लिखें।
शिक्षक टूलबॉक्स
-
रुकें और चर्चा करें
जब छात्र [यदि तो अन्यथा] ब्लॉक जोड़ने से पहले और बाद में परियोजना का परीक्षण कर लें, तो छात्रों के साथ चर्चा करें कि यह ब्रेन अप बटन जारी होने तक हाथ को कैसे घूमना जारी रखने की अनुमति देता है। विद्यार्थियों से उनकी इंजीनियरिंग नोटबुक से अपने अवलोकन साझा करने को कहें। निम्नलिखित प्रश्न पूछकर चर्चा को सुगम बनाएं:
-
क्या आप देखते हैं कि क्लॉबोट [यदि तो अन्यथा] ब्लॉकों की तुलना में [यदि तो अन्यथा] ब्लॉकों का उपयोग करने के बीच अलग-अलग व्यवहार कर रहा है?
-
आपके अनुसार कार्यक्रम की दक्षता क्यों महत्वपूर्ण है?
-
क्या प्रोजेक्ट में ब्रेन अप बटन की स्थिति की जांच केवल एक बार की जाती है?
छात्रों की इंजीनियरिंग नोटबुक को बनाए रखा जा सकता है और व्यक्तिगत रूप से स्कोर किया जा सकता है (Google / .docx / .pdf) या एक टीम के रूप में (Google / .docx / .pdf)। पिछले लिंक प्रत्येक दृष्टिकोण के लिए अलग रूब्रिक प्रदान करते हैं। जब भी शैक्षिक योजना में किसी रूब्रिक को शामिल किया जाता है, तो गतिविधि शुरू होने से पहले छात्रों को रूब्रिक समझाना या कम से कम उसकी प्रतियां देना अच्छा अभ्यास है।
शिक्षक टूलबॉक्स
छात्रों को यह देखने में ज्यादा अंतर नहीं दिखता कि उनका क्लॉबोट [यदि तो अन्यथा] ब्लॉकों की तुलना में [यदि तो अन्यथा] ब्लॉकों का उपयोग करने पर कैसे व्यवहार करता है। यदि विद्यार्थी शारीरिक रूप से कोई खास अंतर नहीं देख पाते हैं, तो प्रोग्रामिंग दक्षता के बारे में चर्चा कराएं तथा बताएं कि कैसे किसी प्रोजेक्ट को सरल बनाने से कम ब्लॉकों का उपयोग हो सकता है। किसी परियोजना में कम ब्लॉकों का उपयोग करने से संभावित त्रुटियों की मात्रा कम हो सकती है।
चरण 4: पंजे की प्रोग्रामिंग।
पिछले चरण में, [यदि तो अन्यथा] ब्लॉकों का उपयोग करके परियोजना को अधिक कुशलता से चलाने के लिए अनुकूलित किया गया था। पिछले उदाहरण में, ब्रेन अप और डाउन बटन का उपयोग करके हाथ में हेरफेर किया गया था।
ठीक उसी प्रोजेक्ट रूपरेखा का उपयोग करके, पंजे में भी हेरफेर किया जा सकता है।
-
ArmUpDown2 परियोजना की समीक्षा करें और ड्रॉपडाउन मेनू का उपयोग करके [स्पिन] ब्लॉक को ArmMotor के बजाय ClawMotor में बदलें।
ड्रॉपडाउन मेनू का उपयोग करके सुनिश्चित करें कि ब्रेन अप बटन क्लॉ को "खोलता" है और ब्रेन डाउन बटन क्लॉ को "बंद" करता है।
-
प्रोजेक्ट को ClawUpDown के रूप में सहेजें. यदि छात्रों को प्रोजेक्ट को सहेजने में सहायता की आवश्यकता हो, तो नामकरण और सहेजने संबंधी ट्यूटोरियल देखें।

- प्रोजेक्ट को क्लॉबोट पर स्लॉट 1 पर डाउनलोड करें, और फिर इसे चलाएं।
- किसी प्रोजेक्ट को डाउनलोड करने और चलाने में सहायता के लिए, VEXcode IQ में ट्यूटोरियल देखें जो बताता है कि किसी प्रोजेक्ट को डाउनलोड और चलाया जाए।

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

सेट मोटर स्टॉपिंग ब्लॉक में तीन सेटिंग्स हैं:
- ब्रेक के कारण मोटर तुरन्त रुक जाती है।
- कोस्ट मोटर को धीरे-धीरे घुमाकर रुकने देता है।
- होल्ड से मोटर तुरंत रुक जाती है और यदि उसे हिलाया जाए तो वह अपनी रुकी हुई स्थिति में वापस आ जाती है।