विषयसूची:

ऑटो-ट्रैकिंग वाटर ब्लास्टर: 9 कदम
ऑटो-ट्रैकिंग वाटर ब्लास्टर: 9 कदम

वीडियो: ऑटो-ट्रैकिंग वाटर ब्लास्टर: 9 कदम

वीडियो: ऑटो-ट्रैकिंग वाटर ब्लास्टर: 9 कदम
वीडियो: Rain Detector Device #shorts #devkeexperiment 2024, जुलाई
Anonim
ऑटो-ट्रैकिंग वॉटर ब्लास्टर
ऑटो-ट्रैकिंग वॉटर ब्लास्टर

गुलाब खाने वाले हिरण ने मुझे एक लक्ष्य-ट्रैकिंग वॉटर ब्लास्टर बनाने के लिए प्रेरित किया, जिससे भयंकर क्रिटर्स को रोकने में मदद मिल सके … यह वॉटर ब्लास्टर एक सर्वो को लक्षित करने और लक्ष्य पर पानी के छोटे फटने को ट्रिगर करने के लिए वीडियो आधारित मोशन डिटेक्शन का उपयोग करता है। यह तभी शूट होता है जब एक अधिग्रहीत लक्ष्य कुछ सेकंड के लिए स्थिर होता है (देरी को कोड में समायोजित किया जा सकता है)। मुझे परवाह नहीं है कि हिरण बस चल रहे हैं, लेकिन अगर वे नाश्ते के लिए रुकते हैं, तो छींटाकशी करें!

यहाँ मेरा एक वीडियो है जो वाटर ब्लास्टर का परीक्षण कर रहा है:

वाटर ब्लास्टर एक स्टैंड-अलोन बॉक्स है जिसे आपके नेटवर्क के किसी भी कंप्यूटर से दूर से (वाई-फाई/वीएनसी के माध्यम से) कनेक्ट किया जा सकता है ताकि यह मॉनिटर किया जा सके कि यह क्या कर रहा है। यह हर बार ट्रिगर होने पर एक तस्वीर लेता है ताकि आप बाद में देख सकें कि क्या विस्फोट हो रहा था।

मैंने इस दिन / रात को बनाने के लिए रास्पबेरी पाई, नोआईआर कैम, आईआर इल्लुमिनेटर, मानक रैखिक सर्वो और एक पानी के वाल्व का उपयोग किया, लक्ष्य ट्रैकिंग वॉटर ब्लास्टर। कोड पायथन में लिखा गया है और एड्रियन रोजब्रॉक के cv2 इमेज प्रोसेसिंग कोड नमूनों से बहुत अधिक उधार लेता है। आप उनका लेखन यहां देख सकते हैं:

www.pyimagesearch.com/2015/06/01/home-surv…

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

चरण 1: कोड

प्रसंस्करण के लिए वाटर ब्लास्टर रास्पबेरी पाई 3 का उपयोग करता है। वीडियो कैप्चर करने के लिए, रात के वीडियो के लिए IR इल्लुमिनेटर के साथ NoIR रास्पबेरी पाई कैम का उपयोग किया जाता है। OpenCV/cv2 Python पैकेज का उपयोग छवि जानकारी को पकड़ने और संसाधित करने और लक्ष्य निर्देशांक की गणना करने के लिए किया जाता है। पिगियो पुस्तकालय का उपयोग स्थिर सर्वो संचालन के लिए जीपीओ को नियंत्रित करने के लिए किया जाता है। नियमित RPi. GPIO पैकेज का उपयोग करने से एक अस्थिर सर्वो बन गया। नोट: पिगियो लाइब्रेरी का उपयोग करते समय आपको पिगियो डेमॉन चलाने की आवश्यकता होती है। पिगियो लिब और रास्पबेरी पाई कैमरा इंटरफ़ेस के लिए इसे अपने पाई /etc/rc.local स्टार्टअप फ़ाइल में जोड़ें:

/etc/rc.local# कैमरा इंटरफेस में निर्मित रास्पबेरी पाई से लिंक करने के लिए /dev/video0 सेट करेंmodprobe bcm2835-v4l2# रास्पबेरी पाई IO नियंत्रण पुस्तकालय के लिए पिगियो डेमॉन शुरू करेंpigpiod

अधिक विवरण के लिए https://pypi.python.org/pypi/pigpi देखें।

स्रोत कोड का नाम है: water_blaster.py और नीचे संलग्न है।

अस्वीकरण: मैं पायथन कोडिंग के लिए नया हूं इसलिए इसे पायथन कोडिंग शैली के किसी भी महान मॉडल के रूप में न मानें!

मूल एल्गोरिथ्म इस प्रकार है:

  • एक प्रारंभिक वीडियो संदर्भ फ़्रेम लें। इसका उपयोग गति का पता लगाने के लिए तुलना करने के लिए किया जाएगा।
  • एक और फ्रेम पकड़ो।
  • फ्रेम को ग्रे स्केल में बदलें, इसे आकार दें, इसे धुंधला करें।
  • संदर्भ फ्रेम से अंतर की गणना करें
  • छोटे अंतरों को फ़िल्टर करें, सबसे बड़े अंतर के निर्देशांक प्राप्त करें।
  • एक टाइमर सेट करें। यदि लक्ष्य निर्देशांक कुछ सेकंड के लिए नहीं बदलता है, तो हम जो शूट करने जा रहे हैं उसकी एक तस्वीर लें और पानी के विस्फोट के लिए पानी के वाल्व को चालू करें। "शॉटगन" विस्फोट के लिए सर्वो को कुछ डिग्री आगे और पीछे स्वीप करें।
  • यदि हमें तीन ट्रिगर बहुत तेज़ी से मिलते हैं, तो शूटिंग अक्षम करें, थोड़ा रुकें, फिर संदर्भ फ़्रेम को अपडेट करें क्योंकि हम एक छाया या पोर्च प्रकाश पर शूटिंग कर रहे हैं जो अभी चालू था …
  • हर कुछ मिनटों में कम आवृत्ति परिवर्तनों (सूर्य का उगना / अस्त होना, घटाटोप हिलना, आदि) के लिए संदर्भ फ्रेम को अपडेट करना आवश्यक है।

मैं केवल एक क्षैतिज लक्ष्यीकरण तंत्र का उपयोग कर रहा हूं, लेकिन ईबे पर कई पैन / टिल्ट सर्वो माउंट उपलब्ध हैं और यदि आप अधिक सटीक लक्ष्यीकरण चाहते हैं तो ऊर्ध्वाधर लक्ष्य को नियंत्रित करने के लिए एक और सर्वो जोड़ना आसान होगा।

मैंने वीएनसी सर्वर के रूप में चलाने के लिए रास्पबेरी पाई की स्थापना की, फिर प्रोग्राम शुरू करने और वीडियो और लॉग की निगरानी करने के लिए इसे अपने लैपटॉप से वीएनसी के माध्यम से कनेक्ट करें। उस निर्देशिका में सीडी जहां आप water_blaster.py स्टोर करते हैं और इसे टाइप करके चलाते हैं:

./पायथन water_blaster.py

यह एक वीडियो मॉनिटर विंडो खोलेगा, "./log_[date]_[time] नाम की एक लॉग फ़ाइल शुरू करेगा, और "trigger_Pictures" नामक एक उप-डीआईआर बनाएगा जहां-j.webp

आपके रास्पबेरी पाई पर वीएनसी स्थापित करने के बारे में कुछ नोट्स यहां दिए गए हैं:

पहली बार जब मैंने रास्पबेरी पाई को सेटअप किया, तो मैंने चीजों को सेट करने के लिए एक बाहरी मॉनिटर/कीबोर्ड/माउस का उपयोग किया। वहां मैंने वीएनसी सर्वर को रास्पी कॉन्फ़िगरेशन (रास्पबेरी लोगो/प्राथमिकताएं/रास्पबेरी पीआई कॉन्फ़िगरेशन/इंटरफेस/वीएनसी विकल्प जांचें) पर सक्षम किया। बाद में, जब यह बूट होता है, तो यह आपको वीएनसी क्लाइंट के माध्यम से इसके:0 डिस्प्ले से कनेक्ट करने में सक्षम बनाता है (डिफ़ॉल्ट उपयोगकर्ता "पीआई" के समान क्रेडेंशियल्स)।

हेडलेस मोड में यह एक बहुत ही छोटे रिज़ॉल्यूशन डिस्प्ले के लिए डिफॉल्ट करता है (क्योंकि यह किसी भी डिस्प्ले का पता नहीं लगाता है), इसे कुछ बड़े रिज़ॉल्यूशन के लिए बाध्य करने के लिए, आप इसे /boot/config.txt में जोड़ते हैं और पुनः आरंभ करते हैं:

# अगर आपके पास डिस्प्ले है तो उपयोग करें# hdmi_ignore_edid=0xa5000080hdmi_group=2# 1400x1050 w/ 60Hz#hdmi_mode=42# 1356x768 w/ 60Hzhdmi_mode=39

यहां कुछ और जानकारी दी गई है:

चरण 2: इलेक्ट्रॉनिक्स

असतत ट्रांजिस्टर बफ़र्स (एक छोटे प्रोटो बोर्ड पर निर्मित) के माध्यम से एक सर्वो, पानी के वाल्व और आईआर इल्लुमिनेटर को चलाने के लिए रास्पबेरी पाई 3 जीपीओ का उपयोग करते हुए वाटर ब्लास्टर इलेक्ट्रॉनिक्स आवश्यकताएं न्यूनतम हैं। एक मानक NoIR कैमरा सीधे रास्पबेरी पाई में प्लग करता है।

योजना का नाम है: water_blaster_schematic.pdf और नीचे संलग्न है।

मैंने रास्पबेरी पाई के लिए 5v/2.5A समर्पित आपूर्ति और IR इल्लुमिनेटर और पानी के वाल्व को चलाने के लिए 12v/1A आपूर्ति का उपयोग किया। 12v आपूर्ति 5v सर्वो को बिजली की आपूर्ति करने के लिए 5v नियामक भी चलाती है। यह रास्पबेरी पाई 5v आपूर्ति से "शोर" मोटर नियंत्रण शक्ति को अलग रखने के लिए किया गया था। 12v/1A आपूर्ति अपनी सीमा पर सही निकली (वास्तव में एक बार जब मैंने पंखा जोड़ा तो थोड़ा अधिक)। वर्तमान ड्रॉ को सीमा के भीतर रखने के लिए वाटर वॉल्व रिले को पावर देने से पहले कोड IR इल्लुमिनेटर को बंद कर देता है… यह बेहतर होगा यदि आप 1.5A आपूर्ति का उपयोग करते हैं। सभी बिजली आपूर्ति के ग्राउंड टर्मिनलों को एक साथ जोड़ना सुनिश्चित करें।

कैमरा मॉड्यूल एक मानक NoIR संस्करण है जो सीधे रास्पबेरी पाई में प्लग करता है। यह एक रास्पबेरी पाई कैम है जिसमें आईआर फिल्टर पहले से ही हटा दिया गया है जिससे इसे रात के वीडियो लेने के लिए आईआर इल्यूमिनेटर के साथ इस्तेमाल किया जा सकता है।

इस्तेमाल किया जाने वाला सर्वो मानक आकार का 5v रैखिक सर्वो है जिसमें 3-4 किलो-सेमी टोक़ है।

IR इल्लुमिनेटर एक कम लागत वाली 48 एलईडी रिंग थी जो मुझे eBay पर लगभग $4 में मिली थी। यह सुपर मजबूत नहीं है और केवल लगभग 15 फीट तक ही रोशनी कर सकता है। यदि आपके पास अतिरिक्त बजट है, तो एक मजबूत इल्यूमिनेटर प्राप्त करना एक अच्छा सुधार होगा।

मैंने gpio23 में "डीबग-स्विच" जोड़ा। कोड स्विच की स्थिति की जांच करता है और यदि दबाया जाता है तो ड्राई-फायर परीक्षण के लिए पानी के वाल्व रिले को अक्षम कर देगा। मैंने सोचा था कि मैं उस स्विच के साथ और अधिक करूँगा, लेकिन वास्तव में इसका उपयोग बिल्कुल भी नहीं किया। मैं इसे और इसके लिए दिखने वाले कोड को हटा दूंगा …

चरण 3: निर्माण: कैमरा और आईआर प्रकाशक

निर्माण: कैमरा और आईआर प्रकाशक
निर्माण: कैमरा और आईआर प्रकाशक

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

कैमरे को देखने के लिए अंत में एक छोटी सी खिड़की को काट दिया गया था और आईआर इल्लुमिनेटर को एक पुराने प्लास्टिक लेंस केस के अंदर रखा गया था जिसे मैंने चारों ओर बिछाया था।

चरण 4: निर्माण: जल पाइपिंग

निर्माण: जल पाइपिंग
निर्माण: जल पाइपिंग
निर्माण: जल पाइपिंग
निर्माण: जल पाइपिंग

पानी के इनलेट को 12v पानी के वाल्व में पाइप किया जाता है जो”ID x 3/8” OD विनाइल ट्यूब से जुड़ा होता है। यह बदले में एक”कांटेदार ट्यूबिंग से स्लिप फिट पीवीसी कनेक्टर से जुड़ा होता है और पानी की धारा के लिए ड्रिल किए गए 1/16” छेद के साथ ¾”पीवीसी वॉटर कैप से चिपका होता है। मैं वाटर-वाल्व रिले को मौसम से बाहर रखना चाहता था इसलिए इसे बॉक्स के अंदर रखा गया है। एक खतरा है कि मुझे रिसाव हो सकता है, लेकिन मैंने बॉक्स के निचले भाग में नाली के छेद को ड्रिल किया है और ऐसा होने पर इलेक्ट्रॉनिक्स को संभावित पानी के नुकसान की संभावना को कम करने के लिए इलेक्ट्रॉनिक्स को ऊंचा कर दिया है। एक कम सौंदर्यवादी रूप से मनभावन, लेकिन सुरक्षित, योजना बाहरी पर वाल्व को माउंट करने और 12 वी रिले तारों को अंदर चलाने की होगी। सर्वो के ऊपर स्पष्ट प्लास्टिक डिस्क नली के सिरे को माउंट करने का एक सुविधाजनक तरीका था और यह पानी को सर्वो पर टपकने से रोकता है। पंखा एक बाद का विचार था क्योंकि बॉक्स बहुत ज्यादा गर्म हो रहा था। पानी को टपकने से रोकने के लिए मैंने इसके ऊपर एक छोटा सा शामियाना बनाया।

चरण 5: निर्माण: सर्वो को लक्षित करना

निर्माण: सर्वो को लक्षित करना
निर्माण: सर्वो को लक्षित करना

बॉक्स के शीर्ष में एक छेद काट दिया जाता है और पानी को बाहर रखने के लिए लक्ष्य सर्वो को सिलिकॉन के साथ घुमाया और सील कर दिया जाता है।

चरण 6: निर्माण: बिजली की आपूर्ति, पंखा, रास्पबेरी पाई और प्रोटो-बोर्ड को माउंट करना

निर्माण: बिजली की आपूर्ति, पंखे, रास्पबेरी पाई और प्रोटो-बोर्ड को माउंट करना
निर्माण: बिजली की आपूर्ति, पंखे, रास्पबेरी पाई और प्रोटो-बोर्ड को माउंट करना

दो बिजली आपूर्ति (5v और 12v) को बॉक्स के किनारे से बाहर निकलने वाले एकल पावर कॉर्ड से तार दिया जाता है। रास्पबेरी पाई और एक प्रोटो बोर्ड शीर्ष के पास बॉक्स के किनारे लगे होते हैं। नीचे में ड्रिल किए गए ड्रेन होल और ऊपरी किनारे के साथ ड्रिल किए गए एयर वेंट होल पर ध्यान दें। पंखा रास्पबेरी पाई के विपरीत लगाया गया है। कोई चालू / बंद स्विच नहीं है क्योंकि मैं एक औपचारिक "सुडो शटडाउन नाउ" कमांड के बिना रास्पबेरी पाई को बंद करने के लिए प्रोत्साहित नहीं करना चाहता (यानी बिजली बहुत आसानी से बंद नहीं करना चाहता)।

चरण 7: निर्माण: प्रोटो बोर्ड

निर्माण: प्रोटो बोर्ड
निर्माण: प्रोटो बोर्ड

प्रोटो बोर्ड में 5v रेगुलेटर, फिल्टर-कैप, पावर ट्रांजिस्टर (जो सर्वो और पानी के वाल्व को चलाते हैं), और एक डिबग-स्विच होता है।

चरण 8: निर्माण: रास्पबेरी पाई कैमरा

निर्माण: रास्पबेरी पाई कैमरा
निर्माण: रास्पबेरी पाई कैमरा

रास्पबेरी पाई कैम रिबन केबल के माध्यम से सीधे रास्पबेरी पाई से जुड़ता है और बॉक्स के सामने देखने के कटआउट को कवर करने वाली स्पष्ट प्लास्टिक प्लेट पर लगाया जाता है।

चरण 9: भागों की सूची

परियोजना लगभग $ 120 की लागत से समाप्त हुई। परियोजना की लागत का बड़ा हिस्सा रास्पबेरी पाई, कैमरा, सर्वो और बिजली-आपूर्ति है। मुझे ईबे या अमेज़ॅन के अधिकांश हिस्से और स्थानीय हार्डवेयर स्टोर पर प्लंबिंग के हिस्से मिले।

  • रास्पबेरी पाई 3 (अमेज़ॅन) $38
  • नोयर कैमरा (ईबे) $30
  • 5v एनालॉग सर्वो (4kg-cm टॉर्क) (EBay) $10
  • 5v/2.4A दीवार बिजली की आपूर्ति (ईबे) $8
  • 12v ½” वाटर वाल्व (ईबे) $5
  • ट्यूबिंग, पाइप-युग्मक (ओश) $5
  • प्लास्टिक अम्मो बॉक्स (हार्बर फ्रेट) $5
  • 12v/1.5A दीवार बिजली की आपूर्ति (ईबे) $5
  • आईआर इल्लुमिनेटर (ईबे) $4
  • विविध घटक (प्रतिरोधक, स्विच, डायोड) $2
  • सीपीयू फैन (ईबे) $2
  • प्रोटो बोर्ड, स्टैंडऑफ़, स्क्रू (ईबे) $2
  • (2) पावर ट्रांजिस्टर (2n5296) (ईबे) $1
  • 5v रेगुलेटर (LM7805) (ईबे) $1
  • साफ़ प्लास्टिक 3/32” (प्लास्टिक विविध बिन टैप करें) $1
  • पावर कॉर्ड (ओश) $1

स्टोर/साइटें जहां मैंने आइटम खरीदे:

  • ऐलिस११०१९८३ ईबे साइट:
  • 2bevoque ईबे साइट:
  • हार्बर फ्रेट
  • बाग आपूर्ति हार्डवेयर
  • वीरांगना
  • प्लास्टिक टैप करें

सिफारिश की: