नियंत्रक और लूप - पायथन
नियंत्रक और लूप
प्रतियोगिताओं में, टीमों को नियंत्रकों की मदद से वायरलेस तरीके से अपने रोबोटों को नियंत्रित करना होता है। कंट्रोलर को उपयोगकर्ता से प्राप्त इनपुट के आधार पर रोबोट को अपडेट करने के लिए प्रोग्राम किया गया है। इस प्रोजेक्ट में लूप का उपयोग इसलिए किया जाता है ताकि रोबोट बार-बार अपडेटेड इनपुट जानकारी की जांच कर सके। लूप की मदद से प्रोजेक्ट यह जल्दी से जांच सकता है कि कौन से बटन दबाए गए हैं, या जॉयस्टिक को कितनी दूर तक धकेला गया है। जाँच हो जाने के बाद, यह जानकारी तुरंत रोबोट को भेज दी जाती है ताकि वह नियंत्रक के निर्देशों पर तुरंत प्रतिक्रिया दे सके।
निम्नलिखित में VEXcode V5 से टैंक नियंत्रण उदाहरण परियोजना दिखाई गई है। इस प्रोजेक्ट में while Trueअनंत लूप मोटर्स के वेग को निर्धारित करने के लिए अक्ष 2 और 3 की स्थिति की हमेशा जाँच करता है।
# लाइब्रेरी आयात
vex से आयात *
# प्रोजेक्ट कोड प्रारंभ
# मोटर्स को नियंत्रक अक्ष स्थितियों पर सेट करने के लिए मुख्य नियंत्रक लूप
जबकि सत्य:
left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
left_motor.spin(FORWARD)
right_motor.spin(FORWARD)
wait(5, MSEC)नियंत्रक के बिना स्वायत्त प्रोग्रामिंग के लिए भी लूप महत्वपूर्ण हैं। एक लूप किसी प्रोजेक्ट के भीतर दोहराए जाने वाले आदेशों को सरल और व्यवस्थित करने में मदद करता है।
अपने ज्ञान का विस्तार करें
इस गतिविधि को आगे बढ़ाने के लिए, अपने छात्रों से आर्केड कंट्रोल और टैंक कंट्रोल के बीच के अंतरों का पता लगाने के लिए कहें। छात्र VEXcode V5 में दिए गए उदाहरण प्रोजेक्टों का अनुसरण कर सकते हैं।
इसके चार उदाहरण प्रोजेक्ट हैं: लेफ्ट आर्केड, राइट आर्केड, स्प्लिट आर्केड और टैंक कंट्रोल।
प्रोग्राम के भीतर लूप कैसे काम करते हैं, साथ ही प्रत्येक प्रकार के नियंत्रण के फायदे और नुकसान पर चर्चा करें।
इस गतिविधि को गणित से जोड़ने के लिए, ऊपर दिए गए लेफ्ट/राइट आर्केड (एक जॉयस्टिक) और स्प्लिट आर्केड/टैंक ड्राइव (दोनों जॉयस्टिक) प्रोजेक्ट का उपयोग करके प्रोजेक्ट के भीतर X और Y अक्षों की भूमिकाओं पर चर्चा करें।