विषयसूची:
- चरण 1: मुख्य आवश्यक वस्तुएँ
- चरण 2: सिस्टम
- चरण 3: कोडिंग समय
- चरण 4: इसे एक साथ रखना
- चरण 5: परिणाम
- चरण 6: झूठी सकारात्मक
वीडियो: कैट-ए-वे - कंप्यूटर विजन कैट स्प्रिंकलर: 6 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
समस्या - बिल्लियाँ आपके बगीचे को शौचालय के रूप में उपयोग करती हैं
समाधान - ऑटो यूट्यूब अपलोड सुविधा के साथ कैट स्प्रिंकलर इंजीनियरिंग पर बहुत अधिक समय बिताएं
यह एक कदम दर कदम नहीं है, बल्कि निर्माण और कुछ कोड का अवलोकन है
#BeforeYouCallPETA - बिल्लियाँ ठीक हैं, यह बारिश की तरह ही एक कम दबाव का छिड़काव है, कि इससे पहले कि वे अपने चारों ओर पिवट भी कर सकें, वे आगे निकल सकते हैं। परियोजना एक बिल्ली को भिगोने के लिए नहीं है, लेकिन इससे पहले कि वे मेरे बगीचे को बार्कर अंडे के बिल्ली संस्करण के साथ कूड़ेदान में दिखा दें।
चरण 1: मुख्य आवश्यक वस्तुएँ
रास्पबेरी पाई शून्य और एसडी कार्ड
रास्पबेरी पाई कैमरा
रिले
555 टाइमर…. (या एक arduino और दूसरा रिले यदि आपके 555 टाइमर नहीं आते हैं)
solenoid
बुझानेवाला
इलेक्ट्रॉनिक्स के लिए किसी प्रकार का आवास
एक ६ टन स्लेज हैमर के साथ एक लाक्षणिक कील मारने की इच्छा
इतने कम रिज़ॉल्यूशन वाला कैमरा आप मुश्किल से पानी देख सकते हैं, लेकिन फिर भी बिल्लियों को कवर के लिए दौड़ते हुए देख सकते हैं
चरण 2: सिस्टम
1, पाई कैमरा कुछ कैमरा फ्रेम के लिए चलती बिल्ली के आकार की वस्तु का पता लगाता है (अगले चरण में समझाया गया है)
2, पाई स्प्रिंकलर सेट करता है
3, बिल्ली कवर के लिए दौड़ती है
4, आनंद देखने के लिए वीडियो स्वचालित रूप से यूट्यूब पर अपलोड हो जाता है
चरण 3: कोडिंग समय
फ्रेम घटाव का उपयोग करके ओपनसीवी का उपयोग करके आप समय के साथ बदलते फ्रेम के क्षेत्रों को ढूंढ सकते हैं, कुछ निफ्टी फ़ंक्शंस का उपयोग करके आप यह पता लगा सकते हैं कि ये परिवर्तन कितने बड़े हैं और यदि वे समय के साथ बने रहते हैं, और सबसे महत्वपूर्ण बात यह है कि वे बिल्ली के आकार के हैं या नहीं।
फ्रेम घटाव पर काफी कुछ ट्यूटोरियल हैं जो यदि आप एक त्वरित Google खोज करते हैं तो बहुत विस्तार से जाते हैं।
कोड कैसे काम करता है इसका अवलोकन
1, कैमरा फ्रेम लेता रहता है और उनकी तुलना आखिरी से करता है
2, यदि एक बिल्ली के आकार का आकार पाया जाता है तो यह नोट किया जाता है
3, यदि बिल्ली के आकार का परिवर्तन लगभग 4 फ्रेम पर बना रहता है, तो पाई अपने GPIO का उपयोग बिजली रिले के लिए arduino शुरू करने के लिए करती है
4, आर्डिनो 5 सेकंड के लिए दूसरे रिले को बिजली देने के लिए एक संकेत भेजता है जो सोलनॉइड को सक्रिय करता है
5, संचालित होने पर सोलनॉइड स्प्रिंकलर को पानी की अनुमति देता है
6, जबकि स्प्रिंकलर सक्रिय है, कैमरा वीडियो का पता लगाना और रिकॉर्ड करना बंद कर देता है
7, वीडियो यूट्यूब पर अपलोड किया जाता है
8, ठीक ट्यूनिंग सिस्टम के लिए ड्रॉपबॉक्स पर स्टिल अपलोड किए गए
नोट - मैंने 5 सेकंड के लिए सोलनॉइड को चालू करने के लिए 2 रिले और एक आर्डिनो का उपयोग क्यों किया…..
1, वीडियो रिकॉर्ड करते समय पीआई सोलनॉइड को शुरू और बंद नहीं कर सकता है क्योंकि वीडियो समाप्त होने तक पाइथन स्क्रिप्स रुक जाता है, इसलिए आर्डिनो (या 555 टाइमर) की आवश्यकता होती है ताकि सोलनॉइड को स्क्रिप्ट से स्वतंत्र रूप से खोलने और बंद करने की अनुमति मिल सके। वीडियो अभी भी रिकॉर्ड हो रहा है।
2, पहले रिले और आर्डिनो को ५५५ टाइमर से बदला जा सकता है, लेकिन वह इस परियोजना के लिए समय पर पोस्ट में नहीं आया, ५५५ बहुत समय के पैसे और कदमों की बचत करेगा।
3, पीआई सीधे सोलनॉइड को ट्रिगर नहीं कर सकता क्योंकि पीआई जीपीआईओ 3.3v और 51mA अधिकतम पर काम करता है, और सोलनॉइड 5V और 51mA से अधिक ट्रिगर करना चाहता है।
4, अवांछित क्षेत्रों में गति का पता लगाने के लिए प्रत्येक फ्रेम को क्रॉप किया जा सकता है, जैसे कि नेगबोर गार्डन। ऐसा करने में विफलता के परिणामस्वरूप उक्त पड़ोसी आपके बगीचे में भ्रमित हो जाएगा क्योंकि हर बार जब वह अपने शेड में जाना चाहता है तो स्प्रिंकलर बंद हो जाता है।
5, मुझे शायद कुछ स्पष्ट याद आया और इसे इस तरह स्थापित करने में अपना समय बर्बाद कर दिया।
नीचे कोड
एनपी आयात argparse के रूप में cv2import numpy आयात करें #cat आयात समय RPi. GPIO GPIO के रूप में आयात करें os picamera.array से आयात ड्रॉपबॉक्स पिकामेरा आयात PiCamera से आयात करें #--------------------- ----------------------------यूट्यूब पर अपलोड करें--------------------- ---------------------- डीईएफ़ एचडीटूयूट्यूब(): ctime = time.strftime("_%H-%M-%S") cdate = time.strftime ("_%d-%m-%Y") vidname = ctime + cdate #Trigger रिले GPIO.output(11, True) time.sleep(.5) GPIO.output(11, False) Print ("वीडियो लेना") कोशिश करें: #वीडियो लें os.system('raspivid -w 1640 -h 922 -o vid{0}.h264 -t 15000'.format(vidname)) # youtube प्रिंट पर अपलोड करें ("YouTube पर अपलोड करना") os. system('sudo youtube-upload --title="Cat Got Wet {0}" --client-secrets=client_secret.json vid{0}.h264'.format(vidname)) # os.remove हो जाने पर वीडियो फ़ाइल निकालें ('vid{0}.h264'.format(vidname)) प्रिंट ("वीडियो अपलोड किया गया और Pi से हटाया गया") सिवाय: पास #--------------------- ----------------------------- स्टिल टू ड्रॉपबॉक्स--------------------- ------------------------ डीईएफ़ St ilsToDropbox (): प्रिंट ("अभी भी ड्रॉपबॉक्स फ़ंक्शन पर अपलोड करना") access_token = 'आह आह आह, आपने जादू शब्द नहीं कहा … आह आह आह, आपने जादू शब्द नहीं कहा' ctime = time.strftime (" %H:%M:%S") cdate = time.strftime("%d-%m-%Y") कोशिश करें: filename = "/Motion/{0}/DetectedAt_{1}.jpg"format(cdate, ctime) प्रिंट (फ़ाइल नाम) क्लाइंट = dropbox.client. DropboxClient(access_token) छवि = खुला ("ToDropbox.jpg", 'rb') client.put_file(filename, image) image.close() os.remove("ToDropbox.jpg") को छोड़कर: पास #------------------------------------------ ------ गति का पता लगाएं----------------------------------------------------- def डिटेक्टमोशन (): # डिफाइन वर्र्स मिन_एरिया = ४०० टॉलरेंस = २५ #पिक्सेल ब्लरमाउंट में बदलाव = २१ टाइमटोफॉरगेट = ०.५ कर्नेल = एनपी। MaxTargetArea का पता लगाने के लिए सबसे छोटा आकार = 5000 # अब पता लगाने के लिए सबसे बड़ा आकार = समय। समय () फिर = समय। समय () # कैमरा कैमरा शुरू करें = PiCamera () कैमरा। संकल्प = (640, 480) कैमरा। फ्रेमरेट = 10 कच्चा कैप्चर = PiRGBArray (कैमरा, आकार = (640, 480)) # वार्मअप कैमरा समय। सो (1) # पहला फ्रेम पकड़ो और इसे cv2.acumulate weight camera.capture(rawCapture, format="bgr") औसत में जाने के लिए तैयार करें = rawCapture.array # अवांछित क्षेत्र को क्रॉप करें PolyCrop = np.array(
#HowToTriggerRealProgrammersWithBadCode
चरण 4: इसे एक साथ रखना
इलेक्ट्रिक्स को वाटरप्रूफ हाउसिंग में रटना, चीजों को दीवारों में पेंच करना और बहुत सारे डक्ट टेप और गर्म गोंद का उपयोग करना
चरण 5: परिणाम
जब यह काम करता है तो यह काम करता है
चरण 6: झूठी सकारात्मक
जब यह नहीं होता है तो यह बिल्ली की छाया, आपकी पत्नी और आपकी बेटी को छिड़कता है।
प्रो-टिप - दरवाजे के पास एक स्विच लगाएं जो मोशन डिटेक्शन प्रोग्राम को रोक देता है….. फिर इसका इस्तेमाल करना भूल जाएं और डिब्बे को बाहर निकालते समय भीग जाएं।
आशा है कि मैंने अपनी सभी गलतियों के साथ प्रोग्रामिंग, इलेक्ट्रॉनिक्स और DIY क्रिंग में कोई विशेषज्ञ बनाया है, और विशेष रूप से आशा है कि आपने मेरी सभी वर्तनी गलतियों का आनंद लिया है।
सिफारिश की:
कैट ऑडियो प्रेशर प्लेट डब्ल्यू / मेकी मेकी: 8 कदम (चित्रों के साथ)
कैट ऑडियो प्रेशर प्लेट डब्ल्यू / मेकी मेकी: बिल्लियाँ कष्टप्रद हो सकती हैं लेकिन यह उन्हें कम प्यारा नहीं बनाती हैं। वे हमारे जीवित, स्नगलिंग, मेम्स हैं। आइए समस्या से शुरू करें और समाधान पर एक नज़र डालें। नीचे वीडियो देखें
सैड कैट फिक्सर, कैच-मी कैट टॉय - स्कूल प्रोजेक्ट: 3 कदम
सैड कैट फिक्सर, कैच-मी कैट टॉय - स्कूल प्रोजेक्ट: यहां हमारा उत्पाद है, यह एक इंटरेक्टिव टॉय माउस है: कैच-मी कैट टॉय। यहाँ उन समस्याओं की एक सूची दी गई है जिनका सामना हमारे समाज में कई बिल्लियाँ करती हैं: बिल्लियाँ इन दिनों निष्क्रिय और उदास होती जा रही हैं और उन्हें कुछ नहीं करना है, अधिकांश मालिक काम या स्कूल में व्यस्त हैं और आपकी सीए
द मेकिंग ऑफ: ईन मिनी स्प्रिंकलर मेटिंग (ग्रॉप १२): ८ कदम
द मेकिंग ऑफ: ईन मिनी स्प्रिंकलर मेटिंग (ग्रॉप 12): ग्रूप १२नूर्तजे रोमिजन ४६५१४६४मिल्टन फॉक्स ४६५२६२२डीज इंस्ट्रक्शनल इज गेस्च्रेवेन डोर मिल्टन फॉक्स (छात्र मैरीटीमे टेक्नीक, टीयू डेल्फ़्ट) एन नूर्तजे रोमिजन (स्टूडेंट सिविल टेक्नीक, टीयू डेल्फ़्ट)। अल्लेबेई वोल्गेन वी डे सिविल माइनर 'डी डेल्टा डेन्कर, वा
यूनिवर्सल टाइमर - स्प्रिंकलर कंट्रोलर: 5 कदम
यूनिवर्सल टाइमर - स्प्रिंकलर कंट्रोलर: यूनी-टाइमर 4 रिले के साथ एक Arduino हार्डवेयर आधारित यूनिवर्सल टाइमर-यूनिट है, जिसे अलग-अलग या समूह में 24 अलग-अलग समय अवधि में चालू और बंद करने के लिए प्रोग्राम किया जा सकता है। परियोजना का उद्देश्य अल्ट्रा चीप प्रोग्राम करने योग्य टाइमर बनाना था
एलेक्सा, स्मार्टथिंग्स, आईएफटीटीटी, गूगल शीट्स के साथ एकीकृत कण फोटॉन का उपयोग कर आईओटी कैट फीडर: 7 कदम (चित्रों के साथ)
एलेक्सा, स्मार्टथिंग्स, आईएफटीटीटी, गूगल शीट्स के साथ एकीकृत कण फोटॉन का उपयोग कर आईओटी कैट फीडर: एक स्वचालित बिल्ली फीडर की आवश्यकता स्वयं व्याख्यात्मक है। बिल्लियाँ (हमारी बिल्ली का नाम बेला है) भूख लगने पर अप्रिय हो सकती है और अगर आपकी बिल्ली मेरी जैसी है तो वह हर बार कटोरा सूखा खा लेगी। मुझे भोजन की एक नियंत्रित मात्रा को स्वचालित रूप से वितरित करने का एक तरीका चाहिए था