विषयसूची:

कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर: 5 कदम
कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर: 5 कदम

वीडियो: कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर: 5 कदम

वीडियो: कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर: 5 कदम
वीडियो: कद्दू की बेल पर आएंगे,अनगिनत फूल और फल इसे बस एक बार डालिए 2024, जुलाई
Anonim
कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर
कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर

elizabethna द्वारा लेखक द्वारा अधिक का पालन करें:

रास्पबेरी पाई तापमान मॉनिटर कैसे बनाएं
रास्पबेरी पाई तापमान मॉनिटर कैसे बनाएं
रास्पबेरी पाई तापमान मॉनिटर कैसे बनाएं
रास्पबेरी पाई तापमान मॉनिटर कैसे बनाएं
Google शीट से डेटा को डैशबोर्ड पर स्ट्रीम करें
Google शीट से डेटा को डैशबोर्ड पर स्ट्रीम करें
Google पत्रक से डैशबोर्ड पर डेटा स्ट्रीम करें
Google पत्रक से डैशबोर्ड पर डेटा स्ट्रीम करें
तापमान सेंसर का नेटवर्क
तापमान सेंसर का नेटवर्क
तापमान सेंसर का नेटवर्क
तापमान सेंसर का नेटवर्क

एक त्वरित हेलोवीन परियोजना की तलाश है जो एक से अधिक तरीकों से उपयोगी हो? उस पाई ज़ीरो WH को अच्छे उपयोग में लाना चाहते हैं? अगले वर्ष के लिए आपको कितनी कैंडी की आवश्यकता होगी, यह निर्धारित करने के लिए डेटा का उपयोग करने का मन करें?

कद्दू पाई ट्रिक-या-ट्रीट ट्रैकर बनाने के लिए तैयार हो जाइए! सजावट और लोगों पर नज़र रखने के रूप में दोगुना, यह पाई-इन-ए-कद्दू गति का पता चलने पर रंग और धाराओं को बदल देता है। पूरी तरह से शुरू से, इस परियोजना को एक साथ रखने के लिए आपको एक दोपहर से अधिक समय नहीं लेना चाहिए - बस हैलोवीन के लिए समय!

आपूर्ति

  • एसडी कार्ड के साथ पाई जीरो डब्ल्यूएच
  • पीर मोशन सेंसर
  • आरजीबी एलईडी
  • 220 ओम प्रतिरोधी
  • (3) टाई लाइन्स (एफ/एफ, एम/एफ, एम/एम)
  • पोर्टेबल बैटरी
  • नकली कद्दू

चरण 1: हार्डवेयर असेंबली

हार्डवेयर असेंबली
हार्डवेयर असेंबली
हार्डवेयर असेंबली
हार्डवेयर असेंबली
हार्डवेयर असेंबली
हार्डवेयर असेंबली

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

हमारे मोशन सेंसर के लिए आवश्यक है कि हम इसे 3.3V पावर, ग्राउंड और डेटा पिन से कनेक्ट करें। मैंने पाई के 1 को पिन करने के लिए 3.3V सेंसर पिन, पाई के 6 को पिन करने के लिए ग्राउंड सेंसर पिन और पाई के 16 को पिन करने के लिए डेटा सेंसर पिन को जोड़ा। पहली तस्वीर पाई और मोशन सेंसर के लिए पूर्ण कनेक्शन दिखाती है।

एल ई डी मोशन सेंसर की तुलना में थोड़ा अधिक मुश्किल होते हैं क्योंकि उन्हें या पीआई को नुकसान पहुंचाए बिना सही ढंग से चलाने के लिए उन्हें एक अवरोधक की आवश्यकता होती है। मैंने तीन 220 ओम प्रतिरोधों का उपयोग किया लेकिन 220 और 330 ओम प्रतिरोधों का उपयोग आमतौर पर एलईडी के साथ किया जाता है।

सब कुछ तार करने के लिए आप या तो कर सकते हैं:

  • एलईडी पैरों को प्रतिरोधों से मिलाएं और फिर तारों को पाई. में चलाएं
  • सब कुछ जोड़ने के लिए ब्रेडबोर्ड और टाई लाइनों का उपयोग करें
  • सब कुछ जोड़ने के लिए टाई लाइनों और बिजली के टेप का उपयोग करें (जैसे मैंने किया)।

हम अपने एलईडी को 11, 13 और 15 पिन से जोड़ेंगे। यह मोशन सेंसर की तुलना में थोड़ा मुश्किल है, हालांकि, क्योंकि एलईडी पर पैर एक विशिष्ट रंग से मेल खाते हैं! लंबा पैर GND है; और, मेरे एलईडी पर कम से कम, पैर लाल, जीएनडी, नीला, हरा चला गया। मैंने ब्लू से पाई पिन 11, ग्रीन से पाई पिन 13, और रेड से पाई पिन 15 को जोड़ा। दूसरी तस्वीर अंतिम सर्किट कनेक्शन दिखाती है।

चरण 2: प्रारंभिक अवस्था

प्रारम्भिक अवस्था
प्रारम्भिक अवस्था
प्रारम्भिक अवस्था
प्रारम्भिक अवस्था

निश्चित रूप से हम देख सकते हैं कि एलईडी के साथ गति का पता चला है, लेकिन हम कैसे ट्रैक करने जा रहे हैं कि हमारी कैंडी चोरी करने के लिए कितने चाल-या-उपचारकर्ता गिराए गए?

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

चरण 1: प्रारंभिक राज्य खाते के लिए पंजीकरण करें https://iot.app.initialstate.com पर जाएं और एक नया खाता बनाएं।

चरण 2: ISStreamer स्थापित करें

अपने रास्पबेरी पाई पर प्रारंभिक राज्य पायथन मॉड्यूल स्थापित करें। कमांड प्रॉम्प्ट पर (पहले अपने पाई में SSH को न भूलें), निम्न कमांड चलाएँ:

$ सीडी / घर / पीआई /

$ / curl -sSL https://get.initialstate.com/python -o - | सुडो बाश

चरण 3: कुछ स्वचालित बनाएं

चरण 2 के बाद आप स्क्रीन पर निम्न आउटपुट के समान कुछ देखेंगे:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | सुडो बाश

पासवर्ड: ISStreamer Python आसान इंस्टालेशन की शुरुआत! इसे स्थापित करने में कुछ मिनट लग सकते हैं, कुछ कॉफी लें:) लेकिन वापस आना न भूलें, मेरे पास बाद में प्रश्न होंगे! आसान_इंस्टॉल मिला: सेटअपटूल 1.1.6 पाईप: पाइप 1.5.6 /लाइब्रेरी/पायथन/2.7/साइट-पैकेज/पाइप-1.5.6- py2.7.egg (पायथन 2.7) से पाइप प्रमुख संस्करण: 1 पिप मामूली संस्करण: 5 ISStreamer मिला, अपडेट कर रहा है… आवश्यकता पहले से ही अप-टू-डेट है: ISStreamer /Library/Python/2.7/site-packages में सफाई हो रही है… क्या आप स्वचालित रूप से एक उदाहरण स्क्रिप्ट प्राप्त करना चाहते हैं? [y/N] आप उदाहरण को कहाँ सहेजना चाहते हैं? [डिफ़ॉल्ट:./is_example.py] कृपया चुनें कि आप किस प्रारंभिक राज्य ऐप का उपयोग कर रहे हैं: 1. app.initialstate.com 2. [नया!] iot.app.initialstate.com विकल्प 1 या 2 दर्ज करें: iot.app दर्ज करें.initialstate.com उपयोगकर्ता नाम: iot.app.initialstate.com पासवर्ड दर्ज करें:

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

चरण 4: एक्सेस कुंजी

आइए उस उदाहरण स्क्रिप्ट पर एक नज़र डालें जो बनाई गई थी। $ nano is_example.py लाइन १५ पर, आपको एक लाइन दिखाई देगी जो स्ट्रीमर = स्ट्रीमर (बकेट_… से शुरू होती है। यह लाइन "पायथन स्ट्रीम उदाहरण" नामक एक नई डेटा बकेट बनाती है और आपके खाते से जुड़ी होती है। यह जुड़ाव इस वजह से होता है उसी लाइन पर access_key="…" पैरामीटर। अक्षरों और संख्याओं की वह लंबी श्रृंखला आपकी प्रारंभिक राज्य खाता पहुंच कुंजी है। यदि आप अपने वेब ब्राउज़र में अपने प्रारंभिक राज्य खाते में जाते हैं, तो ऊपर दाईं ओर अपने उपयोगकर्ता नाम पर क्लिक करें, फिर जाएं "मेरी सेटिंग्स" के लिए, आपको पृष्ठ के निचले भाग में "स्ट्रीमिंग एक्सेस कीज़" के तहत वही एक्सेस कुंजी मिलेगी।

हर बार जब आप कोई डेटा स्ट्रीम बनाते हैं, तो वह एक्सेस कुंजी उस डेटा स्ट्रीम को आपके खाते में भेज देगी (इसलिए अपनी कुंजी किसी के साथ साझा न करें).

चरण 5: उदाहरण चलाएँ

यह सुनिश्चित करने के लिए परीक्षण स्क्रिप्ट चलाएँ कि हम आपके प्रारंभिक राज्य खाते में डेटा स्ट्रीम बना सकते हैं। निम्नलिखित चलाएँ:

$ अजगर is_example.py

चरण 6: लाभ

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

चरण 3: पायथन लिपि

एक स्क्रिप्ट बनाएं और निम्न कमांड के साथ टेक्स्ट एडिटर खोलें:

नैनो विज़िटर्स.py

कोड को यहां से कॉपी करके अपने टेक्स्ट एडिटर में पेस्ट करें।

इससे पहले कि हम कुछ भी चलाने का प्रयास करें, हमें कुछ संपादन करने और समीक्षा करने की आवश्यकता है कि हमारी स्क्रिप्ट में क्या हो रहा है।

RPI. GPIO को GPIO के रूप में आयात करें

समय से ISStreamer से नींद आयात करें। स्ट्रीमर आयात स्ट्रीमर # पाई को बताएं कि हम इसकी नंबरिंग प्रणाली GPIO.setmode (GPIO. BCM) का उपयोग करने जा रहे हैं # पिन जो D1 और LED पिन से जुड़े हैं = 23 BLUE = 17 GREEN = 27 RED = 22 # हमारे मोशन सेंसर पिन को इनपुट के रूप में निर्दिष्ट करें GPIO.setup(PIN, GPIO. IN) # हमारे LED पिन को आउटपुट के रूप में निर्दिष्ट करें, GPIO. OUT) GPIO.output (हरा, 0) GPIO.setup (नीला, GPIO. OUT) GPIO.output (नीला, 0)

लाइनें 1-21 आरंभीकरण के लिए हैं। सबसे पहले हम पीआई के जीपीआईओ इंटरफेस और हमारी स्क्रिप्ट को सोने का एक तरीका आयात करते हैं। फिर हम प्रारंभिक राज्य स्ट्रीमर आयात करते हैं जिसे हमने पिछले पृष्ठ पर स्थापित किया था।

GPIO.setmode निर्दिष्ट करता है कि हम पिन के लिए किस नंबरिंग सिस्टम का उपयोग कर रहे हैं। भौतिक स्थान के बजाय, हम पाई की नंबरिंग प्रणाली का उपयोग कर रहे हैं। जैसा कि पहले हमारे आरेख में था, हमने जो पिन चुने थे वे 23, 17, 27 और 22 थे। फिर हम मोशन पिन को इनपुट के रूप में और एलईडी पिन को आउटपुट के रूप में सेट करते हैं।

# प्रारंभिक राज्य बकेट नाम (प्रदर्शित)

BUCKET_NAME = ": jack_o_lantern: ट्रिक या ट्रीट ट्रैकर" # आरंभिक स्टेट बकेट की (छिपा हुआ) BUCKET_KEY = "trickortreat" # प्रारंभिक स्टेट एक्सेस कुंजी ACCESS_KEY = "Your_Access_Key" # वेरिएबल जो सुनिश्चित करते हैं कि हम स्ट्रीम नहीं करते हैं कि वहाँ था या नहीं था एक पंक्ति में दो बार गति # यह पहले से भेजी गई घटनाओं और प्रसंस्करण शक्ति पर बचाता हैरिकॉर्डेडमोशन = पहले से ही गलत रिकॉर्ड किया गया नोमोशन = गलत काउंटर = 0 # प्रारंभिक राज्य स्ट्रीमर स्ट्रीमर शुरू करें = स्ट्रीमर (बकेट_नाम = BUCKET_NAME, बाल्टी_की = BUCKET_KEY, एक्सेस_की = ACCESS_KEY) # चालू करें और सेट करें एलईडी से पीले GPIO.output(RED, 1) GPIO.output(GREEN, 1)

23-41 लाइनें महत्वपूर्ण हैं क्योंकि हम आरंभिक राज्य स्ट्रीमर को प्रारंभ कर रहे हैं और एलईडी को पीले रंग में सेट कर रहे हैं। अपनी इनिशियल स्टेट एक्सेस की को लाइन 28 पर रखें।

# लूप अनिश्चित काल के लिए

जबकि सच: # यदि गति संवेदक उच्च खींचता है (गति का पता लगाता है): यदि GPIO.input (पिन) == 1: "मोशन का पता चला" प्रिंट करें # यदि हमने अभी तक स्ट्रीम नहीं किया है: यदि पहले से ही रिकॉर्ड नहीं किया गया है: काउंटर = काउंटर + 1 # LED को लाल GPIO.output(RED, 1) GPIO.output(GREEN, 0) पर सेट करें # प्रारंभिक अवस्था में स्ट्रीम करें। स्ट्रीमर.लॉग (": कैंडी: हंग्री ह्यूमन?: कैंडी:", काउंटर) स्ट्रीमर। फ्लश () पहले से ही रिकॉर्डेडमोशन = सच पहले से ही रिकॉर्ड किया गया नोमोशन = गलत और: # 1 सेकंड की नींद के लिए स्क्रिप्ट को रोकें (1) अन्य: प्रिंट "कोई गति नहीं मिली" # अगर हमने अभी तक स्ट्रीम नहीं किया है: अगर पहले से रिकॉर्ड नहीं किया गया है नोमोशन: # एलईडी को पीले GPIO.output(RED, 1) GPIO.output(GREEN, 1) पर सेट करें # प्रारंभिक स्टेट स्ट्रीमर पर स्ट्रीम करें।:?", ": no_pedestrians: नो वन अराउंड") स्ट्रीमर.फ्लश () पहले से ही रिकॉर्डेड नोमोशन = ट्रू पहले से ही रिकॉर्डेड मोशन = गलत और: # 1 सेकंड की नींद के लिए स्क्रिप्ट को रोकें (1)

लाइन्स 43-77 कोड का मांस हैं। यदि गति का पता चलता है, तो स्क्रिप्ट यह देखने के लिए जाँच करेगी कि क्या "टाइम फॉर ट्रीट्स!" पहले ही स्ट्रीम किया जा चुका है। यदि ऐसा नहीं है, तो इसे प्रारंभिक स्थिति में भेजा जाता है और एलईडी को लाल रंग में सेट किया जाता है; यदि ऐसा है, तो स्क्रिप्ट 1 सेकंड प्रतीक्षा करती है और फिर गति संवेदक से फिर से पढ़ती है। यदि कोई गति नहीं पाई जाती है तो वही होता है।

कोड का परीक्षण करने का समय आ गया है! सुनिश्चित करें कि आपने अपनी संपादित फ़ाइल को अपनी एक्सेस कुंजी के साथ लाइन 28 पर जोड़ा है, और फिर टर्मिनल में प्रवेश करें:

अजगर

आपको एलईडी को चालू होते देखना चाहिए और "कोई गति नहीं मिली" कमांड लाइन पर प्रिंट करना शुरू करें। मोशन सेंसर पर अपना हाथ लहराते हुए देखें - अब आपको एक लाल बत्ती दिखाई देनी चाहिए और "मोशन डिटेक्टेड" प्रिंट होना शुरू हो जाएगा!

अब यह सत्यापित करने के लिए कि हमारे रीडिंग को प्रारंभिक अवस्था में स्ट्रीम किया जा रहा है।

चरण 4: ट्रिक-या-ट्रीट डैशबोर्ड

ट्रिक-या-ट्रीट डैशबोर्ड
ट्रिक-या-ट्रीट डैशबोर्ड

आरंभिक स्थिति पर जाएं और अपना डैशबोर्ड देखें! आपको "?ट्रिक ऑर ट्रीट ट्रैकर" नामक बकेट देखना चाहिए। मोशन सेंसर के पास अपना हाथ लहराएं और इसे अपडेट देखें!

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

यहां कुछ बातें विचार करने के लिए हैं:

  • आप शायद "हंग्री ह्यूमन" की गिनती को 2 से विभाजित करना चाहते हैं, इस तथ्य को ध्यान में रखते हुए कि एक ही व्यक्ति मोशन सेंसर के सामने से दो बार गुजरेगा - आपके दरवाजे के रास्ते में और वापस जाते समय। आप इसे "=math.round(([Hungry Humans?]/2), 0)" समीकरण का उपयोग करके रीयल-टाइम एक्सप्रेशंस के साथ कर सकते हैं।
  • आप परीक्षण कर सकते हैं कि आपका मोशन सेंसर कितना संवेदनशील लगता है और इसे अपने फुटपाथ पर उसी के अनुसार रखें। मेरा सुझाव है कि इसे दरवाजे से इतनी दूर रखें कि जब कोई दरवाजे पर खड़ा हो तो यह ट्रिगर न हो।
  • आप किसी के पास आने के बारे में बताने के लिए टेक्स्ट अलर्ट भी सेट कर सकते हैं।
  • अपने डैशबोर्ड को थोड़ा डरावना व्यक्तित्व देने के लिए एक पृष्ठभूमि छवि चुनें!

सिफारिश की: