विषयसूची:

स्मार्ट होम थर्मोस्टेट: 4 कदम
स्मार्ट होम थर्मोस्टेट: 4 कदम

वीडियो: स्मार्ट होम थर्मोस्टेट: 4 कदम

वीडियो: स्मार्ट होम थर्मोस्टेट: 4 कदम
वीडियो: ?️ Sensi स्मार्ट थर्मोस्टेट: ऊर्जा-बिल यू... 2024, जुलाई
Anonim
स्मार्ट होम थर्मोस्टेट
स्मार्ट होम थर्मोस्टेट

हमारा स्मार्ट होम थर्मोस्टेट एक ऐसा प्रोग्राम है जो किसी व्यक्ति की प्राथमिकताओं के आधार पर उपयोगिता बिलों पर स्वचालित रूप से घरेलू पैसे बचा सकता है।

चरण 1: अवलोकन

स्मार्ट होम थर्मोस्टेट घर का तापमान जानने के लिए तापमान सेंसर का उपयोग करता है। यह तापमान रीडिंग प्रोग्राम में डाला जाता है जहां यह तय करेगा कि एयर कंडीशनिंग सिस्टम को वांछित मकान मालिक के तापमान के आधार पर घर को गर्म या ठंडा करने की आवश्यकता है या नहीं।

थर्मोस्टैट के लिए दो मोड हैं: मैनुअल और स्वचालित। मैनुअल मोड जो उपयोगकर्ता द्वारा निर्धारित वांछित तापमान पर घर के तापमान को समायोजित करेगा। और थर्मोस्टैट का स्वचालित मोड स्वचालित रूप से घर के तापमान को उपयोगकर्ता द्वारा पूर्व निर्धारित तापमान में बदल देगा। स्वचालित मोड के लिए दो तापमान सेटिंग्स होंगी: दूर का तापमान और वर्तमान तापमान। जब भी उपयोगकर्ता घर पर नहीं होता है तो थर्मोस्टेट को पूर्व निर्धारित ऊर्जा-बचत तापमान में बदलकर ऊर्जा बचाने के लिए दूर के तापमान का उपयोग किया जाता है। वर्तमान तापमान का उपयोग तब किया जाएगा जब उपयोगकर्ता घर पर हो और आरामदायक तापमान चाहता हो। जब थर्मोस्टेट के स्वचालित मोड में, मोशन सेंसर सक्रिय रूप से यह निर्धारित करने के लिए आंदोलन की तलाश करते हैं कि कोई घर है या नहीं। उनके पढ़ने के आधार पर, घर का तापमान या तो दूर के तापमान या वर्तमान तापमान पर सेट किया जाएगा।

चरण 2: भागों और सामग्री

(१५) जम्पर तार

(४) २२० ओम रेसिस्टर्स

(१) १० के ओम रेसिस्टर

(1) अस्थायी सेंसर

(1) फोटो प्रतिरोधी

(1) डेगू मिनी डीसी गियरबॉक्स

(1) डायोड

(1) ट्रांजिस्टर

(1) फोटोरेसिस्टर

(1) ब्रेडबोर्ड

(१) अरुडिनो एमकेआर

चरण 3: सर्किट

सर्किट
सर्किट
सर्किट
सर्किट
सर्किट
सर्किट
सर्किट
सर्किट

चित्र 1 = बड़ा बायां चित्र

चित्र 2 = ऊपर दाएँ

चित्र 3 = मध्य दायाँ

चित्र 4 = निचला दायां

आकृति 1

ऊपर दिए गए आरेख का उपयोग करते हुए, हमने अपने प्रत्येक तीन एल ई डी को तार-तार कर दिया। जब से हम एक बड़े ब्रेड बोर्ड के साथ काम कर रहे थे, हमने प्रत्येक एलईडी को अलग कर दिया। छोटे ब्रेड बोर्ड के लिए, एल ई डी को एक साथ पास रखना आवश्यक हो सकता है। इसके अलावा, ब्रेडबोर्ड को बिजली देना अनावश्यक है क्योंकि एलईडी इतनी कम शक्ति खींचती है। हमने LED के लिए ब्रेडबोर्ड पर 5V कनेक्शन का उपयोग नहीं किया। एल ई डी से हमारे Arduino के प्रत्येक कनेक्शन को हरे रंग के तार की तरह बनाया गया था। हमारे लाल, नीले और हरे रंग के एलईडी क्रमशः डिजिटल पिन 8, 9 और 10 से जुड़े हैं, जिन्हें हमारी तस्वीर में लाल, नीले और हरे रंग के तार के साथ नामित किया गया है।

चित्र 2

ऊपर दिए गए आरेख का उपयोग फोटोरेसिस्टर को तार करने के लिए किया गया था। हमने अपने आप में कुछ सुधार किए हैं; हालांकि अवधारणाएं अभी भी वही हैं। फोटोरेसिस्टर को उस एनालॉग पिन से जोड़ा जाना चाहिए जो हमारे पास पिन A1 में है। फोटोरेसिस्टर के निकटतम रोकनेवाला के लिए 10K ओम रोकनेवाला का उपयोग करना सुनिश्चित करें।

चित्र तीन

यह तापमान संवेदक को तार करने के लिए उपयोग किया जाने वाला आरेख है। सुनिश्चित करें कि तापमान संवेदक के साथ यहां उपयोग किए गए ट्रांजिस्टर की गलती न करें। वे लगभग समान दिखते हैं। तापमान संवेदक में संभवतः सेंसर के समतल भाग पर TMP या कोई अन्य लिपि लिखी होगी। यहां वायरिंग बहुत सरल है हमारे तापमान संवेदक को एक सफेद तार के साथ एनालॉग पिन A0 में प्लग किया गया है।

चित्र 4

ऊपर दी गई तस्वीर का उपयोग डीएजीयू मिनी डीसी गियरबॉक्स को तार करने के लिए किया गया था। गियरबॉक्स से जुड़ा हरा तार वास्तव में हमारे चित्र में इससे जुड़ा लाल तार है। गियरबॉक्स हमारे मॉडल में नारंगी तार के साथ डिजिटल पिन 11 से जुड़ा है। सुनिश्चित करें कि तापमान संवेदक के साथ यहां उपयोग किए गए ट्रांजिस्टर की गलती न करें। वे लगभग समान दिखते हैं। तापमान सेंसर में संभवतः सेंसर के सपाट हिस्से पर TMP या कोई अन्य स्क्रिप्ट लिखी होगी। आपको यहां ट्रांजिस्टर का उपयोग करना चाहिए न कि तापमान सेंसर का।

चरण 4: Arduino कोड

यहां, कोड के सबसे महत्वपूर्ण भागों को समझाया गया है। कोड केवल वही काम नहीं करेगा जो यहां दिया गया है। पूर्ण कार्य कोड प्राप्त करने के लिए, पृष्ठ के नीचे एक लिंक है।

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

तापमान सेंसर और एलईडी की स्थापना:

tempPin = 'A0';% अज्ञात फ़ंक्शन को परिभाषित करें जो वोल्टेज को तापमान tempCfromVolts = @ (वोल्ट) (वोल्ट-0.5) * 100 में परिवर्तित करता है; नमूना अवधि = 5; % सेकंड। हम कितने समय तक सैंपलिंग के लिए सैंपल लेना चाहते हैंइंटरवल = 1; % तापमान रीडिंग के बीच कितने सेकंड नमूना समय नमूनाकरण के वेक्टर सेट अप करेंटाइम्स = 0: नमूना अंतराल: नमूना अवधि; % अवधि और अंतराल के आधार पर नमूनों की संख्या की गणना करें numsamples = length(samplingTimes); % preallocate अस्थायी चर और चर रीडिंग की संख्या के लिए यह tempC = शून्य (numSamples, 1) संग्रहीत करेगा; अस्थायी एफ = अस्थायी; %हम इस बार %तापमान रीडिंग की पूर्व-निर्धारित संख्या लेने के लिए लूप के लिए उपयोग करेंगे

लूप के लिए:

सूचकांक के लिए = 1: numSamples% टेम्पपिन पर वोल्टेज पढ़ें और चर वोल्ट वोल्ट में स्टोर करें = रीडवोल्टेज (ए, टेम्पपिन); tempC (सूचकांक) = -1 * tempCfromVolts (वोल्ट + ०.३); tempF (सूचकांक) = अस्थायी (सूचकांक) * (9/5) +32; % प्रदर्शन स्वरूपित आउटपुट वर्तमान तापमान रीडिंग fprintf ('%d सेकंड पर तापमान% 5.2f C या% 5.2f F.\n' है, … नमूना समय (सूचकांक), tempC (अनुक्रमणिका), tempF (अनुक्रमणिका)); %ध्यान दें कि जब तक आप कोड को एक सादे स्क्रिप्ट mfile में कॉपी/पेस्ट नहीं करते हैं, तब तक यह प्रदर्शन आउटपुट केवल एक बार में दिखाई देगा जब तक कि कोड% निष्पादित न हो जाए। रोकें (नमूना अंतराल)% देरी अगले नमूना अंत तक

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

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

एक बार जब आपके पास तापमान रीडिंग हो जाती है, तो आप वह कोड बना सकते हैं जो थर्मोस्टैट को घर को ठंडा करने के लिए कहेगा जब तापमान रीडिंग निर्धारित तापमान से अधिक हो, और जब तापमान रीडिंग सेट तापमान से कम हो तो घर को गर्म करें। प्रोटोटाइप के लिए, नीली बत्ती तब आती है जब थर्मोस्टेट को ठंडा होना चाहिए और लाल बत्ती तब आती है जब थर्मोस्टैट को गर्म होना चाहिए।

मेनू सेटअप:

विकल्प = {'स्वचालित', 'मैनुअल'}; imode = मेनू ('मोड', विकल्प) यदि imode>0 h=msgbox(['आपने चुना' विकल्प {imode}]); और h=warndlg ('आपने बिना कोई विकल्प चुने मेनू बंद कर दिया') एंड वेटफ़ोर (h);

मैनुअल मोड के लिए उपयोगकर्ता को थर्मोस्टैट के लिए एक तापमान इनपुट करने की आवश्यकता होती है, फिर तापमान सेंसर से रीडिंग के आधार पर, यह या तो घर को गर्म करने वाले घर को ठंडा करना शुरू कर देगा। यदि तापमान संवेदक की रीडिंग निर्धारित तापमान से अधिक है, तो यह घर को ठंडा करना शुरू कर देगा। यदि तापमान संवेदक की रीडिंग निर्धारित तापमान से कम है, तो यह घर को गर्म कर देगा।

मैनुअल मोड शुरू होगा:

अगर इमोड == 2 dlg_prompts = {'आप कौन सा तापमान पसंद करेंगे?'}; dlg_title = 'तापमान'; dlg_defaults = {'68'}; ऑप्ट। आकार बदलें = 'चालू'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); अगर खाली (dlg_ans) h=warndlg ('आपने inputdlg कमांड को रद्द कर दिया है'); अन्य temp_manual = str2double(dlg_ans{1}) %[नीचे तापमान विनियमन सेटअप स्लाइड जोड़ें] अंत

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

तापमान विनियमन सेटअप:

जबकि temp_manual <tempF writeDigitalPin(a, 'D9', 1) writeDigitalPin(a, 'D11', 1); अंत जबकि temp_manual > tempF writeDigitalPin(a, 'D8', 1) writeDigitalPin(a, 'D11', 1); समाप्त

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

स्वचालित मोड सेट करें:

अन्य इमोड == 1 dlg_prompts = {'सामान्य', 'दूर'}; dlg_title = 'तापमान सेटिंग'; dlg_defaults = {'68', '64'}; ऑप्ट। आकार बदलें = 'चालू'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); अगर खाली (dlg_ans) h=warndlg ('आपने inputdlg कमांड को रद्द कर दिया है'); अन्य temp_normal = str2double(dlg_ans{1}) temp_away = str2double(dlg_ans{2}) अंत प्रतीक्षा करें(h); % [गति डिटेक्टर चरण नीचे जोड़ें]

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

Run_Motion_Detector(a, inf) जबकि lightStr == 0 temp = temp_away जबकि temp tempF writeDigitalPin(a, 'D6', 1) जो भी पिन रेड लाइट फैन राइटडिजिटलपिन (a, 'D9', 1) के लिए मोटर में भी है; अंत अंत जबकि lightStr == 1 temp = temp_normal writeDigitalPin(a, 'D6', 1) % सामान्य प्रकाश में जो भी पिन है उसमें परिवर्तन करें जबकि अस्थायी tempF writeDigitalPin(a, 'D6', 1) जो भी पिन लाल बत्ती में भी है पंखे के लिए मोटर राइटडिजिटलपिन (ए, 'डी 9', 1); अंत अंत

पूरा कोड यहां पाया जा सकता है।

सिफारिश की: