शिक्षक टूलबॉक्स
-
इस गतिविधि का उद्देश्य
यह गतिविधि छात्रों को while and if then कथनों का उपयोग करके रोबोट को तब तक आगे बढ़ाने से परिचित कराएगी जब तक कि स्क्रीन को दबाया न जाए।
-
यह गतिविधि छात्रों को सशर्त वाक्यों और उन निर्देशों से परिचित कराएगी जिनके तहत स्क्रीन को दबाए बिना रोबोट आगे बढ़ता रहता है।
-
इस गतिविधि में प्रयुक्त if then and if then else कथनों या अन्य कथनों के बारे में अधिक जानकारी के लिए, VEXcode V5 के भीतर सहायता जानकारी देखें। इस अंतर्निर्मित सहायता उपकरण के बारे में अधिक जानकारी के लिए, C++ में सहायता के बारे में इन लेखों को देखें।
क्लॉबॉट फैसले लेने के लिए तैयार है!
यह अन्वेषण आपको कुछ बेहतरीन प्रोजेक्ट बनाने के लिए उपकरण प्रदान करेगा जो if then else स्टेटमेंट का उपयोग करते हैं।
- इस अध्ययन में उपयोग किए जाने वाले VEXcode V5 C++ कमांड:
- ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
- Brain.Screen.pressing()
- ड्राइवट्रेन.स्टॉप();
- यदि (स्थिति){}
- जब तक इंतजार();
- जबकि (स्थिति){}
- प्रतीक्षा करें (1, सेकंड);
आप C++ निर्देशों के बारे में जानने के लिए VEXcode V5 के अंदर सहायता जानकारी उपयोग कर सकते हैं।
सुनिश्चित करें कि आपके पास आवश्यक हार्डवेयर, आपका इंजीनियरिंग नोटबुक और VEXcode V5 तैयार हैं।
| मात्रा | आवश्यक सामग्री |
|---|---|
| 1 |
VEX V5 क्लासरूम स्टार्टर किट (नवीनतम फर्मवेयर के साथ) |
| 1 |
VEXcode V5 (नवीनतम संस्करण, विंडोज, macOS) |
| 1 |
इंजीनियरिंग नोटबुक |
| 1 |
क्लॉबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट |
शिक्षक सुझाव
यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहे हैं, तो वे इस अन्वेषण के दौरान किसी भी समय ट्यूटोरियल का संदर्भ ले सकते हैं। ट्यूटोरियल टूलबार में स्थित हैं।

चरण 1: आइए सशर्त कथनों को समझने से शुरू करें
कंडीशनल स्टेटमेंट के साथ प्रोग्रामिंग शुरू करने से पहले, VEX लाइब्रेरी आर्टिकल पढ़ें जो इफ देन एल्स स्टेटमेंट की व्याख्या करता है। यह लेख जा सकता है
इफ देन एल्स स्टेटमेंट में उपयोग किए जाने वाले ऑपरेटरों की सूची के लिए, बूलियन की व्याख्या करने वाले VEX लाइब्रेरी लेख को पढ़ें। यह लेख जा सकता है
चरण 2: सशर्त कथनों के साथ प्रोग्रामिंग शुरू करें।
-
क्लॉबॉट (ड्राइवट्रेन 2-मोटर, बिना जाइरो) टेम्पलेट उदाहरण प्रोजेक्ट खोलें।

- नीचे दिए गए प्रोजेक्ट को बनाएं।
// प्रोजेक्ट कोड प्रारंभ करें
int main() {
// रोबोट कॉन्फ़िगरेशन प्रारंभ करना। दूर नहीं करते!
vexcodeInit();
while (true) {
Drivetrain.drive(forward);
if (Brain.Screen.pressing()) {
Drivetrain.stop();
waitUntil(!Brain.Screen.pressing());
}
}
} अपनी इंजीनियरिंग नोटबुक में निम्नलिखित कार्य करें:
- बताइए कि इस प्रोजेक्ट में क्लॉबॉट क्या काम करता है। आपको सिर्फ यह बताने से ज्यादा कुछ समझाना होगा कि यह एक स्टॉप बटन बनाता है। बताइए कि कौन से निर्देश क्लॉबॉट को क्या करने के लिए बाध्य करते हैं।
- एक वाक्य में परियोजना के कार्य का सारांश लिखें।
- यह जांचने के लिए परीक्षण करें कि क्या क्लॉबॉट से परियोजना के तहत अपेक्षित कार्यों के बारे में आपकी भविष्यवाणी सही है।
- प्रोजेक्ट को CreatingAStopButton के रूप में सहेजें और डाउनलोड करें और इसे क्लॉबॉट पर स्लॉट 1 में डालें, और फिर इसे चलाएँ।
- प्रोजेक्ट डाउनलोड करने में सहायता के लिए, VEXcode V5 में ट्यूटोरियल देखें जो बताता है कि प्रोजेक्ट डाउनलोड और रन करें (C++)।
- अपने प्रोजेक्ट के स्पष्टीकरणों की जाँच करें और आवश्यकतानुसार उनमें सुधार करने के लिए नोट्स जोड़ें।
शिक्षक टूलबॉक्स
-
उत्तर
इस प्रोजेक्ट में रोबोट लगातार आगे बढ़ता रहता है लेकिन स्क्रीन को दबाने पर रुक जाता है। यह forever स्टेटमेंट का उपयोग करके लगातार ड्राइव और चेक करता है। यदि स्क्रीन को दबाया जा रहा है (TRUE), तो क्लॉबॉट चलना बंद कर देता है।
छात्रों से यह अपेक्षा नहीं की जाती है कि वे समझें कि waitUntil () निर्देश का उपयोग क्यों किया जाता है। समझाएं कि रोबोट के प्रोग्राम प्रवाह की गति के कारण waitUntil () निर्देश आवश्यक है। अगर यह मौजूद नहीं होता, तो क्लॉबॉट के मोटर्स ऐसे व्यवहार करते जैसे कि उपयोगकर्ता प्रोजेक्ट के लूप के दौरान बार-बार स्क्रीन को दबा रहा हो। इसके ,( प्रोग्राम प्रवाह को रोक देता है और उपयोगकर्तास्क्रीन दबाना बंद करने तक प्रोजेक्ट लूप फिर से शुरू नहींहै।
स्यूडोकोड की पंक्ति इतनी सरल हो सकती है: स्क्रीन दबाए जाने तक आगे बढ़ते रहें।
छात्रों की इंजीनियरिंग नोटबुक व्यक्तिगत रूप से (गूगल डॉक .docx .pdf) या टीम के रूप में ( गूगल डॉक ) बनाए रखा जा सकता है और अंक दिए जाहैं पिछले लिंक प्रत्येक दृष्टिकोण के लिए एक अलग मानदंड प्रदान करते हैं। जब भी शैक्षिक योजना में कोई मूल्यांकन मानदंड शामिल किया जाता है, तो गतिविधि शुरू होने से पहले मूल्यांकन मानदंड को समझाना या कम से कम छात्रों को उसकी प्रतियां देना एक अच्छी प्रथा है।
चरण 3: wait until() कथन को समझना।
ध्यान दें कि यदि ब्रेन की स्क्रीन दबाई जाती है, तो प्रोजेक्ट का प्रवाह तेजी से आगे बढ़ता है और प्रोजेक्ट अगले निर्देश पर चला जाएगा, जो कि ड्राइवट्रेन.स्टॉप() निर्देश है।
इस प्रकार, परियोजना को waitUntil() निर्देश की आवश्यकता है जो रोबोट को तब तक रुके रहने के लिए कहता है जब तक कि ब्रेन की स्क्रीन जारी नहीं हो जाती। अन्यथा, हमेशा कथन के कारण परियोजना फिर से शुरू हो जाएगी।
waitUntil(!Brain.Screen.pressing());प्रोजेक्ट के प्रवाह की गति के कारण waitUntil() निर्देश आवश्यक है। अगर वह मौजूद नहीं होता, तो रोबोट को प्रतिक्रिया देने का समय मिलने से पहले ही परियोजना अगले निर्देश पर चली जाती।
चरण 4: प्रोजेक्ट बदलें।
हमारा अगला कदम if then कथन को if then else कथन में बदलना है।
- CreatingAStopButton को नए प्रोजेक्ट के रूप में सहेजें, StopOrDrive.
- यदि आपको प्रोजेक्ट सेव करने में सहायता चाहिए, तो C++ के लिए यहां पर क्लिक करें।
- फिर नीचे दिखाए गए StopOrDrive प्रोजेक्ट को बिल्ड करें।
// प्रोजेक्ट कोड प्रारंभ करें
int main() {
// रोबोट कॉन्फ़िगरेशन प्रारंभ करना। दूर नहीं करते!
vexcodeInit();
while (true) {
ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
if (ब्रेन.स्क्रीन.प्रेसिंग()) {
ड्राइवट्रेन.स्टॉप();
waitUntil(!ब्रेन.स्क्रीन.प्रेसिंग());
}
else {
ड्राइवट्रेन.ड्राइव(फॉरवर्ड);
}
}
} - अपने क्लॉबॉट पर स्लॉट 2 पर स्टॉपऑरड्राइव डाउनलोड करें।
- प्रोजेक्ट डाउनलोड करने में सहायता के लिए, VEXcode V5 में ट्यूटोरियल देखें जो बताता है कि प्रोजेक्ट डाउनलोड और रन करें (C++)।
- टेस्ट स्टॉप बटन बनाना (स्लॉट 1) और फिर टेस्ट स्टॉप या ड्राइव (स्लॉट 2) और उनकी तुलना करके देखें कि रोबोट के व्यवहार में कोई अंतर है या नहीं। अपनी इंजीनियरिंग नोटबुक में किसी भी अंतर को नोट कर लें।
दोनों परियोजनाओं में क्लॉबॉट का व्यवहार एक जैसा है। अंतर केवल if then else स्टेटमेंट के उपयोग में है StopOrDrive प्रोजेक्ट में।
if then else स्टेटमेंट का उपयोग करके आप आगामी गतिविधियों में स्क्रीन पर अतिरिक्त बटन जोड़ सकते हैं।
अपने ज्ञान का विस्तार करें
जैसे-जैसे यह STEM लैब आगे बढ़ेगी, छात्र ऐसे प्रोजेक्ट विकसित करेंगे जो क्लॉबॉट की स्क्रीन को यूजर इंटरफेस के रूप में कार्य करने की अनुमति देंगे। इसकी तैयारी के लिए, छात्रों को चुनौती दें कि वे स्क्रीन पर एक रंगीन आयत बनाना सीखें जो एक बटन की तरह काम करे। क्योंकि वर्तमान में स्क्रीन पर कहीं भी दबाना ही आवश्यक है, इसलिए बटन को पूरी स्क्रीन को कवर करना चाहिए। छात्रों को प्रोजेक्ट शुरू होने पर बटन दबाने के लिए एक इवेंट प्रसारित करना चाहिए। छात्रों को पहले यह सीखने के लिए
करें कि मस्तिष्क की स्क्रीन एक समन्वय प्रणाली में कैसे व्यवस्थित होती है। उन्हें इस बात को समझना होगा ताकि वे अपने द्वारा उपयोग किए जाने वाले निर्देशों में मापदंड निर्धारित कर सकें। उपयोग किए गए निर्देशांक पिक्सेल की संख्या को दर्शाते हैं, न कि कॉलम या पंक्ति की संख्या को। स्क्रीन का लेआउट इस प्रकार है:

छात्रों को अपनी इंजीनियरिंग नोटबुक में इन परिवर्तनों का दस्तावेजीकरण करते हुए परियोजना में इन परिवर्तनों की योजना बनानी चाहिए, उनका परीक्षण करना चाहिए और उन्हें परिष्कृत करना चाहिए। व्यक्तिगत इंजीनियरिंग नोटबुक रूब्रिक के लिए, निम्न में से किसी एक लिंक पर करें (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-अक्ष) पिक्सेल को भरता है।