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

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

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