नियंत्रक और लूप - सी++
नियंत्रक और लूप
प्रतियोगिताओं में, टीमों को नियंत्रकों की मदद से वायरलेस तरीके से अपने रोबोटों को नियंत्रित करना होता है। कंट्रोलर को उपयोगकर्ता से प्राप्त इनपुट के आधार पर रोबोट को अपडेट करने के लिए प्रोग्राम किया गया है। इस प्रोजेक्ट में लूप का उपयोग इसलिए किया जाता है ताकि रोबोट बार-बार अपडेटेड इनपुट जानकारी की जांच कर सके। लूप की मदद से प्रोजेक्ट यह जल्दी से जांच सकता है कि कौन से बटन दबाए गए हैं, या जॉयस्टिक को कितनी दूर तक धकेला गया है। जाँच हो जाने के बाद, यह जानकारी तुरंत रोबोट को भेज दी जाती है ताकि वह नियंत्रक के निर्देशों पर तुरंत प्रतिक्रिया दे सके।
निम्नलिखित VEXcode V5 से टैंक ड्राइव उदाहरण प्रोजेक्ट है। इस प्रोजेक्ट मेंफॉरएवरलूप, मोटर्स की गति निर्धारित करने के लिए अक्ष 2 और 3 की स्थिति की लगातार जांच करता है।
// V5 लाइब्रेरी शामिल करें
#include "vex.h"
// VEX लाइब्रेरी के आसान उपयोग की अनुमति देता है
using namespace vex;
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
// प्रोजेक्ट कोड प्रारंभ करें।
// मुख्य नियंत्रक लूप मोटर्स को नियंत्रक अक्ष स्थितियों पर सेट करने के लिए while (true)
(Controller1.Axis3.position(), percent);
RightMotor.setVelocity(Controller1.Axis2.position(), percent);
LeftMotor.spin(forward);
RightMotor.spin(forward);
wait(5, msec);
}
return 0;
}नियंत्रक के बिना स्वायत्त प्रोग्रामिंग के लिए भी लूप महत्वपूर्ण हैं। एक लूप किसी प्रोजेक्ट के भीतर दोहराए जाने वाले आदेशों को सरल और व्यवस्थित करने में मदद करता है।
अपने ज्ञान का विस्तार करें
इस गतिविधि को आगे बढ़ाने के लिए, अपने छात्रों से आर्केड कंट्रोल और टैंक कंट्रोल के बीच के अंतरों का पता लगाने के लिए कहें। छात्र VEXcode V5 में दिए गए उदाहरण प्रोजेक्टों का अनुसरण कर सकते हैं।

इसके चार उदाहरण प्रोजेक्ट हैं: लेफ्ट आर्केड, राइट आर्केड, स्प्लिट आर्केड और टैंक ड्राइव।
प्रोग्राम के भीतर लूप कैसे काम करते हैं, साथ ही प्रत्येक प्रकार के नियंत्रण के फायदे और नुकसान पर चर्चा करें।
इस गतिविधि को गणित से जोड़ने के लिए, ऊपर दिए गए लेफ्ट/राइट आर्केड (एक जॉयस्टिक) और स्प्लिट आर्केड/टैंक ड्राइव (दोनों जॉयस्टिक) प्रोजेक्ट का उपयोग करके प्रोजेक्ट के भीतर X और Y अक्षों की भूमिकाओं पर चर्चा करें।