पाठ 1: दूरी संवेदक क्या है?
इस पाठ में, आप जानेंगे कि डिस्टेंस सेंसर क्या है, और आप वीआर रोबोट के साथ डिस्टेंस सेंसर का उपयोग क्यों करेंगे। आप यह भी सीखेंगे कि डिस्टेंस सेंसर कैसे काम करता है और VEXcode VR पायथन प्रोजेक्ट में डिस्टेंस सेंसर का उपयोग कैसे किया जाता है।
सीखने के परिणाम
- यह पहचानें कि डिस्टेंस सेंसर, सेंसर और निकटतम वस्तु के बीच की दूरी बताता है।
- यह पहचानें कि डिस्टेंस सेंसर लेजर प्रकाश की एक पल्स को किसी वस्तु से टकराकर वापस सेंसर तक पहुंचने में लगने वाले समय का उपयोग करके दूरी निर्धारित करता है।
- यह पहचानें कि found_objectकमांड एक बूलियन मान रिपोर्ट करता है यदि दूरी सेंसर ने कोई वस्तु पाई है या नहीं।
- पहचानें कि get_distanceकमांड सेंसर से निकटतम वस्तु की दूरी मिलीमीटर (मिमी) या इंच में रिपोर्ट करता है।
- बताइए कि किसी प्रोजेक्ट में डिस्टेंस सेंसर का उपयोग क्यों किया जाएगा।
दूरी सेंसर
डिस्टेंस सेंसर यह पता लगा सकता है कि क्या वीआर रोबोट के सामने कोई वस्तु है, और यदि है, तो वह वस्तु डिस्टेंस सेंसर से कितनी दूर है। यह भूलभुलैया में दीवारों से बार-बार टकराए बिना रास्ता खोजने, किसी वस्तु से बचने या खेल के मैदान में किसी वस्तु या दीवार तक पहुंचने में मददगार हो सकता है।
इस यूनिट में, आप डिस्टेंस सेंसर का उपयोग करेंगे, जो लेजर प्रकाश की पल्स का उपयोग करके वस्तुओं का पता लगाता है। डिस्टेंस सेंसर, वीआर रोबोट पर लगे डिस्टेंस सेंसर के सामने वाले हिस्से और निकटतम वस्तु के बीच की दूरी की जानकारी देता है। वीआर रोबोट की सामने वाली आंख में डिस्टेंस सेंसर लगा होता है। बम्पर सेंसर की तरह ही, वीआर रोबोट निर्णय लेने के लिए डिस्टेंस सेंसर से प्राप्त डेटा का उपयोग कर सकता है।

डिस्टेंस सेंसर लेजर प्रकाश की एक पल्स को किसी वस्तु से टकराकर वापस सेंसर तक पहुंचने में लगने वाले समय का उपयोग करके दूरी की गणना करता है। डिस्टेंस सेंसर का उपयोगवॉल मेज़ प्लेग्राउंड में वीआर रोबोट की दीवारों से दूरी का पता लगाने के लिए किया जा सकता है

दूरी मिली वस्तु कमांड
डिस्टेंस सेंसर का उपयोग यह पता लगाने के लिए किया जा सकता है कि उसके सामने कोई वस्तु (जैसे दीवार) है या नहीं। इस डेटा का उपयोग फिर किसी प्रोजेक्ट में किया जा सकता है ताकि वीआर रोबोट दूरी सेंसर द्वारा किसी वस्तु का पता लगाने पर निर्णय ले सके।
पाइथन प्रोजेक्ट में डिस्टेंस सेंसर की स्थिति की जांच करने के लिए found_object कमांड का उपयोग करें। found_object कमांड बूलियन मान लौटाता है, जो True या False होता है, यह इस बात पर निर्भर करता है कि सेंसर द्वारा किसी वस्तु का पता लगाया गया है या नहीं।
- पाया गया_वस्तुलौटाता है सत्यजब दूरी सेंसर अपने दृश्य क्षेत्र के भीतर और सेंसर से 3000 मिमी के भीतर किसी वस्तु या सतह का पता लगाता है।
- पाया गया_वस्तुलौटाता है गलतजब दूरी सेंसर 3000 मिमी के भीतर किसी वस्तु या सतह का पता नहीं लगाता है।
found_objectकमांड का उपयोग आमतौर पर एक नियंत्रण संरचना के साथ किया जाता है, जैसे कि while लूप, ताकि VR रोबोट दूरी सेंसर से डेटा का उपयोग करके निर्णय ले सके।
जब किसी प्रोजेक्ट में found_object कमांड का उपयोग किया जाता है, तो उपयोग किए जा रहे डिस्टेंस सेंसर को निर्दिष्ट किया जाना चाहिए। वॉल मेज़ प्लेग्राउंडमें, वीआर रोबोट पर केवल फ्रंट डिस्टेंस सेंसर ही उपलब्ध है। जब found_objectकमांड को टूलबॉक्स से किसी प्रोजेक्ट में ड्रैग किया जाता है, तोfound_objectकमांड स्वचालित रूप से उपयोग में आने वाले डिस्टेंस सेंसर को निर्दिष्ट करेगा, जैसा कि यहां दिखाया गया है। नीचे दिए गए वीडियो क्लिप में, टूलबॉक्स में found_object कमांड का चयन किया गया है और उसे वर्कस्पेस में ड्रैग किया गया है। जब यह प्रोजेक्ट में दिखाई देता है, तो कमांड स्वचालित रूप से "front_distance" के रूप में लिखे गए डिवाइस के साथ दिखाई देता है।
दूरी कमांड प्राप्त करें
डिस्टेंस सेंसर किसी वस्तु की दूरी की जानकारी भी दे सकता है और उस मान का उपयोग निर्णय लेने के लिए कर सकता है। get_distanceकमांड वीआर रोबोट के सामने से निकटतम वस्तु की संख्यात्मक दूरी लौटाता है।
दूरी को मिलीमीटर (mm) या इंच में दर्शाने के लिए, पैरामीटर को "MM" या "INCHES" पर सेट करें।
get_distance कमांड का उपयोग अन्य कमांड के साथ किया जा सकता है, जैसे किwhileलूप, किसी प्रोजेक्ट में VR रोबोट को किसी वस्तु से एक निश्चित दूरी दूर (या उसकी ओर) ड्राइव करने का निर्देश देने के लिए, या एक विशिष्ट दूरी की रिपोर्ट होने पर एक क्रिया को पूरा करने के लिए।
जब किसी प्रोजेक्ट में get_distanceकमांड का उपयोग किया जाता है, तो उपयोग किए जा रहे डिस्टेंस सेंसर को निर्दिष्ट किया जाना चाहिए। वॉल मेज़ प्लेग्राउंडमें, वीआर रोबोट पर केवल फ्रंट डिस्टेंस सेंसर ही उपलब्ध है। जब get_distanceकमांड को टूलबॉक्स से किसी प्रोजेक्ट में ड्रैग किया जाता है, तोget_distanceकमांड स्वचालित रूप से उपयोग में आने वाले डिस्टेंस सेंसर को निर्दिष्ट करेगा, जैसा कि यहां दिखाया गया है। नीचे दिए गए वीडियो क्लिप में, टूलबॉक्स में get_distance कमांड का चयन किया गया है और उसे वर्कस्पेस में ड्रैग किया गया है। जब यह प्रोजेक्ट में दिखाई देता है, तो कमांड स्वचालित रूप से "front_distance" के रूप में लिखे गए डिवाइस के साथ दिखाई देता है।
दूरी सेंसर और दीवार भूलभुलैया समस्या
वॉल मेज़ प्रॉब्लम के बारे में सोचते हुए, लक्ष्य यह है कि वीआर रोबोट दीवार से दूर रहते हुए ड्राइव करे। जब वीआर रोबोट किसी दीवार के करीब पहुंचता है, तो उसे दीवार को छुए बिना रुकना या मुड़ना पड़ता है, ताकि वह भूलभुलैया में आगे बढ़ सके। डिस्टेंस सेंसर का उपयोग करके एक वीआर रोबोट किसी वस्तु को छुए बिना उसके पास तक जा सकेगा।
निम्नलिखित वीडियो क्लिप के उदाहरण में, वीआर रोबोट तब तक आगे बढ़ता रहेगा जब तक कि डिस्टेंस सेंसर यह रिपोर्ट नहीं करता कि वह किसी वस्तु से 50 मिलीमीटर से अधिक दूर है। जब यह 50 मिलीमीटर से कम दूरी पर होगा, तो वीआर रोबोट चलना बंद कर देगा। ध्यान दें कि वीआर रोबोट दीवार को नहीं छूता है।
आप देखेंगे कि प्रोजेक्ट चलने के दौरान डैशबोर्ड वास्तविक समय में डिस्टेंस सेंसर द्वारा रिपोर्ट किए गए मान को प्रदर्शित करता है। जब मान से अधिक मिलीमीटर होगा, तो वीआर रोबोट आगे की ओर चलता रहेगा।
जब डिस्टेंस सेंसरमिलीमीटर से कम का मान रिपोर्ट करता है, तो वीआर रोबोट दीवार को छुए बिना उसके पास होता है और चलना बंद कर देता है। 
इस उदाहरण में, get_distanceकमांड का उपयोग तुलना ऑपरेटर के साथ लूप में बूलियन मान लौटाने के लिए किया जाता है। इस इकाई में आप ग्रेटर देन (>) और लेस देन (>) ऑपरेटरों के बारे में और अधिक जानेंगे।