विषयसूची:

Arduino स्मार्ट होम सिस्टम: 7 कदम
Arduino स्मार्ट होम सिस्टम: 7 कदम

वीडियो: Arduino स्मार्ट होम सिस्टम: 7 कदम

वीडियो: Arduino स्मार्ट होम सिस्टम: 7 कदम
वीडियो: Smart Home (Arduino Project) 2024, नवंबर
Anonim
Arduino स्मार्ट होम सिस्टम
Arduino स्मार्ट होम सिस्टम
Arduino स्मार्ट होम सिस्टम
Arduino स्मार्ट होम सिस्टम

इस निर्देश में हम आपको दिखाएंगे कि कैसे MATLAB के ऐप डिज़ाइनर के साथ स्पार्कफुन रेड बोर्ड के साथ अपना स्मार्ट होम सिस्टम बनाया जाए। इस निर्देश का उपयोग MATLAB के ऐप डिज़ाइनर की बुनियादी समझ हासिल करने में मदद करने के लिए किया जा सकता है, साथ ही एक फोटोरेसिस्टर, सर्वोमोटर और एक पीआईआर मोशन सेंसर का उपयोग करने के लिए भी किया जा सकता है।

चरण 1: शुरू करने के लिए: सामग्री

इस परियोजना के लिए निम्नलिखित सामग्रियों की आवश्यकता है:

- Arduino Uno (इस परियोजना के लिए हमने स्पार्कफुन रेड बोर्ड का इस्तेमाल किया)

- एक फोटोरेसिस्टर

- एक मिनी सर्वो मोटर

- एक सतत सर्वो मोटर

- एक पीर मोशन सेंसर

- एक तापमान सेंसर

- 2 एलईडी

- आवश्यकतानुसार तार और प्रतिरोधक

चरण 2: चरण 2: समस्या को हल करने के लिए संपर्क करना

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

चरण 3: चरण 3: GUI और मूल कोड प्रवाह को कॉन्फ़िगर करना

चरण 3: GUI और मूल कोड प्रवाह को कॉन्फ़िगर करना
चरण 3: GUI और मूल कोड प्रवाह को कॉन्फ़िगर करना

शुरू करने के लिए आपको MATLABs AppDesigner को खोलना होगा और निम्नलिखित को रखना होगा:

गर्म और ठंडे थ्रेशोल्ड इनपुट के लिए दो संख्यात्मक संपादन फ़ील्ड

दरवाज़ा खोलने के लिए एक बटन

और चिमनी, दरवाजे, पंखे और फ्लड लाइट के लिए चार संकेतक लैंप।

उपयोगकर्ता के साथ संवाद करने के लिए दो लेबल।

इस परियोजना के लिए हमने वैश्विक चर और डिजाइनर के भीतर स्टार्टअप फ़ंक्शन के साथ काम करना आसान पाया। स्टार्टअप फ़ंक्शन के भीतर आपको इन चरों की आवश्यकता होगी:

वैश्विक ए

a = arduino ('COM3', 'uno', 'लाइब्रेरी', 'सर्वो'); ग्लोबल ग्लोबल पी ग्लोबल हॉटयूआई ग्लोबल कोल्डयूआई ग्लोबल अनलॉक ग्लोबल टेम्प ग्लोबल curr_temp ग्लोबल int_light

अभी हमारे पास केवल एक वेरिएबल के लिए एक असाइनमेंट है ताकि आपका कंप्यूटर arduino को पढ़ सके। आपका कंप्यूटर किस पोर्ट का उपयोग कर रहा है, इसके आधार पर COM3 भिन्न हो सकता है।

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

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

चरण 4: चरण 3: थर्मोस्टेट सिस्टम की स्थापना

चरण 3: थर्मोस्टेट सिस्टम की स्थापना
चरण 3: थर्मोस्टेट सिस्टम की स्थापना
चरण 3: थर्मोस्टेट सिस्टम की स्थापना
चरण 3: थर्मोस्टेट सिस्टम की स्थापना

थर्मोस्टेट के लिए कार्य निम्नानुसार काम करता है:

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

थर्मोस्टेट सिस्टम को कोड करने के लिए:

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

पी = 'ए0'% फोटोरेसिस्टर पिन

वोल्ट = रीडवोल्टेज (ए, अस्थायी); celc = (वोल्ट-०.५).*१००; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %लेबल नंबर पॉज़ को बदल सकता है(10); % बदलना चाह सकते हैं !!!!!

फिर हम टाइमर संपत्ति के भीतर थर्मोस्टैट सिस्टम को पूरा करेंगे।

वैश्विक curr_temp

ग्लोबल कोल्डयूआई ग्लोबल ग्लोबल हॉटयूआई अगर curr_temp हॉटयूआई ऐप। फैनस्टेट लैंप। कलर = [०.४७ ०.६७ ०.१९]; %GUI लैम्प को हरा लिखता हैPWMDutyCycle(a, 'D11',.9) % कोड की अगली तीन पंक्तियाँ सर्वो फैन पॉज़ (10) लिखेंPWMDutyCycle(a, 'D11',.0) else ऐप चलाती हैं।FireplaceStateLamp. Color = [0.90 0.90 0.90]; %यह सभी GUI लैंप और फायरप्लेस ऐप को बंद कर देता है।FanStateLamp. Color = [0.9 0.9 0.9]; राइटडिजिटलपिन (ए, 'डी 13', 0); समाप्त

चरण 5: चरण 4: द्वार प्रणाली की स्थापना

चरण 4: द्वार प्रणाली की स्थापना
चरण 4: द्वार प्रणाली की स्थापना

दरवाजे के लिए कार्य निम्नानुसार काम करता है:

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

सर्वो मोटर और फोटोरेसिस्टर को कॉन्फ़िगर करने के लिए:

डोर सिस्टम को कोड करने के लिए:

हम प्रारंभिक प्रकाश रीडिंग लेने के लिए स्टार्टअप फ़ंक्शन के भीतर शुरू करेंगे।

एस = सर्वो (ए, 'डी 9')% पिन वायरिंग के आधार पर बदल सकता है

app. Label_4. Text='कृपया सिस्टम को कैलिब्रेट करने के लिए दरवाजा खोलें'; विराम (15); % यह उपयोगकर्ता को दरवाजा खोलने के लिए समय देता है int_light = readVoltage(a, p); app. Label_4. Text = 'आप अपनी उंगली हटा सकते हैं';

अगला, हम टाइमर संपत्ति के भीतर कोड को पूरा करेंगे

वैश्विक अनलॉक

वैश्विक int_light वैश्विक वैश्विक एक% curr_light = readVoltage (ए, पी) की तुलना करने के लिए एक वर्तमान प्रकाश रीडिंग प्राप्त करें; % -- लॉक डोर -- अगर int_light<curr_light writePosition(s, 1)% सर्वो पोजीशन प्रति मोटर पॉज (0.5) में भिन्न हो सकती है; app. DoorStateLamp. Color = [०.४७ ०.६७ ०.१९]; अंत% - दरवाजा अनलॉक करें - अगर अनलॉक == 1234 विराम (0.5); राइटपोजिशन (एस,.52) ऐप। डोरस्टेट लैंप। रंग = [०.८५ ०.३३ ०.१०]; समाप्त

अंत में हम अनलॉक बटन कॉलबैक बनाएंगे। एक बार जब उपयोगकर्ता अनलॉक बटन दबाता है, तो वैश्विक चर अनलॉक को एक संख्या सौंपी जाएगी जो Timer संपत्ति में अंतिम if स्टेटमेंट को पूरा कर सकती है।

वैश्विक अनलॉक

अनलॉक = १२३४;

चरण 6: चरण 6: फ्लड लाइट सिस्टम स्थापित करना

चरण 6: फ्लड लाइट सिस्टम स्थापित करना
चरण 6: फ्लड लाइट सिस्टम स्थापित करना

फ्लड लाइट का कार्य निम्न प्रकार से कार्य करता है:

जब आप MATLAB कोड शुरू करते हैं, तो PIR मोशन सेंसर गति का पता लगाना शुरू कर देगा। एक बार जब यह किसी प्रकार की गति का पता लगा लेता है, तो यह एक पावर सिग्नल को काट देगा। एक बार जब वह सिग्नल कट जाता है, तो घर के बाहर एक फ्लड लाइट चालू हो जाती है।

फ्लड लाइट सिस्टम को कॉन्फ़िगर करने के लिए:

फ्लड लाइट सिस्टम को कोड करने के लिए:

इस बार हम टाइमर संपत्ति पर जा सकते हैं क्योंकि हमें कोई अतिरिक्त चर लिखने की आवश्यकता नहीं है।

human_detected = readDigitalPin (ए, 'डी 2'); %Pin कॉन्फ़िगरेशन के आधार पर बदल सकता है यदि human_detected == 0 writeDigitalPin(a, 'D7', 1) %Pin ऐप बदल सकता है।FloodLightStateLamp. Color = [0.47 0.67 0.19]; अन्य मानव_पता लगाया गया == 1 ऐप। फ्लडलाइटस्टेट लैंप। रंग = [0.9 0.9 0.9]; राइटडिजिटलपिन (ए, 'डी 7', 0) अंत

चरण 7: निष्कर्ष

अब जब आपके पास ऐप डिज़ाइनर के साथ अपने GUI का एक मसौदा है और Arduino के लिए आपका कोड है तो आप अपने स्वयं के संपादन करने के लिए तैयार हैं या अपने Arduino में प्लग इन करें और जाएं!

सिफारिश की: