विषयसूची:

दरवाजा और तापमान स्थिति लकड़हारा परियोजना: 21 कदम
दरवाजा और तापमान स्थिति लकड़हारा परियोजना: 21 कदम

वीडियो: दरवाजा और तापमान स्थिति लकड़हारा परियोजना: 21 कदम

वीडियो: दरवाजा और तापमान स्थिति लकड़हारा परियोजना: 21 कदम
वीडियो: विज्ञान कक्षा 7 एटग्रेड अभ्यास पुस्तिका 2023-24 अध्याय 3 प्रोजेक्ट //8 grade abhyas pustika science 2024, जुलाई
Anonim
दरवाजा और तापमान स्थिति लकड़हारा परियोजना
दरवाजा और तापमान स्थिति लकड़हारा परियोजना

यह निर्देश आपको दिखाएगा कि ESP8266 NodeMCU, एक DHT11 तापमान और आर्द्रता सेंसर, एक डोर / विंडो रीड स्विच, एक 10K ओम रेसिस्टर और कुछ हुकअप वायर का उपयोग करके $ 10.00 से कम के लिए एक साधारण दरवाजा और तापमान स्थिति लकड़हारा कैसे बनाया जाए।

इस परियोजना की उत्पत्ति Arduino बोर्ड के साथ और अधिक होम ऑटोमेशन करने की मेरी इच्छा से हुई थी, चूंकि मैं Arduino संगत EPS8266 NodeMCU के बारे में बहुत कुछ पढ़ रहा था, मैंने फैसला किया कि यह बोर्ड कुछ प्रयोग करने के लिए एकदम सही कम लागत वाला बोर्ड होगा। ESP8266 बोर्डों का उपयोग करके होम ऑटोमेशन परियोजनाओं के लिए इंटरनेट पर खोज करने के बाद, मैंने अपने पहले प्रयास के लिए एक तापमान और डोर स्टेटस लॉगर के संयोजन पर समझौता किया। आखिरकार इस परियोजना को सर्वो, नमी सेंसर और अन्य इलेक्ट्रॉनिक्स के साथ जोड़ा जाएगा ताकि मेरे दादाजी ने 50 साल पहले डिजाइन और निर्मित एक छोटे से ग्रीन हाउस को स्वचालित किया। तापमान संवेदक का उपयोग यह निर्धारित करने के लिए किया जाएगा कि क्या हीटिंग सिस्टम को लगाया जाना चाहिए या बंद किया जाना चाहिए और साथ ही सर्वो को जरूरत पड़ने पर वेंटिंग सिस्टम को खोलने और बंद करने का संकेत दिया जाएगा। चुंबकीय रीड स्विच के उपयोग से वेंटिंग सिस्टम की स्थिति की निगरानी की जाएगी। अंत में, नमी सेंसर का उपयोग एक जल प्रणाली को स्वचालित करने के लिए किया जाएगा।

चरण 1: अस्वीकरण

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

चरण 2: सेटअप मुक्त IFTTT खाता

सेटअप मुक्त IFTTT खाता
सेटअप मुक्त IFTTT खाता

यदि आपके पास पहले से एक नहीं है, तो अब उनके होम पेज पर जाकर एक मुफ्त आईएफटीटीटी खाता स्थापित करने का समय है। आपको उन सेवाओं का नए तरीकों से लाभ उठाने में सक्षम बनाता है। इस परियोजना के लिए हम IFTTT का उपयोग करने जा रहे हैं ताकि एक ईएसपी8266 एक ईख स्विच और तापमान और आर्द्रता के माध्यम से एक Google पत्रक दस्तावेज़ में DHT11 सेंसर के माध्यम से एक दरवाजे की स्थिति को लॉग कर सके।

चरण 3: एक IFTTT एप्लेट बनाएं

एक IFTTT एप्लेट बनाएं
एक IFTTT एप्लेट बनाएं

IFTTT में रहते हुए, "माई एप्लेट्स" सेक्शन में आगे बढ़ें और "न्यू एप्लेट" बटन पर क्लिक करके एक नया एप्लेट बनाएं।

चरण 4: अपने एप्लेट के "यह" भाग को कॉन्फ़िगर करें।

कॉन्फ़िगर करें
कॉन्फ़िगर करें

नीले रंग में "इस" शब्द पर क्लिक करें - जैसा कि ऊपर की आकृति में हाइलाइट किया गया है।

चरण 5: अपने एप्लेट में WebHooks सेवा जोड़ें।

अपने एप्लेट में WebHooks सेवा जोड़ें।
अपने एप्लेट में WebHooks सेवा जोड़ें।

खोज बार में, "वेबहुक" सेवा खोजें और वेबहुक आइकन चुनें।

एक बार जब आपको "वेबहुक" सेवा मिल जाए, तो उस पर क्लिक करें।

चरण 6: एक वेब अनुरोध ट्रिगर प्राप्त करें सेटअप करें।

वेब अनुरोध ट्रिगर प्राप्त करें सेटअप करें।
वेब अनुरोध ट्रिगर प्राप्त करें सेटअप करें।

"वेब अनुरोध प्राप्त करें" ट्रिगर चुनें।

चरण 7: एक घटना का नाम प्रदान करें

एक घटना का नाम प्रदान करें
एक घटना का नाम प्रदान करें

टेक्स्ट बॉक्स में एक ईवेंट नाम के साथ अपना नया एप्लेट प्रदान करें। मैंने "डेटा लकड़हारा" चुना है, लेकिन आप जो चाहें चुन सकते हैं।

चरण 8: अपने एप्लेट के "उस" भाग को कॉन्फ़िगर करें।

कॉन्फ़िगर करें
कॉन्फ़िगर करें

नीले रंग में "उस" शब्द पर क्लिक करें - जैसा कि ऊपर की आकृति में हाइलाइट किया गया है।

चरण 9: एक कार्य सेवा सेटअप करें

एक एक्शन सर्विस सेट करें
एक एक्शन सर्विस सेट करें

खोज बॉक्स में, "Google पत्रक" सेवा खोजें, और Google पत्रक आइकन पर क्लिक करें।

चरण 10: Google पत्रक से कनेक्ट करें

Google पत्रक से कनेक्ट करें
Google पत्रक से कनेक्ट करें

यदि आपने पहले से ऐसा नहीं किया है, तो आपको अपने IFTTT खाते को Google पत्रक से कनेक्ट करने की आवश्यकता नहीं होगी। ऊपर दिखाए गए कनेक्ट बटन को दबाएं और ऑन-स्क्रीन निर्देशों का पालन करें।

चरण 11: एक क्रिया चुनें

एक क्रिया चुनें
एक क्रिया चुनें

"स्प्रेडशीट में पंक्ति जोड़ें" पर क्लिक करें।

चरण 12: कार्रवाई सेटअप करें

कार्रवाई सेट करें
कार्रवाई सेट करें

"स्प्रेडशीट नाम" टेक्स्ट बॉक्स में एक नाम प्रदान करें। मैं स्थिरता के लिए "Data_Logger" का उपयोग करना चुनता हूं। बाकी सेटिंग को अकेला छोड़ दें (आप किसी और समय उन सेटिंग के साथ प्रयोग कर सकते हैं) और फिर स्क्रीन के नीचे "क्रिएट एक्शन" बटन दबाएं।

चरण 13: अपने एप्लेट की समीक्षा करें और उसे अंतिम रूप दें।

अपने एप्लेट की समीक्षा करें और उसे अंतिम रूप दें।
अपने एप्लेट की समीक्षा करें और उसे अंतिम रूप दें।

अपने एप्लेट कॉन्फ़िगरेशन से संतुष्ट होने के बाद "फिनिश" बटन दबाएं।

चरण 14: बाद में आवश्यक कॉन्फ़िगरेशन जानकारी पुनर्प्राप्त करें।

बाद में आवश्यक कॉन्फ़िगरेशन जानकारी पुनर्प्राप्त करें।
बाद में आवश्यक कॉन्फ़िगरेशन जानकारी पुनर्प्राप्त करें।

ऊपर बताए अनुसार "वेबहुक" पर क्लिक करें।

चरण 15: API कुंजी के लिए Webhooks दस्तावेज़ीकरण पर आगे बढ़ें

API कुंजी के लिए Webhooks दस्तावेज़ीकरण पर आगे बढ़ें
API कुंजी के लिए Webhooks दस्तावेज़ीकरण पर आगे बढ़ें

यह अजीब लग सकता है लेकिन अपनी अनूठी एपीआई कुंजी के साथ पृष्ठ पर जाने के लिए ऊपरी दाएं भाग में दस्तावेज़ीकरण लिंक पर क्लिक करें।

चरण 16: एपीआई कुंजी सहेजें

एपीआई कुंजी सहेजें
एपीआई कुंजी सहेजें
एपीआई कुंजी सहेजें
एपीआई कुंजी सहेजें

दस्तावेज़ीकरण स्क्रीन की पहली पंक्ति आपकी अद्वितीय API कुंजी प्रदर्शित करती है। बाद में उपयोग के लिए इस कुंजी को कॉपी और सेव करें।

यहां एप्लेट का परीक्षण करना भी एक अच्छा विचार है। {event} को Data_Logger में बदलना याद रखें या जो भी आपने अपने ईवेंट का नाम दिया है और 3 खाली मानों में कुछ डेटा जोड़ें, फिर पृष्ठ के निचले भाग में "इसे जांचें" बटन पर क्लिक करें। आपको "इवेंट ट्रिगर किया गया है" कहते हुए एक हरा संदेश देखना चाहिए। यदि ऐसा है, तो Google डॉक्स पर जाएं और पुष्टि करें कि आपके द्वारा परीक्षण पृष्ठ में दर्ज किया गया डेटा Google पत्रक दस्तावेज़ में दिखाया गया है।

चरण 17: घटकों को इकट्ठा करें

घटकों को इकट्ठा करो
घटकों को इकट्ठा करो
घटकों को इकट्ठा करो
घटकों को इकट्ठा करो
घटकों को इकट्ठा करो
घटकों को इकट्ठा करो

आपको केवल कुछ भागों की आवश्यकता होगी।

1) ESP8266 NodeMcu विकास बोर्ड

2) DHT11 तापमान / आर्द्रता सेंसर

3) दरवाजा / खिड़की रीड स्विच

4) 10k ओम रेसिस्टर

5) हुकअप वायर

चरण 18: घटकों को इकट्ठा करें

1) ESP8266 पर 3v3 पिन में से एक को DHT11 पर vcc पिन से कनेक्ट करें।

2) ESP8266 पर एक ग्राउंड पिन को DHT11 पर ग्राउंड पिन से कनेक्ट करें।

3) ESP8266 पर DHT11 पर डेटा पिन के लिए पिन D4 (IDE में उर्फ पिन 2) कनेक्ट करें।

4) ESP8266 पर एक और 3v3 पिन को डोर/विंडो रीड स्विच के एक तरफ से कनेक्ट करें।

5) ईएसपी8266 पर पिन डी 5 (आईडीई में उर्फ पिन 14) को दरवाजे / खिड़की के रीड स्विच के दूसरी तरफ से कनेक्ट करें और इसे 10k ओम रेसिस्टर के एक तरफ से भी कनेक्ट करें।

6) 10k ओम रोकनेवाला के दूसरी तरफ ESP8266 पर दूसरे ग्राउंड पिन से कनेक्ट करें।

ESP8266 पिन चयन के लिए कृपया इस सहायक आरेख या बहुत उपयोगी वीडियो को देखें।

चरण 19: Arduino कोड लिखें

Arduino कोड लिखें
Arduino कोड लिखें

नीचे दिए गए कोड को अपने Arduino IDE में कॉपी और पेस्ट करें।

#शामिल करें #शामिल करें #शामिल करें "डीएचटी.एच"

#define DHTPIN 2 // हम किस डिजिटल पिन से जुड़े हैं

#define DOORPIN 14 // डोर स्विच किस डिजिटल पिन पर है।

#परिभाषित DHTTYPE DHT11 // DHT 11

डीएचटी डीएचटी (डीएचटीपीआईएन, डीएचटीटीपीई);

इंट काउंट = 1;

कास्ट चार * एसएसआईडी = "some_ssid"; // अपने ssid const char* पासवर्ड = "some_password" का उपयोग करने के लिए इसे बदलें; // अपने पासवर्ड का उपयोग करने के लिए इसे बदलें int sleepTime = १००;

// निर्माता वेबहुक IFTTT

const char* सर्वर = "निर्माता.ifttt.com";

// IFTTT URL संसाधन

कॉन्स चार * संसाधन = "/ ट्रिगर/SOME_SERVICE_NAME/के साथ/कुंजी/SOME_API_KEY"; // अपने सेवा नाम और अपनी एपीआई कुंजी का उपयोग करना सुनिश्चित करें।

स्ट्रिंग डोरस्टैटस = "बंद";

अस्थिर बूल राज्य बदल गया = झूठा;

// अगर घंटों सो रहे हैं तो इंटरवल को घंटा * 60 मिनट * 60 सेकंड * 1000 मिलीसेकंड. के हिसाब से सेट करें

लंबा अंतराल = 1.0 * 60 * 60 * 1000; // 1 घंटा अहस्ताक्षरित लंबा पिछलामिलिस = 0 - (2 * अंतराल);

व्यर्थ व्यवस्था () {

सीरियल.बेगिन (115200); अटैचइंटरप्ट (डिजिटलपिनटोइंटरप्ट (डोरपिन), इवेंट ट्रिगर, चेंज); पिनमोड (डोरपिन, इनपुट); // डोर सेंसर dht.begin (); वाईफाई.बेगिन (एसएसआईडी, पासवर्ड);

सीरियल.प्रिंट ("\ n कनेक्ट हो रहा है..");

जबकि (WiFi.status() != WL_CONNECTED) {देरी (1000); सीरियल.प्रिंट ("।"); } सीरियल.प्रिंट ("\ n"); }

शून्य घटना ट्रिगर () {

राज्य परिवर्तित = सत्य; Serial.println ("दरवाजे की जाँच!"); अगर (डिजिटल रीड (डोरपिन) == हाई) // यह देखने के लिए जांचें कि क्या दरवाजा खुला है {Serial.println ("दरवाजा बंद है!"); डोरस्टैटस = "बंद"; } और { Serial.println ("दरवाजा खुला है!"); डोरस्टैटस = "खोला गया"; } }

शून्य चेकस्टैटस () {

if (WiFi.status() == WL_CONNECTED) {// वाईफाई कनेक्शन की स्थिति जांचें // तापमान या आर्द्रता पढ़ने में लगभग 250 मिलीसेकंड लगते हैं! // सेंसर रीडिंग 2 सेकंड तक 'पुरानी' हो सकती है (इसका बहुत धीमा सेंसर) फ्लोट h = dht.readHumidity(); // तापमान को सेल्सियस के रूप में पढ़ें (डिफ़ॉल्ट) फ्लोट टी = dht.readTemperature (); // तापमान को फ़ारेनहाइट के रूप में पढ़ें (फ़ारेनहाइट = सत्य) फ्लोट f = dht.readTemperature(true); // जांचें कि क्या कोई पठन विफल हुआ है और जल्दी से बाहर निकलें (फिर से प्रयास करने के लिए)। if (isnan(h) || isnan(t) || isnan(f)) { Serial.println ("DHT सेंसर से पढ़ने में विफल!"); // सीरियल.प्रिंट ("।"); // DHT सेंसर से पढ़ने में विफल! वापसी; } // फारेनहाइट में गणना गर्मी सूचकांक (डिफ़ॉल्ट) फ्लोट hif = dht.computeHeatIndex(f, h); // सेल्सियस में हीट इंडेक्स की गणना करें (isFahreheit = false) फ्लोट hic = dht.computeHeatIndex(t, h, false);

सीरियल.प्रिंट ("\ n");

सीरियल.प्रिंट ("तापमान:"); सीरियल.प्रिंट (एफ); Serial.print(" *F ("); Serial.print(t); Serial.print(" *C)"); सीरियल.प्रिंट ("\ t"); सीरियल.प्रिंट ("हीट इंडेक्स:"); सीरियल.प्रिंट (एचआईएफ); Serial.print(" *F ("); Serial.print(hic); Serial.print(" *C)%"); सीरियल.प्रिंट ("\ t"); सीरियल.प्रिंट ("आर्द्रता:"); सीरियल.प्रिंट्लन (एच);

अगर (डिजिटल रीड (डोरपिन) == हाई) // यह देखने के लिए जांचें कि क्या दरवाजा खुला है

{ Serial.println ("दरवाजा बंद है!"); डोरस्टैटस = "बंद"; } और { Serial.println ("दरवाजा खुला है!"); डोरस्टैटस = "खोला गया"; } स्ट्रिंग jsonObject = String("{"value1\":\"") + f +"*F ("+ t + "*C) / "+ hif +"*F (" + hic + "*C) " + "\", \"value2\":\"" + h + "\", \"value3\":\"" + DoorStatus + " \"}"; HTTP क्लाइंट http; स्ट्रिंग पूर्ण यूआरएल = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (पूर्ण यूआरएल); // http.begin (सर्वर); http.addHeader ("सामग्री-प्रकार", "एप्लिकेशन/जेसन"); http. POST (jsonObject); http.writeToStream(&Serial); http.end (); //निकट संबंध

राज्य बदल गया = झूठा;

int sleepTimeInMinutes = अंतराल/1000/60; सीरियल.प्रिंट ("\ n / n के लिए सो जाओ"); सीरियल.प्रिंट (स्लीपटाइमइनमिनट); Serial.println ("मिनट (ओं) …"); } }

शून्य लूप () {

अहस्ताक्षरित लंबी वर्तमानमिलिस = मिली (); देरी (4000); // यदि हमने बीता हुआ समय पार कर लिया है तो दरवाजे और तापमान की जांच करें। अगर (करंटमिलिस - पिछलामिलिस> = अंतराल) {स्टेट चेंजेड = ट्रू; पिछलामिलिस = करंटमिलिस; सीरियल.प्रिंट (गिनती ++); Serial.println(") बीते हुए समय के कारण जाँच हो रही है!"); }else if(stateChanged){ Serial.print(count++); Serial.println(") राज्य परिवर्तन के कारण जाँच हो रही है!"); }

// यदि राज्य बदल गया है तो दरवाजे और तापमान की जांच करें।

अगर (स्टेट चेंज) {चेकस्टैटस (); }

देरी (नींद का समय);

}

चरण 20: परिणाम

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

एक बार जब आप पिछले चरण में स्रोत कोड अपलोड कर देते हैं, तो आपके पास ऊपर दिखाए गए उदाहरण जैसे परिणाम होने चाहिए।

चरण 21: क्रेडिट

मुझे रैंडम नर्ड ट्यूटोरियल्स से बहुत सारे उपयोगी संकेत और सुझाव मिले हैं और मैं उनकी मदद के लिए उन्हें धन्यवाद देना चाहता हूं। विशेष रूप से ESP32 ESP8266 पर उनका उत्कृष्ट ट्यूटोरियल Google शीट्स पर सेंसर रीडिंग प्रकाशित करें, जो इस निर्देश के प्रमुख भाग पर आधारित हैं।

इसके अतिरिक्त, TheCircuit के DHT11 इंस्ट्रक्शनल ने मुझे यह समझने में मदद की कि इस बहुत सस्ते लेकिन दिलचस्प छोटे सेंसर का उपयोग कैसे किया जाए।

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

अंत में, इस जानकारी के साथ-साथ अन्य विवरणों के साथ जो मैंने इंटरनेट पर पाया, मैं एक ऐसा सिस्टम बनाने में सक्षम था जो मेरी आवश्यकताओं को पूरा करता हो। मुझे आशा है कि आपको यह निर्देश उपयोगी लगा होगा और अपना खुद का निर्माण करेंगे।

सिफारिश की: