विषयसूची:

पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर: 7 कदम (चित्रों के साथ)
पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर: 7 कदम (चित्रों के साथ)

वीडियो: पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर: 7 कदम (चित्रों के साथ)

वीडियो: पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर: 7 कदम (चित्रों के साथ)
वीडियो: How I feed my turtle 🐢#shorts 2024, जुलाई
Anonim
Image
Image
पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर
पालतू जानवरों के लिए IoT ट्रीट डिस्पेंसर

मेरे पास दो बिल्लियाँ हैं, और उन्हें दिन में लगभग 3 बार ट्रीट देना काफी परेशानी का सबब बन गया। वे मुझे अपने प्यारे चेहरों और तीव्र घूरों से देखते, फिर बिल्ली के हरे भरे बक्से में दौड़ते, म्याऊ करते और उनके लिए भीख माँगते। मैंने तय कर लिया था कि बस इतना ही काफी है। बिल्ली को एक-दो दावत देने के लिए अब और नहीं उठना। अब एक ट्रीट डिस्पेंसिंग मशीन का समय था, क्योंकि जैसा कि कहा जाता है: "प्रोग्रामर सरल चीजों को कम करने के लिए जटिल सामान बनाने के लिए मौजूद हैं।"

DFRobot ने इस परियोजना को प्रायोजित किया।

हिस्सों की सूची:

  • DFRobot रास्पबेरी पाई 3
  • DFRobot रास्पबेरी पाई कैमरा मॉड्यूल
  • प्लैनेटरी गियर के साथ DFRobot स्टेपर मोटर
  • I2C एलसीडी 16x2
  • टर्मिनल के लिए बैरल जैक
  • DRV8825 स्टेपर मोटर चालक
  • संधारित्र १०० µF
  • Arduino UNO और Genuino UNO
  • जम्पर तार (जेनेरिक)

चरण 1: एक डिज़ाइन बनाना

एक डिजाइन बनाना
एक डिजाइन बनाना

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

चरण 2: फ़्यूज़न 360 मॉडल बनाना

फ्यूजन 360 मॉडल बनाना
फ्यूजन 360 मॉडल बनाना
फ्यूजन 360 मॉडल बनाना
फ्यूजन 360 मॉडल बनाना
फ्यूजन 360 मॉडल बनाना
फ्यूजन 360 मॉडल बनाना

मैंने ट्रीट रिसेप्टकल के लिए एक बेस मॉडल बनाकर शुरुआत की। ट्रीट एक मिनी-हॉपर में गिरते हैं जहां उन्हें फिर एक घूमने वाले पहिये में ले जाया जाता है।

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

ट्रीट डिस्पेंसर की दीवारों को सीएनसी राउटर पर 1/4 इंच प्लाईवुड से काटा जाना चाहिए। इसमें 7 टुकड़े हैं, 4 दीवारें, एक मंजिल, और एक शीर्ष और ढक्कन का टुकड़ा जो व्यवहार को उजागर करने के लिए खुल और बंद कर सकता है।

अंत में, मैंने ढक्कन खोलने के लिए एक "फैंसी" हैंडल बनाया।

चरण 3: पाई सेट करना

DFRobot मेरे पास पहुंचा और अपना रास्पबेरी पाई 3 और रास्पबेरी पाई कैमरा मॉड्यूल भेजा। इसलिए जब मैंने बक्से खोले तो मुझे एसडी कार्ड सेट करके काम करने का अधिकार मिल गया। सबसे पहले मैं रास्पबेरी पाई डाउनलोड पेज पर गया और रास्पियन का नवीनतम संस्करण डाउनलोड किया। मैंने फिर फ़ाइल निकाली और उसे एक सुविधाजनक निर्देशिका में डाल दिया। आप किसी.img फ़ाइल को SD कार्ड में कॉपी/पेस्ट नहीं कर सकते, आपको कार्ड पर "बर्न" करना होगा। OS छवि को आसानी से स्थानांतरित करने के लिए आप Etcher.io जैसी जलती हुई उपयोगिता डाउनलोड कर सकते हैं। मेरे एसडी कार्ड पर.img फ़ाइल होने के बाद मैंने इसे रास्पबेरी पाई में डाला और इसे शक्ति दी। लगभग 50 सेकंड के बाद मैंने कॉर्ड को अनप्लग किया और एसडी कार्ड निकाल दिया। इसके बाद मैंने एसडी कार्ड वापस अपने पीसी में डाल दिया और "बूट" निर्देशिका में चला गया। मैंने नोटपैड खोला और इसे "ssh" नाम की एक खाली फ़ाइल के रूप में बिना किसी एक्सटेंशन के सहेजा। एक फ़ाइल भी थी जिसे मैंने "wpa_supplicant.conf" नाम से जोड़ा और इस पाठ को इसमें डाला: नेटवर्क = {एसएसआईडी = पीस्क =} फिर मैंने कार्ड को सहेजा और निकाल दिया और इसे रास्पबेरी पाई 3 में वापस रख दिया। अब इसे अनुमति देनी चाहिए SSH का उपयोग और WiFi से कनेक्ट करना।

चरण 4: सॉफ़्टवेयर स्थापित करना

कई अलग-अलग सॉफ्टवेयर हैं जो वीडियो स्ट्रीम कर सकते हैं, जैसे कि वीएलसी और गति, लेकिन मैंने एमजेपीईजी-स्ट्रीमर का उपयोग करने का फैसला किया क्योंकि इसकी कम विलंबता और आसान स्थापना है। साइट पर दिए गए निर्देशों के अनुसार, एक करें: git क्लोन https://github.com/jacksonliam/mjpg-streamer.git एक फ़ोल्डर में, फिर टाइप करें: sudo apt-get cmake libjpeg8-dev इंस्टॉल करें आवश्यक लाइब्रेरी स्थापित करने के लिए। अपनी निर्देशिका को आपके द्वारा डाउनलोड किए गए फ़ोल्डर में बदलें और फिर टाइप करें: इसके बाद बनाएं: sudo make install सॉफ्टवेयर को संकलित करने के लिए। अंत में दर्ज करें: निर्यात LD_LIBRARY_PATH=. और इसे चलाने के लिए टाइप करें:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicaam.so" आप इस पर जाकर स्ट्रीम एक्सेस कर सकते हैं: https:// pi's local ip:8080/stream। html स्ट्रीम देखने के लिए।

चरण 5: एक वेबसर्वर की स्थापना

मशीन को वाईफाई द्वारा बाहरी रूप से नियंत्रित करने के लिए मुझे एक वेबसर्वर की आवश्यकता थी। एक वेबसर्वर मूल रूप से अनुरोध किए जाने पर, आमतौर पर एक ब्राउज़र द्वारा वेबपेजों को प्रस्तुत करता है। मैं अपाचे को टेबल से हटाकर सेटअप और उपयोग करने के लिए कुछ त्वरित और सरल चाहता था। मैं वेबसर्वर को पायथन के साथ इंटरफेस करना चाहता था ताकि मैं Arduino Uno को PySerial के साथ नियंत्रित कर सकूं। इस खोज ने मुझे अंततः फ्लास्क में ले जाया, एक अच्छा पायथन पुस्तकालय जो उपयोगकर्ताओं को जल्दी से एक वेबसर्वर बनाने देता है। पूरा कोड इस प्रोजेक्ट पेज से जुड़ा हुआ है। पायथन लिपि मूल रूप से 2 वेबपेज सेट करती है, एक जो रूट डायरेक्टरी में होस्ट किया जाता है, '/', और दूसरा जो '/dense' पर होस्ट किया जाता है। इंडेक्स पेज में एक HTML फॉर्म होता है जो सबमिट करने पर डिस्पेंस पेज पर एक पोस्ट रिक्वेस्ट भेजता है। डिस्पेंस पेज तब जांचता है कि क्या पोस्ट वैल्यू सही है, और यदि यह संदेश 'डी / n' है तो सीरियल के माध्यम से Arduino Uno को भेजा जाता है।

चरण 6: आईओ को नियंत्रित करना

IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना
IO. को नियंत्रित करना

मैंने अपनी स्टेपर मोटर को चलाने के लिए DRV8825 का उपयोग करने का निर्णय लिया, मुख्य रूप से इसके कारण केवल 2 IO पिन की आवश्यकता होती है और साथ ही साथ समायोज्य वर्तमान सीमा भी होती है। मैंने L293D का उपयोग करने की कोशिश की, लेकिन यह स्टेपर मोटर के भार को संभाल नहीं सका। DRV8825 को PWM के माध्यम से STEP पिन को स्पंदित करके नियंत्रित किया जाता है, और DIR पिन को उच्च या निम्न खींचकर दिशा को नियंत्रित किया जाता है। मैं जिस स्टेपर मोटर का उपयोग कर रहा हूं उसमें 1.2 amp ड्रा है, इसलिए मैंने VREF वोल्टेज को.6V में समायोजित किया। अगला एलसीडी था। मैं आवश्यक आईओ की मात्रा को कम करने और कोड को सरल बनाने के लिए I2C का उपयोग करना चाहता था। पुस्तकालय स्थापित करने के लिए, बस "LiquidCrystal_I2C" खोजें और इसे स्थापित करें। अंत में, Arduino Uno सीरियल बफर में नई जानकारी की जांच करता है और यदि यह 'D' से मेल खाता है। यदि ऐसा होता है, तो यूनो स्टेपर मोटर को 180 डिग्री और फिर -72 डिग्री स्थानांतरित करने का कारण बनता है ताकि इलाज को दर्ज होने से रोका जा सके।

सिफारिश की: