मुख्य सामग्री पर जाएं

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - इस गतिविधि का उद्देश्य

यह गतिविधि छात्रों को while and if then कथनों का उपयोग करके रोबोट को तब तक आगे बढ़ाने से परिचित कराएगी जब तक कि स्क्रीन को दबाया न जाए।

  • यह गतिविधि छात्रों को सशर्त वाक्यों और उन निर्देशों से परिचित कराएगी जिनके तहत स्क्रीन को दबाए बिना रोबोट आगे बढ़ता रहता है।

  • इस गतिविधि में प्रयुक्त if then and if then else कथनों या अन्य कथनों के बारे में अधिक जानकारी के लिए, VEXcode V5 के भीतर सहायता जानकारी देखें। इस अंतर्निर्मित सहायता उपकरण के बारे में अधिक जानकारी के लिए, C++  में सहायता के बारे में इन लेखों को देखें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स

इस अनुभाग के लिए शिक्षण रणनीतियों के सुझावों के लिए, टू डू ऑर नॉट टू डू पेसिंग गाइड! (गूगल डॉक / .docx / .pdf ) के डिलीवरी कॉलम की समीक्षा करें!

क्लॉबॉट फैसले लेने के लिए तैयार है!

यह अन्वेषण आपको कुछ बेहतरीन प्रोजेक्ट बनाने के लिए उपकरण प्रदान करेगा जो if then else स्टेटमेंट का उपयोग करते हैं।

  • इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 C++ कमांड: 
    • ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
    • Brain.Screen.pressing()
    • ड्राइवट्रेन.स्टॉप();
    • यदि (स्थिति){}
    • जब तक इंतजार();
    • जबकि (स्थिति){}  
    • प्रतीक्षा करें (1, सेकंड);

आप C++ निर्देशों के बारे में जानने के लिए VEXcode V5 के अंदर सहायता जानकारी उपयोग कर सकते हैं।

VEXcode V5 में बाईं ओर कार्यक्षेत्र में टाइप किए गए कमांड के लिए एक ड्राइव है, और दाईं ओर सहायता जानकारी खुली हुई है। हेल्प बॉक्स में कमांड की परिभाषा और उसके उपयोग के तरीके के बारे में जानकारी दी गई है।

सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 तैयार हैं।

सामग्री की आवश्यकता:
मात्रा आवश्यक सामग्री
1

VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ)

1

VEXcode V5 (नवीनतम संस्करण, विंडोज, macOS)

1

इंजीनियरिंग नोटबुक

1

क्लॉबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट

शिक्षक सुझाव आइकन शिक्षक सुझाव

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

VEXcode V5 टूलबार में ट्यूटोरियल आइकन को लाल बॉक्स में हाइलाइट किया गया है। बाईं ओर से टूलबार में V5 आइकन, एक ग्लोब आइकन, फाइल और फिर ट्यूटोरियल दिखाई देते हैं। दाईं ओर अतिरिक्त आइकन और कार्यक्षमता मौजूद हैं।

चरण 1: आइए सशर्त कथनों को समझने से शुरू करें 

कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग शुरू करने से पहले, VEX लाइब्रेरी आर्टिकल पढ़ें जो इफ देन एल्स स्टेटमेंट की व्याख्या करता है। यह लेख जा सकता है

VEX लाइब्रेरी का स्क्रीनशॉट, जिसमें VEXcode V5 में if-else स्टेटमेंट का उपयोग करने नामक लेख दिखाया गया है। इफ देन एल्स स्टेटमेंट में उपयोग किए जाने वाले ऑपरेटरों की सूची के लिए, बूलियन की व्याख्या करने वाले VEX लाइब्रेरी लेख को पढ़ें। यह लेख जा सकता हैVEX लाइब्रेरी का स्क्रीनशॉट, जिसमें VEXcode V5 में बूलियन का उपयोग शीर्षक वाला एक लेख दिखाया गया है।

चरण 2: सशर्त कथनों के साथ प्रोग्रामिंग शुरू करें।

  • क्लॉबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट उदाहरण प्रोजेक्ट खोलें।

    VEXcode V5 में उदाहरण के तौर पर प्रोजेक्ट चयन में शीर्ष पर टेम्प्लेट फ़िल्टर के चारों ओर एक लाल बॉक्स और क्लॉबॉट ड्राइवट्रेन 2 मोटर नो जाइरो प्रोजेक्ट दिखाया गया है, जो यह दर्शाता है कि कौन सा टेम्प्लेट खोलना है।

     

  • नीचे दिए गए प्रोजेक्ट को बनाएं।
// प्रोजेक्ट कोड प्रारंभ करें
int main() {
  // रोबोट कॉन्फ़िगरेशन प्रारंभ करना। दूर नहीं करते!
  vexcodeInit();

  while (true) {
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      Drivetrain.stop();
      waitUntil(!Brain.Screen.pressing());
    }    
  }  
}  

अपनी इंजीनियरिंग नोटबुक में निम्नलिखित कार्य करें:

  • बताइए कि इस प्रोजेक्ट में क्लॉबॉट क्या काम करता है। आपको सिर्फ यह बताने से ज्यादा कुछ समझाना होगा कि यह एक स्टॉप बटन बनाता है। बताइए कि कौन से निर्देश क्लॉबॉट को क्या करने के लिए बाध्य करते हैं।
  • एक वाक्य में परियोजना के कार्य का सारांश लिखें।
  • यह जांचने के लिए परीक्षण करें कि क्या क्लॉबॉट से परियोजना के तहत अपेक्षित कार्यों के बारे में आपकी भविष्यवाणी सही है।

VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में "क्रिएटिंग अ स्टॉप बटन" लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - उत्तर

इस प्रोजेक्ट में रोबोट लगातार आगे बढ़ता रहता है लेकिन स्क्रीन को दबाने पर रुक जाता है। यह forever स्टेटमेंट का उपयोग करके लगातार ड्राइव और चेक करता है। यदि स्क्रीन को दबाया जा रहा है (TRUE), तो क्लॉबॉट चलना बंद कर देता है।स्टॉप बटन बनाने की परियोजना को कमांड के साथ दिखाया गया है, जिन्हें उनके उद्देश्य के अनुसार लेबल किया गया है। if कमांड को लाल रंग से घेरा गया है और उस पर लिखा है "यह जांचता है कि शर्त सही है या नहीं - स्क्रीन दबाई गई है"। ड्राइवट्रेन डॉट स्टॉप कमांड को 'यदि सत्य हो तो ब्लॉक चलाता है' के रूप में लेबल किया गया है। कमांड को लेबल किए जाने तक प्रतीक्षा करने से प्रोसेसिंग की गति नियंत्रित होती है।

छात्रों से यह अपेक्षा नहीं की जाती है कि वे समझें कि waitUntil () निर्देश का उपयोग क्यों किया जाता है। समझाएं कि रोबोट के प्रोग्राम प्रवाह की गति के कारण waitUntil () निर्देश आवश्यक है। अगर यह मौजूद नहीं होता, तो क्लॉबॉट के मोटर्स ऐसे व्यवहार करते जैसे कि उपयोगकर्ता प्रोजेक्ट के लूप के दौरान बार-बार स्क्रीन को दबा रहा हो। इसके ,( प्रोग्राम प्रवाह को रोक देता है और उपयोगकर्तास्क्रीन दबाना बंद करने तक प्रोजेक्ट लूप फिर से शुरू नहींहै।

स्यूडोकोड की पंक्ति इतनी सरल हो सकती है: स्क्रीन दबाए जाने तक आगे बढ़ते रहें।

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

चरण 3: wait until() कथन को समझना।

ध्यान दें कि यदि ब्रेन की स्क्रीन दबाई जाती है, तो प्रोजेक्ट का प्रवाह तेजी से आगे बढ़ता है और प्रोजेक्ट अगले निर्देश पर चला जाएगा, जो कि ड्राइवट्रेन.स्टॉप() निर्देश है।

इस प्रकार, परियोजना को waitUntil() निर्देश की आवश्यकता है जो रोबोट को तब तक रुके रहने के लिए कहता है जब तक कि ब्रेन की स्क्रीन जारी नहीं हो जाती। अन्यथा, हमेशा कथन के कारण परियोजना फिर से शुरू हो जाएगी।

waitUntil(!Brain.Screen.pressing());

प्रोजेक्ट के प्रवाह की गति के कारण waitUntil() निर्देश आवश्यक है। अगर वह मौजूद नहीं होता, तो रोबोट को प्रतिक्रिया देने का समय मिलने से पहले ही परियोजना अगले निर्देश पर चली जाती।

चरण 4: प्रोजेक्ट बदलें।

हमारा अगला कदम if then कथन को if then else कथन में बदलना है।

VEXcode V5 टूलबार में प्रोजेक्ट नाम डायलॉग बॉक्स में स्टॉप या ड्राइव लिखा हुआ है और यह दर्शाता है कि स्लॉट 1 चयनित है।

// प्रोजेक्ट कोड प्रारंभ करें
int main() {
  // रोबोट कॉन्फ़िगरेशन प्रारंभ करना। दूर नहीं करते!
  vexcodeInit();

  while (true) {
    ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
    if (ब्रेन.स्क्रीन.प्रेसिंग()) {
      ड्राइवट्रेन.स्टॉप();
      waitUntil(!ब्रेन.स्क्रीन.प्रेसिंग());
    } 
    else {
      ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
    }   
  }  
}  
  • अपने क्लॉबॉट पर स्लॉट 2 पर स्टॉपऑरड्राइव डाउनलोड करें।

VEXcode V5 टूलबार में स्लॉट चयन खुला है और स्लॉट 2 चयनित है और इसे लाल बॉक्स से हाइलाइट किया गया है। इस प्रोजेक्ट का नाम है "रुको या चलाओ"।

  • प्रोजेक्ट डाउनलोड करने में सहायता के लिए, VEXcode V5 में ट्यूटोरियल देखें जो बताता है कि प्रोजेक्ट डाउनलोड और रन करें (C++)।
  • टेस्ट स्टॉप बटन बनाना (स्लॉट 1) और फिर टेस्ट स्टॉप या ड्राइव (स्लॉट 2) और उनकी तुलना करके देखें कि रोबोट के व्यवहार में कोई अंतर है या नहीं। अपनी इंजीनियरिंग नोटबुक में किसी भी अंतर को नोट कर लें।

शिक्षक टूलबॉक्स आइकन शिक्षक टूलबॉक्स - उत्तर

रोबोट के व्यवहार के संबंध में, नहीं क्रिएटिंगएस्टॉपबटन और  स्टॉपऑरड्राइव परियोजनाओं के बीच कोई अंतरहोना चाहिए

यदि छात्रों को इफ-एल्स स्टेटमेंट को समझने में और सहायता की आवश्यकता है, तो यहां क्लिक करें ।

दोनों परियोजनाओं में क्लॉबॉट का व्यवहार एक जैसा है। अंतर केवल if then else स्टेटमेंट के उपयोग में है StopOrDrive प्रोजेक्ट में।

 if then else स्टेटमेंट का उपयोग करके आप आगामी गतिविधियों में स्क्रीन पर अतिरिक्त बटन जोड़ सकते हैं।

अपने सीखने का विस्तार करें आइकन अपने ज्ञान का विस्तार करें

जैसे-जैसे यह STEM लैब आगे बढ़ेगी, छात्र ऐसे प्रोजेक्ट विकसित करेंगे जो क्लॉबॉट की स्क्रीन को यूजर इंटरफेस के रूप में कार्य करने की अनुमति देंगे। इसकी तैयारी के लिए, छात्रों को चुनौती दें कि वे स्क्रीन पर एक रंगीन आयत बनाना सीखें जो एक बटन की तरह काम करे। क्योंकि वर्तमान में स्क्रीन पर कहीं भी दबाना ही आवश्यक है, इसलिए बटन को पूरी स्क्रीन को कवर करना चाहिए। छात्रों को प्रोजेक्ट शुरू होने पर बटन दबाने के लिए एक इवेंट प्रसारित करना चाहिए। छात्रों को पहले यह सीखने के लिए
करें कि मस्तिष्क की स्क्रीन एक समन्वय प्रणाली में कैसे व्यवस्थित होती है। उन्हें इस बात को समझना होगा ताकि वे अपने द्वारा उपयोग किए जाने वाले निर्देशों में मापदंड निर्धारित कर सकें। उपयोग किए गए निर्देशांक पिक्सेल की संख्या को दर्शाते हैं, न कि कॉलम या पंक्ति की संख्या को। स्क्रीन का लेआउट इस प्रकार है:

V5 ब्रेन स्क्रीन का पिक्सेल ग्रिड बाईं ओर 12 क्रमांकित पंक्तियाँ दिखाता है, जिसमें सबसे ऊपर वाली पंक्ति को पंक्ति 1 और सबसे नीचे वाली पंक्ति को पंक्ति 12 के रूप में चिह्नित किया गया है। सबसे ऊपर 48 क्रमांकित स्तंभ हैं, जिनमें से स्तंभ 1 सबसे बाईं ओर और स्तंभ 48 सबसे दाईं ओर अंकित है। कुल पिक्सेल माप 480px चौड़ाई और 240 px ऊंचाई है।

छात्रों को अपनी इंजीनियरिंग नोटबुक में इन परिवर्तनों का दस्तावेजीकरण करते हुए परियोजना में इन परिवर्तनों की योजना बनानी चाहिए, उनका परीक्षण करना चाहिए और उन्हें परिष्कृत करना चाहिए। व्यक्तिगत इंजीनियरिंग नोटबुक रूब्रिक के लिए, निम्न में से किसी एक लिंक पर करें (Google Doc / .docx / .pdf), या टीम नोटबुक के लिए निम्न में से किसी एक लिंक पर क्लिक करें (Google Doc / .docx / .pdf)।

यहाँ एक उदाहरण समाधान दिया गया है:

// प्रोजेक्ट कोड प्रारंभ करें
इवेंट ड्रॉ = इवेंट();

शून्य ड्रॉबटन() {
  ब्रेन.स्क्रीन.सेटफिलकलर(लाल);
  ब्रेन.स्क्रीन.ड्रॉरेक्टेंगल(0, 0, 480, 240);
  प्रतीक्षा करें(1, सेकंड);
}

इंट मेन() {
  // रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
  vexcodeInit();

  draw(drawButton);

  while (true) {
    draw.broadcast();
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      waitUntil(!Brain.Screen.pressing());
    } 
    else {
      Drivetrain.drive(forward);
    }   
  }  
}  

जैसा कि आप देख सकते हैं, बटन को (0, 0) मूल बिंदु से शुरू होकर पूरी स्क्रीन को कवर करने के लिए बनाया गया है और यह सभी 480 क्षैतिज (x-अक्ष) पिक्सेल और 240 ऊर्ध्वाधर (y-अक्ष) पिक्सेल को भरता है।