नियंत्रक और लूप - पायथन
नियंत्रक और लूप
प्रतियोगिताओं में, टीमों को नियंत्रकों की सहायता से अपने रोबोटों को वायरलेस तरीके से संचालित करना होता है। नियंत्रक को उपयोगकर्ता से प्राप्त इनपुट के आधार पर रोबोट को अद्यतन करने के लिए प्रोग्राम किया गया है। परियोजना में लूप का उपयोग किया जाता है ताकि रोबोट बार-बार अद्यतन इनपुट जानकारी की जांच कर सके। लूप्स परियोजना को तेजी से यह जांचने की अनुमति देते हैं कि कौन से बटन दबाए गए हैं, या जॉयस्टिक को कितनी दूर तक धकेला गया है। एक बार जांच हो जाने पर, यह जानकारी तुरंत रोबोट को भेज दी जाती है ताकि वह नियंत्रक के निर्देशों पर तुरंत प्रतिक्रिया दे सके।
निम्नलिखित VEXcode V5 से टैंक नियंत्रण उदाहरण परियोजना को दर्शाता है। इस परियोजना में while Trueअनंत लूप मोटरों के वेग को निर्धारित करने के लिए अक्ष 2 और 3 की स्थिति की हमेशा जांच करता है।
# लाइब्रेरी आयात
from vex import *
# प्रोजेक्ट कोड शुरू करें
# मोटर्स को नियंत्रक अक्ष स्थिति
पर सेट करने के लिए मुख्य नियंत्रक लूप while True:
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 में दिए गए उदाहरण परियोजनाओं का अनुसरण कर सकते हैं।
चार उदाहरण परियोजनाएं हैं: लेफ्ट आर्केड, राइट आर्केड, स्प्लिट आर्केड और टैंक कंट्रोल।
चर्चा करें कि प्रोग्राम के अंदर लूप किस प्रकार काम करते हैं, साथ ही प्रत्येक प्रकार के नियंत्रण के फायदे और नुकसान भी बताएं।
इस गतिविधि को गणित से जोड़ने के लिए, परियोजना के भीतर एक्स और वाई अक्षों की भूमिकाओं पर चर्चा करने के लिए ऊपर दिए गए बाएं/दाएं आर्केड (एक जॉयस्टिक) और विभाजित आर्केड/टैंक ड्राइव (दोनों जॉयस्टिक) परियोजनाओं का उपयोग करें।