विषयसूची:

लेज़र और कैमरे का उपयोग करके रेंजफाइंडर बनाना: 6 कदम
लेज़र और कैमरे का उपयोग करके रेंजफाइंडर बनाना: 6 कदम

वीडियो: लेज़र और कैमरे का उपयोग करके रेंजफाइंडर बनाना: 6 कदम

वीडियो: लेज़र और कैमरे का उपयोग करके रेंजफाइंडर बनाना: 6 कदम
वीडियो: Laser distance meter से दूरी कैसे नापे, DTAPE D3 rangefinder review in hindi ( हिन्दी में) 2024, नवंबर
Anonim
लेजर और कैमरे का उपयोग करके रेंजफाइंडर बनाना
लेजर और कैमरे का उपयोग करके रेंजफाइंडर बनाना

मैं वर्तमान में अगले वसंत के लिए कुछ आंतरिक कार्य की योजना बना रहा हूं लेकिन जैसा कि मैंने अभी एक पुराना घर हासिल किया है, मेरे पास कोई घर की योजना नहीं है। मैंने एक रूलर का उपयोग करके दीवार से दीवार की दूरी को मापना शुरू किया लेकिन यह धीमा और त्रुटि प्रवण है। मैंने प्रक्रिया को आसान बनाने के लिए रेंजफाइंडर खरीदने के बारे में सोचा लेकिन फिर मुझे लेजर और कैमरे का उपयोग करके अपना रेंजफाइंडर बनाने के बारे में एक पुराना लेख मिला। जैसा कि यह पता चला है, मेरे पास मेरी कार्यशाला में वे घटक हैं।

परियोजना इस लेख पर आधारित है:

अंतर केवल इतना है कि मैं रास्पबेरी पाई ज़ीरो डब्ल्यू, एक एलसीडी और रास्पबेरी पाई कैमरा मॉड्यूल का उपयोग करके रेंजफाइंडर का निर्माण करूंगा। मैं लेजर को ट्रैक करने के लिए ओपनसीवी का भी उपयोग करूंगा।

मुझे लगता है कि आप तकनीक के जानकार हैं और आप पायथन और कमांड लाइन का उपयोग करने में सहज हैं। इस परियोजना में मैं पीआई का उपयोग हेडलेस मोड में कर रहा हूं।

चलो शुरू करते हैं!

चरण 1: सामग्री की सूची

इस परियोजना के लिए आपको आवश्यकता होगी:

  • एक सस्ता 6mm 5mW लेजर
  • एक २२० रोकनेवाला
  • एक 2N2222A ट्रांजिस्टर या कुछ समकक्ष
  • रास्पबेरी पाई जीरो डब्ल्यू
  • रास्पबेरी पाई कैमरा v2
  • Nokia 5110 LCD डिस्प्ले या समकक्ष
  • कुछ जम्पर तार और एक छोटा ब्रेडबोर्ड

मैंने अपने ३डी प्रिंटर का इस्तेमाल जिग को प्रिंट करने के लिए किया जिससे मुझे प्रयोगों के दौरान मदद मिली। मैं रेंज फाइंडर के लिए एक पूर्ण संलग्नक बनाने के लिए 3 डी प्रिंटर का उपयोग करने की भी योजना बना रहा हूं। आप बिना पूरी तरह से कर सकते हैं।

चरण 2: एक लेजर और कैमरा जिगो का निर्माण

एक लेजर और कैमरा जिगो का निर्माण
एक लेजर और कैमरा जिगो का निर्माण
एक लेजर और कैमरा जिगो का निर्माण
एक लेजर और कैमरा जिगो का निर्माण
एक लेजर और कैमरा जिगो का निर्माण
एक लेजर और कैमरा जिगो का निर्माण

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

मैंने कैमरे के लिए माउंट बनाने के लिए कैमरा मॉड्यूल आयामों का उपयोग किया। मैंने माप लेने के लिए मुख्य रूप से एक डिजिटल कैलीपर और एक सटीक शासक का उपयोग किया। लेज़र के लिए, मैंने यह सुनिश्चित करने के लिए कि लेज़र हिल नहीं जाएगा, मैंने थोड़ा सुदृढीकरण के साथ 6 मिमी का छेद बनाया। मैंने जिग के पीछे एक छोटा ब्रेडबोर्ड लगाने के लिए पर्याप्त जगह रखने की कोशिश की।

मैंने निर्माण के लिए टिंकरकाड का उपयोग किया, आप यहां मॉडल पा सकते हैं:

लेजर लेंस के केंद्र और कैमरा लेंस के केंद्र के बीच 3.75 सेमी की दूरी होती है।

चरण 3: लेजर और एलसीडी चलाना

लेजर और एलसीडी ड्राइविंग
लेजर और एलसीडी ड्राइविंग
लेजर और एलसीडी ड्राइविंग
लेजर और एलसीडी ड्राइविंग

मैंने रास्पबेरी पाई ज़ीरो के साथ एलसीडी डिस्प्ले को चलाने के लिए इस ट्यूटोरियल https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi का अनुसरण किया। /boot/config.txt फ़ाइल को संपादित करने के बजाय आप कमांड लाइन के माध्यम से sudo raspi-config का उपयोग करके SPI इंटरफ़ेस को सक्षम कर सकते हैं।

मैं रास्पबेरी पाई ज़ीरो का उपयोग हेडलेस मोड में नवीनतम, तारीख पर, रास्पियन स्ट्रेच का उपयोग करके कर रहा हूं। मैं इस निर्देश में इंस्टॉलेशन को कवर नहीं करूंगा, लेकिन आप इस गाइड का अनुसरण कर सकते हैं: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- कमांड-लाइन-या-उपयोग-द-नेटवर्क-97f065af722e

एक चमकदार लेज़र डॉट रखने के लिए, मैं पाई की 5V रेल का उपयोग कर रहा हूँ। उसके लिए, मैं GPIO का उपयोग करके लेजर को चलाने के लिए एक ट्रांजिस्टर (2N2222a या समकक्ष) का उपयोग करूंगा। ट्रांजिस्टर के आधार पर एक 220 रोकनेवाला लेजर के माध्यम से पर्याप्त धारा की अनुमति देता है। मैं पीआई जीपीआईओ में हेरफेर करने के लिए आरपीआई.जीपीआईओ का उपयोग कर रहा हूं। मैंने ट्रांजिस्टर के आधार को GPIO22 पिन (15 वां पिन), एमिटर को जमीन से और कलेक्टर को लेजर डायोड से जोड़ा।

कमांड लाइन के माध्यम से sudo raspi-config का उपयोग करके कैमरा इंटरफ़ेस को सक्षम करना न भूलें।

आप अपने सेटअप का परीक्षण करने के लिए इस कोड का उपयोग कर सकते हैं:

अगर सब कुछ ठीक रहा तो आपके पास एक dot-j.webp

कोड में, हम कैमरा और GPIO सेटअप करते हैं, फिर हम लेज़र को सक्षम करते हैं, हम छवि को कैप्चर करते हैं, और हम लेज़र को अक्षम करते हैं। चूंकि मैं पीआई को हेडलेस मोड में चला रहा हूं, इसलिए मुझे छवियों को दिखाने से पहले अपने पीआई से अपने कंप्यूटर पर कॉपी करना होगा।

इस बिंदु पर, आपका हार्डवेयर कॉन्फ़िगर किया जाना चाहिए।

चरण 4: OpenCV का उपयोग करके लेजर का पता लगाना

सबसे पहले, हमें पाई पर OpenCV स्थापित करना होगा। आपके पास मूल रूप से इसे करने के तीन तरीके हैं। आप या तो पुराने पैकेज्ड संस्करण को उपयुक्त के साथ स्थापित कर सकते हैं। आप अपने इच्छित संस्करण को संकलित कर सकते हैं लेकिन इस मामले में स्थापना का समय 15 घंटे तक जा सकता है और इसमें से अधिकांश वास्तविक संकलन के लिए है। या, मेरा पसंदीदा दृष्टिकोण, आप पाई ज़ीरो के लिए एक पूर्व-संकलित संस्करण का उपयोग कर सकते हैं जो किसी तीसरे पक्ष द्वारा प्रदान किया जाता है।

क्योंकि यह सरल और तेज़ है, मैंने तीसरे पक्ष के पैकेज का उपयोग किया। आप इस लेख में स्थापना चरण पा सकते हैं: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ मैंने कई अन्य स्रोतों की कोशिश की लेकिन उनके पैकेज अद्यतित नहीं थे।

लेज़र पॉइंटर को ट्रैक करने के लिए, मैंने USB डिवाइस के बजाय Pi कैमरा मॉड्यूल का उपयोग करने के लिए https://github.com/bradmontgomery/python-laser-tracker से कोड अपडेट किया। यदि आपके पास Pi कैमरा मॉड्यूल नहीं है और आप USB कैमरा का उपयोग करना चाहते हैं तो आप सीधे कोड का उपयोग कर सकते हैं।

आप यहां पूरा कोड पा सकते हैं:

इस कोड को चलाने के लिए आपको पायथन पैकेज स्थापित करने की आवश्यकता होगी: तकिया और पिकामेरा (सुडो पाइप 3 तकिया पिकामेरा स्थापित करें)।

चरण 5: रेंज फाइंडर का अंशांकन

रेंज फाइंडर का अंशांकन
रेंज फाइंडर का अंशांकन
रेंज फाइंडर का अंशांकन
रेंज फाइंडर का अंशांकन
रेंज फाइंडर का अंशांकन
रेंज फाइंडर का अंशांकन

मूल लेख में, लेखक ने y निर्देशांक को वास्तविक दूरी में बदलने के लिए आवश्यक पैरामीटर प्राप्त करने के लिए एक अंशांकन प्रक्रिया तैयार की। मैंने कैलिब्रेशन और क्राफ्ट के पुराने टुकड़े के लिए अपने लिविंग रूम टेबल का इस्तेमाल किया। हर 10 सेमी या तो मैंने एक स्प्रेडशीट में x और y निर्देशांक नोट किए: https://docs.google.com/spreadsheets/d/1OTGu09GLat… यह सुनिश्चित करने के लिए कि सब कुछ सही ढंग से काम करता है, हर कदम पर, मैंने यह देखने के लिए कैप्चर की गई छवियों की जाँच की कि क्या लेजर सही ढंग से ट्रैक किया गया था। यदि आप हरे रंग के लेज़र का उपयोग करते हैं या यदि आपके लेज़र को सही तरीके से ट्रैक नहीं किया गया है, तो आपको प्रोग्राम के रंग, संतृप्ति और मूल्य सीमा को तदनुसार समायोजित करने की आवश्यकता होगी।

एक बार माप चरण हो जाने के बाद, यह वास्तव में मापदंडों की गणना करने का समय है। लेखक की तरह मैंने एक रेखीय प्रतिगमन का उपयोग किया; वास्तव में Google स्प्रेडशीट ने मेरे लिए काम किया। फिर मैंने अनुमानित दूरी की गणना करने और वास्तविक दूरी के विरुद्ध इसकी जांच करने के लिए उन मानकों का पुन: उपयोग किया।

अब दूरी मापने के लिए रेंजफाइंडर प्रोग्राम में मापदंडों को इंजेक्ट करने का समय आ गया है।

चरण 6: दूरियों को मापना

मापने की दूरी
मापने की दूरी

कोड में: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c मैंने अंशांकन माप के अनुसार चर HEIGHT, GAIN और OFFSET को अपडेट किया। मैंने दूरी का अनुमान लगाने के लिए मूल लेख में दूरी सूत्र का उपयोग किया और मैंने एलसीडी डिस्प्ले का उपयोग करके दूरी को मुद्रित किया।

कोड पहले कैमरा और GPIO को सेटअप करेगा, फिर हम माप को बेहतर ढंग से देखने के लिए LCD बैकलाइट को हल्का करना चाहते हैं। LCD इनपुट को GPIO14 से जोड़ा गया है। हर 5 सेकंड या तो, हम करेंगे:

  1. लेजर डायोड सक्षम करें
  2. छवि को स्मृति में कैप्चर करें
  3. लेजर डायोड को अक्षम करें
  4. HSV रेंज फिल्टर का उपयोग करके लेजर को ट्रैक करें
  5. डिबगिंग उद्देश्य के लिए परिणामी छवि को डिस्क पर लिखें
  6. y निर्देशांक के आधार पर दूरी की गणना करें
  7. एलसीडी डिस्प्ले पर दूरी लिखें।

घटना हालांकि, मेरे उपयोग के मामले में उपाय अत्यधिक सटीक और सटीक हैं, सुधार के लिए बहुत सारे कमरे हैं। उदाहरण के लिए, लेज़र डॉट बहुत खराब गुणवत्ता का है और लेज़र लाइन वास्तव में केंद्रित नहीं है। बेहतर गुणवत्ता वाले लेजर के साथ, अंशांकन चरण अधिक सटीक होंगे। यहां तक कि कैमरा भी मेरे जिग में अच्छी तरह से स्थित नहीं है, यह नीचे की ओर झुक जाता है।

मैं पूर्ण के साथ का उपयोग करके कैमरे को 90º तक घुमाकर रेंजफाइंडर के रिज़ॉल्यूशन को भी बढ़ा सकता हूं और कैमरे द्वारा समर्थित अधिकतम रिज़ॉल्यूशन को बढ़ा सकता हूं। वर्तमान कार्यान्वयन के साथ हम 0 से 384 पिक्सेल की सीमा तक सीमित हैं, हम ऊपरी सीमा को 1640 तक बढ़ा सकते हैं, वर्तमान रिज़ॉल्यूशन का 4 गुना। दूरी और भी सटीक होगी।

फॉलो-अप के रूप में, मुझे ऊपर बताए गए सटीक सुधारों पर काम करने और रेंजफाइंडर के लिए एक संलग्नक बनाने की आवश्यकता होगी। दीवार से दीवार के माप को आसान बनाने के लिए बाड़े को सटीक गहराई का होना चाहिए।

कुल मिलाकर वर्तमान प्रणाली मेरे लिए काफी है और मेरे घर की योजना बनाने के लिए कुछ रुपये बचाएगी!

सिफारिश की: