विषयसूची:

EF230 स्मार्ट होम प्रोजेक्ट: 7 कदम
EF230 स्मार्ट होम प्रोजेक्ट: 7 कदम

वीडियो: EF230 स्मार्ट होम प्रोजेक्ट: 7 कदम

वीडियो: EF230 स्मार्ट होम प्रोजेक्ट: 7 कदम
वीडियो: EF 230 Roomba Project 2024, जुलाई
Anonim
EF230 स्मार्ट होम प्रोजेक्ट
EF230 स्मार्ट होम प्रोजेक्ट

आवश्यक भाग और सामग्री:

  • 1 अरुडिनो एमकेआर 1000
  • 3 ब्रेडबोर्ड
  • 2 मिनी फोटोकल्स
  • 1 एनपीएन ट्रांजिस्टर
  • 1 मिनी पावर स्विच
  • 1 एलईडी - आरजीबी (4 शूल)
  • 1 एलईडी (अपनी पसंद का रंग)
  • 1 डायोड 1N4148
  • १ १० के ओम रेसिस्टर्स
  • ५ १०० ओम रेसिस्टर
  • 1 तापमान सेंसर TMP36
  • 1 DAGU 48:1 अनुपात गियरमोटर
  • 25 जम्पर तार
  • यूएसबी कॉर्ड
  • MATLAB कार्यक्रम
  • Arduino 101/Genuino 101 बोर्ड के लिए SIK प्रयोग मार्गदर्शिका - SIK प्रयोग मार्गदर्शिका लिंक

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

चरण 1: प्रकाश संवेदनशील एलईडी

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

चरण 2: मिनी पावर स्विच

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

चरण 3: दूसरा फोटोकेल

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

चरण 4: आरजीबी एलईडी

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

चरण 5: तापमान सेंसर

  • तापमान संवेदक स्मार्ट घर में ऊर्जा के संरक्षण का प्रमुख हिस्सा है।
  • स्मार्ट होम उपयोग में होने पर निवासी अपने घर के लिए वांछित तापमान इनपुट करने में सक्षम होते हैं।
  • तापमान संवेदक यह है कि सिस्टम कैसे जानता है कि वास्तविक तापमान वांछित तापमान से कितना दूर है।
  • तापमान संवेदक के लिए सेटअप SIK प्रयोग मार्गदर्शिका के प्रयोग 9 में पाया जा सकता है।

चरण 6: DAGU गियरमोटर

DAGU गियरमोटर
DAGU गियरमोटर
  • मोटर स्मार्ट होम को वांछित तापमान और तापमान सेंसर की रीडिंग के आधार पर घर में तापमान को नियंत्रित करने की अनुमति देता है।
  • घर में एसी इकाई के रूप में कार्य करते हुए, मोटर अलग-अलग गति से घूमेगी, इस आधार पर कि वास्तविक तापमान वांछित तापमान से कितना अधिक है। अंतर जितना अधिक होता है, वह मोटर को तेजी से घुमाता है।
  • प्रयोग 11 के तहत प्रयोग गाइड में मोटर के लिए वायरिंग पाई जा सकती है।

चरण 7: कोड

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

एक साफ़ करें; स्पष्ट एस; स्पष्ट एम; सीएलसी; सब बंद करें; % स्पष्ट arduino और सर्वो चर ताकि उन्हें हर बार फिर से परिभाषित किया जा सके ताकि कोड प्रभावी ढंग से चले ("स्पष्ट m" एक लूप के ठीक से काम करने के लिए आवश्यक है) a = arduino (); % arduino चर सेट करें

एस = सर्वो (ए, 'डी 6'); % सर्वो चर सेट करें

% सुरक्षा प्रणाली चेतावनी ईमेल के लिए ईमेल चर आरंभ करें

ईमेल = {'प्राप्तकर्ता का पता डालें'}; ईमेल की % सरणी को सुरक्षा ईमेल भेजने के लिए

से मेल भेजने के लिए जीमेल का उपयोग करने के लिए आवश्यक % ईमेल वरीयता सेटिंग्स

setpref ('इंटरनेट', 'ईमेल', 'प्रेषक का ईमेल पता');

setpref ('इंटरनेट', 'SMTP_Username', 'प्रेषक का उपयोगकर्ता नाम');

setpref ('इंटरनेट', 'SMTP_Password', 'प्रेषक का पासवर्ड');

सहारा = java.lang. System.getProperties;

props.setProperty('mail.smtp.auth', 'true');

props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');

% ईमेल विषय और पाठ चर

subj = 'आपके घर पर घुसपैठिए की चेतावनी';

text = 'नमस्कार, यह आपकी स्मार्ट होम सुरक्षा प्रणाली है जो आपको सूचित करती है कि आपके घर के बाहर गति का पता चला है। हमने आवश्यक उपाय किए हैं और आपके लिए अधिकारियों से संपर्क किया है। सुरक्षित रहें।';

जबकि सच

प्रॉम्प्ट = {'इच्छित घरेलू तापमान दर्ज करें (65F और 85F के बीच):'}; उपयोगकर्ता इनपुट मेनू के लिए % संकेत

dlgtitle = 'तापमान चयन'; उपयोगकर्ता इनपुट मेनू के लिए % शीर्षक

डिम्स = [१ ३०]; उपयोगकर्ता इनपुट मेनू के लिए % आयाम

निश्चित = {'72'}; % डिफ़ॉल्ट इनपुट जो मेनू के पहली बार खुलने पर दिखाई देता है

tempsel_array = inputdlg (प्रॉम्प्ट, dlgtitle, dims, definput); % पॉपअप उपयोगकर्ता इनपुट मेनू जो दर्ज की गई संख्या को एक सरणी में सहेजेगा

अगर ~ खाली (tempsel_array)% अगर सरणी खाली नहीं है

tempsel_char = cell2mat (tempsel_array); % सरणी को एक वर्ण स्ट्रिंग में बदलें

टेम्पसेल = str2double (tempsel_char); % वर्ण स्ट्रिंग को संख्याओं में बदलें

बातस्पीकराइट (सीएचआईडी, टेम्पसेल, 'राइटकी', राइटकी, 'फील्ड्स', 1); % चयनित तापमान को अपने ThingSpeak चैनल में लिखें

ब्रेक% लूप से ब्रेक% ताकि मेनू कई बार पॉप अप न हो

अन्य% यदि उपयोगकर्ता तापमान दर्ज करने के बजाय रद्द करें क्लिक करता है

msg1 = msgbox ('कोई तापमान नहीं चुना गया, डिफ़ॉल्ट रूप से 85F', 'चेतावनी!'); रद्द करें क्लिक करने के बाद उपयोगकर्ता को % संदेश प्रदर्शित किया गया

प्रतीक्षा करें (msg1); % जारी रखने से पहले संदेश बॉक्स के बंद होने की प्रतीक्षा करें

टेम्पसेल = 85; % तापमान को संदेश बॉक्स में जो कहा गया था उसे सेट करें

बातस्पीकराइट (सीएचआईडी, टेम्पसेल, 'राइटके', राइटकी, 'फील्ड्स', 1); % चयनित तापमान को अपने ThingSpeak चैनल में लिखें

ब्रेक% लूप से ब्रेक% ताकि मेनू कई बार पॉप अप न हो

समाप्त

समाप्त

जबकि सच

सीआईडी = ७४५५१७; % थिंगस्पीक चैनल आईडी

राइटकी = 'G9XOQTP8KOVSCT0N'; थिंगस्पीक चैनल तक पहुंच के लिए % कुंजी

% डेटा लाने के लिए सेंसर प्रारंभ करें

tempread = readVoltage (ए, 'ए 3'); % तापमान सेंसर का वोल्टेज पढ़ें

लाइटएल 1 = रीड वोल्टेज (ए, 'ए 2'); लाल एलईडी पर जाने वाले फोटोरेसिस्टर के लिए % प्रकाश स्तर

लाइटएल 2 = रीड वोल्टेज (ए, 'ए 5'); सुरक्षा प्रणाली में जाने वाले फोटोरेसिस्टर के लिए % प्रकाश स्तर

स्विचव = रीडवोल्टेज (ए, 'ए0'); स्विच के लिए% मान

% तापमान डेटा को वोल्टेज से डिग्री फ़ारेनहाइट में कनवर्ट करें

अस्थायी = (टेम्प्रेड - ०.५) * १००; % वोल्टेज को सेल्सियस में तापमान में बदलें

tempF = (tempC * 9/5) + 32; % सेल्सियस में तापमान को फारेनहाइट में तापमान में बदलें

% बहुरंगा एलईडी के लिए पिन नंबर प्रारंभ करें

रेडप = 'डी9'; एलईडी से लाल बत्ती के लिए % पिन

ग्रीनप = 'डी10'; एलईडी से हरी बत्ती के लिए % पिन

ब्लूप = 'डी11'; एलईडी से नीली रोशनी के लिए % पिन

अगर tempsel <tempF% यदि चयनित तापमान कमरे के तापमान से अधिक है

राइटपोजिशन (एस, 1); % सर्वो चलना शुरू हो जाएगा

रोकें(१०)% सर्वो १० सेकंड के लिए घूमता रहेगा यह दर्शाने के लिए कि एसी एक निर्दिष्ट समय के बाद बंद हो जाएगा

राइटपोजिशन (एस, 0); बिना पंखे के कोड जारी रखने के उद्देश्य से % पंखा बंद करें

टेम्पसेल = १५०; % पंखे के बंद होने के बाद लूप से बाहर निकलने के लिए तापमान मान बदलें, फिर से केवल कोड जारी रखने के उद्देश्य से

समाप्त

अगर lightl1 <= 3% अगर पहला फोटोरेसिस्टर कम रोशनी के स्तर का पता लगाता है

राइटडिजिटलपिन (ए, 'ए 1', 1); % लाल एलईडी चालू करें जो बाहरी रोशनी का प्रतिनिधित्व करती है

अन्य% यदि प्रकाश का स्तर फिर से उच्च है

राइटडिजिटलपिन (ए, 'ए 1', 0); % लाल एलईडी बंद करें जब प्रकाश का स्तर फिर से पर्याप्त हो

समाप्त

अगर स्विचव> 3% अगर स्विच चालू है

ए = मौजूद ('एम', 'वर'); % चर 'm' के अस्तित्व के लिए जाँच करें, यह लूप के लिए इनिशियलाइज़ होगा और मेनू आइटम का चयन होने पर इसे तोड़ने की अनुमति देगा (यही कारण है कि कोड की शुरुआत में स्पष्ट m किया जाना चाहिए)

जबकि A==0% लूप तब तक निष्पादित होगा जब तक वेरिएबल 'm' मौजूद नहीं है

मेन्यूटेक्स्ट = 'आप किस सुरक्षा मोड में प्रवेश करना चाहेंगे?'; सुरक्षा पॉपअप मेनू के लिए % पाठ

विकल्प = {'घर', 'दूर'}; सुरक्षा पॉपअप मेनू के लिए % विकल्प

एम = मेनू (मेनूटेक्स्ट, विकल्प); सुरक्षा प्रणाली मोड के लिए % पॉपअप मेनू

ब्रेक% सुनिश्चित करता है कि लूप टूट गया है इसलिए मेनू कई बार पॉप अप नहीं होगा

समाप्त

अगर एम == 1% अगर 'होम' मोड चुना गया है

राइटडिजिटलपिन (ए, ब्लूप, 1); रंग बदलने वाली LED में % केवल नीली बत्ती चालू करें

राइटडिजिटलपिन (ए, रेडपी, 0);

राइटडिजिटलपिन (ए, ग्रीनप, 0);

अन्य एम == 2% यदि 'दूर' मोड चुना गया है

राइटडिजिटलपिन (ए, ब्लूप, 0);

राइटडिजिटलपिन (ए, रेडपी, 0);

राइटडिजिटलपिन (ए, ग्रीनप, 1); % रंग बदलने वाली एलईडी में केवल हरी बत्ती चालू करें

यदि lightl2 <= 3% यदि दूसरे फोटोरेसिस्टर में प्रकाश का स्तर कम है, तो सुरक्षा प्रणाली द्वारा ज्ञात गति का प्रतिनिधित्व करता है

Sendmail (ईमेल, विषय, पाठ); % पहले से परिभाषित ईमेल गुणों के साथ एक ईमेल भेजें, राइटडिजिटलपिन (ए, ग्रीनप, 0); % फ्लैश लाल रंग 2 बार चालू और बंद

राइटडिजिटलपिन (ए, रेडपी, 1);

विराम (0.3)

राइटडिजिटलपिन (ए, रेडपी, 0);

विराम (0.3)

राइटडिजिटलपिन (ए, रेडपी, 1);

विराम (0.3)

राइटडिजिटलपिन (ए, रेडपी, 0);

विराम (0.3)

राइटडिजिटलपिन (ए, रेडपी, 1); % चमकने के बाद ठोस लाल रंग के साथ समाप्त करें यह दिखाने के लिए कि प्रकाश स्तर वापस ऊपर जाने तक गति है

msg2 = msgbox ('सुरक्षा प्रणाली द्वारा घुसपैठिए का पता चला है, उन्हें सूचित करने के लिए घर के मालिकों को एक ईमेल भेजा गया है।', 'चेतावनी!'); गति के उपयोगकर्ता को सूचित करने के लिए % संदेश बॉक्स और भेजे गए ईमेल के बारे में सूचित करने के लिए प्रतीक्षा करें (msg2) % जारी रखने से पहले संदेश बॉक्स के बंद होने की प्रतीक्षा करें

अन्यथा

राइटडिजिटलपिन (ए, ग्रीनप, 1); % एक बार जब प्रकाश का स्तर फिर से बढ़ जाता है तो यह वापस हरे रंग में बदल जाएगा

समाप्त

समाप्त

एल्सिफ स्विचव <3.3% यदि स्विच बंद है

राइटडिजिटलपिन (ए, ब्लूप, 0); % सुरक्षा प्रणाली बंद है यह दिखाने के लिए एलईडी को पूरी तरह से बंद कर दें

राइटडिजिटलपिन (ए, रेडपी, 0);

राइटडिजिटलपिन (ए, ग्रीनप, 0);

समाप्त

समाप्त

सिफारिश की: