Skip to main content

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

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

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

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

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

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

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

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

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

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

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

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

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

VEX V5 क्लासरूम स्टार्टर किट (अप-टू-डेट फर्मवेयर के साथ)

1

VEXcode V5 (नवीनतम संस्करण, Windows, macOS)

1

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

1

क्लॉबोट (ड्राइवट्रेन 2-मोटर, कोई गायरो नहीं) टेम्पलेट

शिक्षक युक्तियाँ आइकन शिक्षक युक्तियाँ

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

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

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

इससे पहले कि आप सशर्तों के साथ प्रोग्रामिंग शुरू करें, VEX लाइब्रेरी आलेख पढ़ें जिसमें If Then Else कथनों को समझाया गया है। यह आलेख जा सकता है

VEX लाइब्रेरी से स्क्रीनशॉट, जिसमें VEXcode V5 में if-else कथनों का उपयोग शीर्षक वाला लेख दिखाया गया है। If Then 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 चयनित है।

  • प्रोजेक्ट को CreatingAStopButton के रूप में Clawbot पर स्लॉट 1 में सेव और डाउनलोड करें, और फिर इसे चलाएं।
  • किसी प्रोजेक्ट को डाउनलोड करने में सहायता के लिए, VEXcode V5 में ट्यूटोरियल देखें जो बताता है कि प्रोजेक्ट को कैसे डाउनलोड करें और चलाएं (C++)।
  • परियोजना के बारे में अपने स्पष्टीकरण की जांच करें और आवश्यकतानुसार उन्हें सही करने के लिए नोट्स जोड़ें।

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

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

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

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

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

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

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

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

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

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

चरण 4: परियोजना बदलें.

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

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

  •  CreatingAStopButton नए प्रोजेक्ट के रूप में सहेज कर प्रारंभ करें, StopOrDrive.
  • यदि आपको किसी प्रोजेक्ट को सहेजने में सहायता की आवश्यकता है, तो C++के लिए यहां क्लिक करें।
  • फिर नीचे दिखाए गए StopOrDrive प्रोजेक्ट का निर्माण करें।
// प्रोजेक्ट कोड शुरू करें
int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है। दूर नहीं करते!
  vexcodeInit();

  while (true) {
    Drivetrain.drive(forward);
    if (Brain.Screen.pressing()) {
      Drivetrain.stop();
      waitUntil(!Brain.Screen.pressing());
    } 
    else {
      Drivetrain.drive(forward);
    }   
  }  
}  
  • अपने क्लॉबोट पर स्लॉट 2 के लिए स्टॉपऑरड्राइव डाउनलोड करें।

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

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

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

रोबोट व्यवहार के संबंध में, CreatingAStopButton और StopOrDrive परियोजनाओं के बीच कोई होना चाहिए

यदि छात्रों को If-Else कथनों को समझने में और सहायता की आवश्यकता है, तो यहां पर क्लिक करें

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

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

अपनी शिक्षा का विस्तार करें आइकन अपनी शिक्षा का विस्तार करें

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

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

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

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

// प्रोजेक्ट कोड शुरू करें
event draw = event();

void drawButton() {
  Brain.Screen.setFillColor(red);
  Brain.Screen.drawRectangle(0, 0, 480, 240);
  wait(1, seconds);
}

int main() {
  // रोबोट कॉन्फ़िगरेशन आरंभ कर रहा है। दूर नहीं करते!
  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-अक्ष) पिक्सेल को भर दिया गया है।