विषयसूची:

हमिंगबर्ड डिटेक्टर/पिक्चर-टेकर: १२ कदम (चित्रों के साथ)
हमिंगबर्ड डिटेक्टर/पिक्चर-टेकर: १२ कदम (चित्रों के साथ)

वीडियो: हमिंगबर्ड डिटेक्टर/पिक्चर-टेकर: १२ कदम (चित्रों के साथ)

वीडियो: हमिंगबर्ड डिटेक्टर/पिक्चर-टेकर: १२ कदम (चित्रों के साथ)
वीडियो: paranormal Activity Record in CCTV Camera Part05 😱😱😱😱☠️☠️☠️👻 Durlabh Kashyap #status #shorts 2024, जुलाई
Anonim
हमिंगबर्ड डिटेक्टर / पिक्चर-टेकर
हमिंगबर्ड डिटेक्टर / पिक्चर-टेकर

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

मैं हमेशा ऐसा करने के लिए एक माइक्रोकंट्रोलर का उपयोग करने का इरादा रखता हूं। माइक्रोकंट्रोलर सॉफ्टवेयर नियंत्रण के तहत कैमरा शटर को चलाने में सक्षम होगा। लेकिन एक छोटे से चिड़ियों का पता लगाने वाला सेंसर दूसरी बात थी। मैं मोशन सेंसर का इस्तेमाल कर सकता था लेकिन मैं कुछ अनोखा करने की कोशिश करना चाहता था। मैंने ध्वनि को ट्रिगर के रूप में उपयोग करने का निर्णय लिया।

चरण 1: माइक्रोकंट्रोलर चुनना

एक माइक्रोकंट्रोलर चुनना
एक माइक्रोकंट्रोलर चुनना

मैंने जो माइक्रोकंट्रोलर चुना वह एक PJRC Teensy था। टेन्सी एआरएम माइक्रोकंट्रोलर का उपयोग करता है, विशेष रूप से, एआरएम कॉर्टेक्स एम 4। कोर्टेक्स एम4 में एफएफटी (फास्ट फूरियर ट्रांसफॉर्म) करने के लिए हार्डवेयर होता है जो डिटेक्शन करेगा। पीजेआरसी एक ऑडियो बोर्ड भी बेचता है जो आपको संगीत चलाने के साथ-साथ बाहरी इनपुट के साथ ऑडियो रिकॉर्ड करने के लिए टेन्सी का उपयोग करने की अनुमति देता है, या एक छोटा माइक्रोफ़ोन जिसे आप बोर्ड में जोड़ सकते हैं। मेरी योजना थी कि टेन्सी माइक्रोफोन से ऑडियो पर एफएफटी करे।

चरण 2: एफएफटी?

एफएफटी?
एफएफटी?

एक एफएफटी एक गणितीय सूत्र/एल्गोरिदम है जो समय डोमेन से आवृत्ति डोमेन में सिग्नल को परिवर्तित करता है। इसका मतलब यह है कि यह माइक्रोफ़ोन से समय-नमूना ऑडियो लेता है और इसे मूल तरंग में मौजूद आवृत्तियों के परिमाण में बदल देता है। आप देखते हैं, किसी भी मनमानी, निरंतर लहर का निर्माण साइन या कोसाइन तरंगों की एक श्रृंखला से किया जा सकता है जो कुछ आधार आवृत्ति के पूर्णांक गुणक होते हैं। एक एफएफटी इसके विपरीत करता है: यह एक मनमाना तरंग लेता है और इसे तरंगों के परिमाण में बदल देता है, यदि एक साथ जोड़ दिया जाए, तो मूल मनमाना लहर पैदा होगी। यह कहने का एक और भी आसान तरीका है, मैंने टेनेसी में सॉफ्टवेयर और एफएफटी हार्डवेयर का उपयोग करने की योजना बनाई है ताकि यह निर्धारित किया जा सके कि क्या यह आवृत्ति पर एक चिड़ियों के पंख फड़फड़ाता है जो कि पंख फड़फड़ाता है। अगर यह एक चिड़ियों को 'सुन' देता है, तो मैं एक कैमरे को एक तस्वीर लेने के लिए एक आदेश भेजूंगा।

वो कर गया काम! तो, मैंने इसे कैसे किया, आप इसे कैसे कर सकते हैं और आप इसे और बेहतर कैसे बना सकते हैं?

चरण 3: मँडराते हुए चिड़ियों की आवाज़ कैसी होती है?

मँडराते हुए हमिंगबर्ड की आवाज़ कैसी होती है?
मँडराते हुए हमिंगबर्ड की आवाज़ कैसी होती है?

सबसे पहले चीज़ें, मुझे यह पता लगाने की ज़रूरत है कि मैं हमिंगबर्ड के पंख फड़फड़ाने की आवृत्ति को किस आवृत्ति पर सुनूंगा। इसे निर्धारित करने के लिए, मैंने अपने iPhone का उपयोग किया। मैंने iPhone को एक तिपाई से जोड़ा और हमारे डेक पर हमिंगबर्ड फीडर के सामने सीधे धीमी गति का वीडियो रिकॉर्ड किया। कुछ समय बाद मैंने कैमरा हटा दिया और मैंने वीडियो डाउनलोड कर लिया। फिर मैंने फीडर के सामने एक चिड़ियों की तलाश में वीडियो देखा। जब मुझे एक अच्छा अनुक्रम मिला, तो मैंने उन अलग-अलग फ़्रेमों की संख्या गिन ली, जो चिड़ियों को अपने पंखों को एक स्थान से वापस उसी स्थिति में फड़फड़ाने के लिए लगे थे। IPhone पर धीमी गति लगभग 240 फ्रेम प्रति सेकंड है। मैंने फीडर के सामने मँडराते हुए एक चिड़ियों को देखा और मैंने उसके पंखों को आगे की स्थिति से पीछे की स्थिति में ले जाने के लिए और फिर आगे की स्थिति में लौटने के लिए ५ फ़्रेमों की गिनती की। यह २४० में से ५ फ्रेम है। याद रखें, हम चिड़ियों के पंख फड़फड़ाने के प्रत्येक स्ट्रोक पर एक ध्वनि सुनते हैं (एक फॉरवर्ड स्ट्रोक पर और एक बैकवर्ड स्ट्रोक पर)। एक चक्र या अवधि के लिए 5 फ्रेम के लिए, हम आवृत्ति की गणना एक अवधि से विभाजित करके कर सकते हैं अर्थात 1 / (5/240) या 48 हर्ट्ज। इसका मतलब यह है कि जब यह हमिंगबर्ड मँडरा रहा होता है, तो हमें जो आवाज़ सुनाई देती है, वह इससे दोगुनी या लगभग 96 हर्ट्ज़ होनी चाहिए। आवृत्ति संभवतः अधिक होती है जब वे उड़ रहे होते हैं और मँडराते नहीं हैं। यह उनके द्रव्यमान से भी प्रभावित हो सकता है लेकिन मुझे लगता है कि हम यह मान सकते हैं कि एक ही प्रजाति के अधिकांश पक्षियों का द्रव्यमान लगभग समान होता है।

चरण 4: फूरियर सीरीज और टेनेसी

फूरियर सीरीज और टेनेसी
फूरियर सीरीज और टेनेसी

द टेन्सी (मैंने एक टेन्सी 3.2 का इस्तेमाल किया) पीजेआरसी (www.pjrc.com) द्वारा बनाई गई है। ध्वनि के नमूने पर एफएफटी की गणना की जाएगी। ध्वनि प्राप्त करने के लिए, PJRC Teensy (TEENSY3_AUDIO - $ 14.25) के लिए एक ऑडियो एडेप्टर बोर्ड बेचता है। वे एक छोटा माइक्रोफ़ोन भी बेचते हैं जिसे ऑडियो अडैप्टर बोर्ड (माइक्रोफ़ोन - $1.25) में मिलाया जा सकता है। ऑडियो एडेप्टर बोर्ड एक चिप (SGTL5000) का उपयोग करता है जिससे Teensy एक सीरियल बस (I2S) पर बात कर सकता है। टेन्सी माइक्रोफ़ोन से ऑडियो का नमूना लेने और इसे डिजिटाइज़ करने के लिए SGTL5000 का उपयोग करता है, अर्थात, संख्याओं का एक सेट बनाता है जो उस ध्वनि का प्रतिनिधित्व करता है जिसे माइक्रोफ़ोन सुन रहा है।

एक एफएफटी एक असतत फूरियर ट्रांसफॉर्म (डीएफटी) कहलाने का एक तेज़ संस्करण है। एक डीएफटी नमूनों की एक मनमानी संख्या पर किया जा सकता है, हालांकि, एक एफएफटी को नमूने को सेट में संग्रहीत करने की आवश्यकता होती है जो बाइनरी गुणक होते हैं। Teensy हार्डवेयर 1024 नमूनों (1024=2^10) के सेट पर FFT प्रदर्शन कर सकता है, इसलिए हम इसका उपयोग करेंगे।

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

टेनेसी ऑडियो बोर्ड 44, 100 हर्ट्ज की आवृत्ति पर ऑडियो का नमूना लेता है। तो, इस आवृत्ति पर 1024 नमूने 1024/44100 या लगभग 23.2 मिलीसेकंड के समय अंतराल का प्रतिनिधित्व करते हैं। इस मामले में, एफएफटी आउटपुट के रूप में उत्पादन करेगा, परिमाण जो कि 43 हर्ट्ज की नमूना अवधि के पूर्णांक गुणक हैं (फिर से, 1/0.0232 लगभग 43 हर्ट्ज के बराबर है)। हम उन परिमाणों को देखना चाहेंगे जो इस आवृत्ति से लगभग दोगुने हैं: 86 हर्ट्ज। यह बिल्कुल हमारे गणना किए गए हमिंगबर्ड विंग फ्लैप की आवृत्ति नहीं है, लेकिन यह काफी करीब है जैसा कि हम देखेंगे।

चरण 5: फूरियर डेटा का उपयोग करना

फूरियर डेटा का उपयोग करना
फूरियर डेटा का उपयोग करना

टेनेसी के लिए PJRC द्वारा प्रदान की जाने वाली लाइब्रेरी नमूनों को संसाधित करेगी और परिमाण मानों की एक सरणी लौटाएगी। हम लौटाए गए सरणी में प्रत्येक परिमाण को बिन के रूप में संदर्भित करेंगे। पहला बिन (डेटा की सरणी में ऑफ़सेट शून्य पर हमें वापस मिलता है) तरंग का डीसी ऑफ़सेट है। हम इस मूल्य को सुरक्षित रूप से अनदेखा कर सकते हैं। दूसरा बिन (ऑफसेट 1 पर) 43 हर्ट्ज घटक के परिमाण का प्रतिनिधित्व करेगा। यह हमारा आधार काल है। अगला बिन (ऑफ़सेट 2 पर) 86 हर्ट्ज घटक के परिमाण का प्रतिनिधित्व करेगा, और इसी तरह। प्रत्येक बाद का बिन आधार अवधि (43 हर्ट्ज) का एक पूर्णांक गुणक है।

अब यह वह जगह है जहाँ थोड़ा अजीब हो जाता है। यदि हम एक पूर्ण 43 हर्ट्ज ध्वनि का विश्लेषण करने के लिए एक एफएफटी का उपयोग करते हैं तो एफएफटी पहले बिन को कुछ बड़े परिमाण में लौटाएगा और बाकी सभी डिब्बे शून्य के बराबर होंगे (फिर से, एक आदर्श दुनिया में)। यदि हमारे द्वारा कैप्चर की गई और विश्लेषण की गई ध्वनि 86 हर्ट्ज़ थी तो ऑफ़सेट एक पर बिन शून्य होगा और ऑफ़सेट 2 (दूसरा हार्मोनिक) पर बिन कुछ बड़ा परिमाण होगा और शेष डिब्बे शून्य होंगे, और इसी तरह। लेकिन अगर हमने हमिंगबर्ड की आवाज को कैप्चर किया और यह 96 हर्ट्ज था (जैसा कि मैंने अपने एक पक्षी पर मापा था) तो ऑफसेट 2 बिन @ 86 हर्ट्ज का परिमाण थोड़ा कम होगा (सही 86 हर्ट्ज तरंग की तुलना में) और इसके चारों ओर के डिब्बे (एक निचला और कुछ ऊंचा) प्रत्येक का एक कम गैर-शून्य मान होगा।

यदि हमारे FFT के लिए नमूना आकार 1024 से बड़ा था या यदि हमारी ऑडियो नमूना आवृत्ति कम थी, तो हम अपने डिब्बे के रिज़ॉल्यूशन को बेहतर (यानी छोटा) बना सकते थे। लेकिन अगर हम अपने एफएफटी डिब्बे को आधार अवधि के 1 हर्ट्ज गुणक बनाने के लिए इन चीजों को बदल देते हैं, तब भी हमें इस बिन 'स्पिलज' से निपटना होगा। ऐसा इसलिए है क्योंकि हमें कभी भी ऐसी विंग फ़्रीक्वेंसी नहीं मिलेगी जो एक ही बिन पर हमेशा और बिल्कुल उतरी हो। इसका मतलब है कि हम ऑफसेट 2 बिन में मूल्य पर एक चिड़ियों का पता लगाने का आधार नहीं बना सकते हैं और बाकी को अनदेखा कर सकते हैं। हमें डेटा का विश्लेषण करने और इसे समझने के लिए कुछ डिब्बे में विश्लेषण करने का एक तरीका चाहिए। इस पर और बाद में।

चरण 6: निर्माण शुरू करें

निर्माण शुरू करें
निर्माण शुरू करें
निर्माण शुरू करें
निर्माण शुरू करें

अपने प्रोटोटाइप हमिंगबर्ड डिटेक्टर के लिए मैंने टेनेसी में पिनों को मिलाए गए अतिरिक्त लंबे पुरुष-पुरुष पिन का उपयोग किया। मैंने ऐसा इसलिए किया ताकि मैं टेन्सी को एक छोटे सोल्डर-कम ब्रेडबोर्ड में प्लग कर सकूं। मैंने ऐसा इसलिए किया क्योंकि मैंने मान लिया था कि मैं प्रोटोटाइप में बहुत सारे बदलाव कर रहा हूं और ब्रेडबोर्ड के साथ, मैं इसे बदल सकता हूं और जहां भी मुझे जरूरत हो, बस जम्पर तारों को बदल सकता हूं। मैंने ऑडियो बोर्ड के निचले हिस्से में महिला स्ट्रिप्स को मिलाया जो इसे टेनेसी के ऊपर प्लग करने की अनुमति देता है। माइक्रोफ़ोन को ऑडियो बोर्ड के शीर्ष पर मिलाप किया गया है (चित्र देखें)। असेंबली के बारे में अधिक जानकारी PJRC साइट पर पाई जा सकती है:

(https://www.pjrc.com/store/teensy3_audio.html)।

चरण 7: चित्र को स्नैप करने के लिए हार्डवेयर

एक तस्वीर को स्नैप करने के लिए हार्डवेयर
एक तस्वीर को स्नैप करने के लिए हार्डवेयर
एक तस्वीर को स्नैप करने के लिए हार्डवेयर
एक तस्वीर को स्नैप करने के लिए हार्डवेयर

मेरे पास (ठीक है, मेरी पत्नी के पास) एक कैनन विद्रोही डिजिटल कैमरा है। कैमरे पर एक जैक है जो आपको मैन्युअल रिमोट शटर नियंत्रण कनेक्ट करने देता है। मैंने B&H Photo से एक मैनुअल रिमोट कंट्रोल खरीदा। केबल में एक सिरे पर कैमरा फिट करने के लिए सही जैक है और यह लगभग 6 फीट लंबा है। मैंने बटन कंट्रोल बॉक्स के पास के अंत में केबल को काट दिया और मैंने तारों को वापस छीन लिया और उन्हें तीन हेडर पिन में मिला दिया जिसे मैं ब्रेडबोर्ड में प्लग कर सकता था। एक नंगे तार है जो जमीन है और दो अन्य संकेत हैं: टिप ट्रिगर (गुलाबी) है और अंगूठी (सफेद) फोकस है (चित्र देखें)। टिप और/या रिंग को जमीन पर छोटा करने से शटर और कैमरे पर फ़ोकस संचालित होता है।

एक जम्पर तार का उपयोग करके मैंने टेन्सी से एक सामान्य मैदान को उस क्षेत्र में चलाया जहां मैं इसे ब्रेडबोर्ड पर इस्तेमाल कर सकता था। मैंने एक एलईडी के एनोड को टेनेसी पर 2 पिन करने के लिए और एलईडी के कैथोड को एक रोकनेवाला (100-220 ओम) से जमीन से जोड़ा। मैंने टेन्सी के पिन 2 को 10K रेसिस्टर से और रेसिस्टर के दूसरे पक्ष को NPN ट्रांजिस्टर (हर जगह पाया जाने वाला 2N3904) के आधार से जोड़ा। मैंने ट्रांजिस्टर के एमिटर को जमीन से और कलेक्टर को मैंने कैमरे में जाने वाली केबल से सफेद और गुलाबी तारों से जोड़ा। नंगे तार, फिर से, जमीन से जुड़े थे। जब भी टेन्सी द्वारा एलईडी चालू की जाती है, तो एनपीएन ट्रांजिस्टर भी चालू हो जाएगा और यह कैमरा (और फोकस) को ट्रिगर करेगा। योजनाबद्ध देखें।

चरण 8: सिस्टम डिज़ाइन

प्रणाली की रूपरेखा
प्रणाली की रूपरेखा

चूंकि हमिंगबर्ड के पंख फड़फड़ाने वाली आवृत्तियों की संभावना कुछ सौ हर्ट्ज से ऊपर नहीं जाती है, इसलिए हमें वास्तव में कुछ सौ हर्ट्ज ऊपर ध्वनि आवृत्तियों को रिकॉर्ड करने की आवश्यकता नहीं है। हमें जो चाहिए वह केवल उन आवृत्तियों को फ़िल्टर करने का एक तरीका है जो हम चाहते हैं। एक बैंडपास या लोपास फिल्टर भी बहुत अच्छा होगा। परंपरागत रूप से हम OpAmps या स्विच्ड-कैपेसिटर फ़िल्टर का उपयोग करके हार्डवेयर में एक फ़िल्टर लागू करते हैं। लेकिन डिजिटल सिग्नल प्रोसेसिंग और टेन्सी के सॉफ्टवेयर पुस्तकालयों के लिए धन्यवाद, हम एक डिजिटल फिल्टर का उपयोग कर सकते हैं (कोई सोल्डरिंग की आवश्यकता नहीं है … बस सॉफ्टवेयर)।

PJRC के पास एक बढ़िया GUI उपलब्ध है जो आपको अपने ऑडियो सिस्टम को Teensy और ऑडियो बोर्ड के लिए ड्रैग और ड्रॉप करने देता है। आप इसे यहां देख सकते हैं:

www.pjrc.com/teensy/gui/

मैंने माइक्रोफ़ोन (फ़िल्टर) से ध्वनि आवृत्तियों को प्रतिबंधित करने के लिए PJRC द्वारा प्रदान किए गए द्विघात कैस्केड फ़िल्टर में से एक का उपयोग करने का निर्णय लिया। मैंने ऐसे तीन फिल्टर को कैस्केड किया और उन्हें 100 हर्ट्ज पर बैंडपास ऑपरेशन के लिए सेट किया। यह फ़िल्टर सिस्टम फ़्रीक्वेंसी को थोड़ा ऊपर और उस फ़्रीक्वेंसी से थोड़ा नीचे की अनुमति देगा जिसमें हम रुचि रखते हैं।

ब्लॉक आरेख में (चित्र देखें) i2s1 ऑडियो बोर्ड के लिए ऑडियो इनपुट है। मैंने दोनों ऑडियो चैनलों को मिक्सर से और फिर फिल्टर से जोड़ा (माइक्रोफ़ोन केवल एक चैनल है लेकिन, मैंने दोनों को मिलाया है, इसलिए मुझे यह पता लगाने की ज़रूरत नहीं थी कि यह कौन सा चैनल था … मुझे आलसी कहो)। मैं फ़िल्टर के आउटपुट को ऑडियो आउटपुट में चलाता हूं (इसलिए यदि मैं चाहूं तो ऑडियो सुन सकता हूं)। मैंने ऑडियो को फ़िल्टर से FFT ब्लॉक से भी जोड़ा। ब्लॉक आरेख में, sgtl5000_1 लेबल वाला ब्लॉक ऑडियो कंट्रोलर चिप है। इसे आरेख में किसी भी कनेक्शन की आवश्यकता नहीं है।

यह सब ब्लॉक निर्माण करने के बाद आप Export पर क्लिक करें। यह एक डायलॉग बॉक्स लाता है जहाँ आप उस कोड को कॉपी कर सकते हैं जो ब्लॉक डायग्राम से उत्पन्न हुआ था और इसे अपने टेन्सी एप्लिकेशन में पेस्ट कर सकते हैं। यदि आप कोड को देखते हैं तो आप देख सकते हैं कि यह घटकों के बीच 'कनेक्शन' के साथ-साथ प्रत्येक नियंत्रण का तात्कालिकता है।

चरण 9: कोड

कोड
कोड

सॉफ्टवेयर पर विस्तार से जाने के लिए इस निर्देश में बहुत अधिक स्थान लगेगा। मैं जो करने की कोशिश करूंगा वह कोड के कुछ प्रमुख बिट्स को उजागर करना है। लेकिन यह वैसे भी बहुत बड़ा एप्लिकेशन नहीं है। PJRC के पास Teensy और ऑडियो लाइब्रेरी/टूल्स (https://www.youtube.com/embed/wqt55OAabVs) का उपयोग करने पर एक बेहतरीन वीडियो ट्यूटोरियल है।

मैंने पीजेआरसी से कुछ एफएफटी उदाहरण कोड के साथ शुरुआत की। मैंने ऑडियो सिस्टम डिज़ाइन टूल से जो मिला उसे कोड के शीर्ष पर चिपका दिया। यदि आप इसके बाद के कोड को देखते हैं तो आपको कुछ इनिशियलाइज़ेशन दिखाई देगा और फिर सिस्टम माइक्रोफ़ोन से ऑडियो को डिजिटाइज़ करना शुरू कर देता है। सॉफ्टवेयर 'फॉरएवर' लूप () में प्रवेश करता है और fft1024_1.उपलब्ध () फ़ंक्शन पर कॉल का उपयोग करके FFT डेटा के उपलब्ध होने की प्रतीक्षा करता है। जब एफएफटी डेटा उपलब्ध होता है, तो मैं डेटा की एक प्रति लेता हूं और इसे संसाधित करता हूं। ध्यान दें, मैं केवल डेटा हड़पता हूं यदि सबसे बड़ा बिन परिमाण एक निर्धारित मूल्य से ऊपर है। यह मान है कि मैंने सिस्टम की संवेदनशीलता कैसे निर्धारित की है। यदि डिब्बे निर्धारित मूल्य से ऊपर हैं तो मैं तरंग को सामान्य करता हूं और इसे प्रसंस्करण के लिए एक अस्थायी सरणी में स्थानांतरित करता हूं, अन्यथा, मैं इसे अनदेखा करता हूं और दूसरे एफएफटी की प्रतीक्षा करता रहता हूं। मुझे यह उल्लेख करना चाहिए कि मैं सर्किट की संवेदनशीलता को समायोजित करने के लिए माइक्रोफ़ोन गेन कंट्रोल फ़ंक्शन का भी उपयोग करता हूं (sgtl5000_1.micGain(50))।

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

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

अन्य एल्गोरिदम मूल्यों की निरंतर सरणी का उपयोग करता है जो सामान्यीकृत एफएफटी का प्रतिनिधित्व करता है। यह डेटा एक वास्तविक (इष्टतम) चिड़ियों के हस्ताक्षर का परिणाम है। मैं इसे हेज कहता हूं। मैं हेज डेटा की तुलना सामान्यीकृत एफएफटी डेटा से करता हूं यह देखने के लिए कि क्या संबंधित डिब्बे एक दूसरे के 20% के भीतर हैं। मैंने 20% चुना लेकिन, इस मान को आसानी से समायोजित किया जा सकता है।

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

चरण 10: बढ़ते

बढ़ते
बढ़ते

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

चरण 11: परिणाम

परिणाम
परिणाम

मैंने फीडर के पास एक तिपाई पर कैमरा स्थापित किया। मेरे पास फीडर के सामने के किनारे पर केंद्रित कैमरा था और मैंने इसे स्पोर्ट मोड पर सेट किया था जो शटर दबाए जाने पर कई तेज़ तस्वीरें लेता है। 2 सेकंड के शटर डाउन टाइम के साथ मैंने प्रति ट्रिगर इवेंट में लगभग 5 तस्वीरें लीं।

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

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

चरण 12: अंतिम विचार

अंतिम विचार
अंतिम विचार

यह एक मजेदार परियोजना थी और यह काम करती है। लेकिन, ज्यादातर चीजों की तरह, इसमें सुधार की काफी गुंजाइश है। फ़िल्टर निश्चित रूप से भिन्न हो सकता है (जैसे कम पास फ़िल्टर या व्यवस्था और/या पैरामीटर में परिवर्तन) और हो सकता है कि इससे यह बेहतर काम कर सके। मुझे यह भी यकीन है कि कोशिश करने के लिए बेहतर एल्गोरिदम हैं। मैं गर्मियों में इसमें से कुछ कोशिश करूँगा।

मुझे बताया गया है कि वहाँ ओपन-सोर्स मशीन लर्निंग कोड है … हो सकता है कि सिस्टम को चिड़ियों की पहचान करने के लिए 'प्रशिक्षित' किया जा सके! मुझे यकीन नहीं है कि मैं यह कोशिश करूँगा, लेकिन शायद।

इस परियोजना में और क्या चीजें जोड़ी जा सकती हैं? यदि कैमरे में दिनांक/समय स्टैम्पर होता है तो आप उस जानकारी को चित्रों में जोड़ सकते हैं। एक और चीज जो आप कर सकते हैं वह है ऑडियो रिकॉर्ड करना और इसे यूएसडी कार्ड पर सहेजना (पीजेआरसी ऑडियो बोर्ड में एक के लिए एक स्लॉट है)। सहेजे गए ऑडियो का उपयोग सीखने के एल्गोरिदम के प्रशिक्षण के लिए किया जा सकता है।

हो सकता है कि कहीं कोई पक्षीविज्ञान विद्यालय इस तरह के उपकरण का उपयोग कर सकता है? वे भोजन करने के समय, खिलाने की आवृत्ति जैसी जानकारी एकत्र करने में सक्षम हो सकते हैं और, चित्रों के साथ, आप उन विशिष्ट पक्षियों की पहचान करने में सक्षम हो सकते हैं जो फ़ीड पर लौटते हैं।

मेरी आशा है कि कोई और इस परियोजना का विस्तार करे और जो कुछ वे बनाते हैं उसे दूसरों के साथ साझा करें। कुछ लोगों ने मुझसे कहा है कि मैंने जो काम किया है उसे एक उत्पाद में बदल देना चाहिए। मैं इतना निश्चित नहीं हूं लेकिन, मैं इसे एक सीखने के मंच और विज्ञान के लिए उपयोग करना पसंद करूंगा।

पढ़ने के लिए धन्यवाद!

मेरे द्वारा पोस्ट किए गए कोड का उपयोग करने के लिए आपको Arduino IDE (https://www.arduino.cc/en/Main/Software) की आवश्यकता होगी। आपको PJRC (https://www.pjrc.com/teensy/td_download.html) से Teensyduino कोड की भी आवश्यकता होगी।

सिफारिश की: