हम सभी 'ऑटोमेशन' शब्द से परिचित हैं, जहां मानव संपर्क न्यूनतम है और चीजों को स्वचालित रूप से या दूर से नियंत्रित किया जा सकता है। इलेक्ट्रॉनिक्स के क्षेत्र में होम ऑटोमेशन बहुत लोकप्रिय है और मांग की अवधारणा है, और हम इस अवधारणा को इलेक्ट्रॉनिक्स प्रोजेक्ट के रूप में आसानी से समझने योग्य और प्रबंधनीय बनाने के लिए अपना सर्वश्रेष्ठ प्रयास कर रहे हैं। हमने पहले एक वीडियो और कोड के साथ कई प्रकार के होम ऑटोमेशन प्रोजेक्ट विकसित किए हैं, कृपया देखें:
- DTMF आधारित होम ऑटोमेशन
- Arduino का उपयोग करके जीएसएम आधारित होम ऑटोमेशन
- Arduino का उपयोग करके पीसी नियंत्रित होम ऑटोमेशन
- 8051 का उपयोग कर ब्लूटूथ नियंत्रित होम ऑटोमेशन
- IR रिमोट Arduino का उपयोग करके होम ऑटोमेशन नियंत्रित करता है
और इस परियोजना में, हम MATLAB और Arduino का उपयोग करके अपनी अगली होम ऑटोमेशन परियोजना का निर्माण करने जा रहे हैं, जो GUI आधारित होम ऑटोमेशन सिस्टम Arduino और MATLAB का उपयोग कर रहा है
अवयव:
- Arduino UNO
- यूएसबी केबल
- ULN2003
- रिले 5 वोल्ट
- धारक के साथ बल्ब
- तारों को जोड़ना
- लैपटॉप
- बिजली की आपूर्ति
- प्राइवेट
कार्य स्पष्टीकरण:
इस परियोजना में, हम कंप्यूटर में एक ग्राफिकल यूजर इंटरफेस के माध्यम से, घरेलू उपकरणों को नियंत्रित करने के लिए Arduino के साथ MATLAB का उपयोग कर रहे हैं । यहां हमने Arduino को कंप्यूटर (MATLAB) से डेटा भेजने के लिए वायर्ड संचार का उपयोग किया है। कंप्यूटर पक्ष में, हमने घरेलू उपकरणों को नियंत्रित करने के लिए कुछ बटन बनाने के लिए MATLAB में GUI का उपयोग किया है। Arduino और MATLAB के बीच संचार के लिए, हमें सबसे पहले " MATLAB और Simulink Support for Arduino " या " Arduino IO पैकेज " स्थापित करने की आवश्यकता है । ऐसा करने के लिए नीचे दिए गए चरणों का पालन करें या नीचे दिए गए वीडियो की जांच करें:
- यहाँ से Arduino IO पैकेज डाउनलोड करें। डाउनलोड करने से पहले आपको साइन अप करना होगा।
- फिर Arduino IDE का उपयोग करके Arduino पर adioe.pde फ़ाइल को जला / अपलोड करें। यह adioe.pde फ़ाइल Arduino IO पैकेज में मिल सकती है - ArduinoIO \ pde \ adioe \ adioe.pde
- फिर MATLAB सॉफ़्टवेयर खोलें, Arduino IO फ़ोल्डर के माध्यम से जाएं, install_arduino.m फ़ाइल खोलें और इसे Matlab में चलाएं। आपको MATLAB की कमांड विंडो में "Arduino फ़ोल्डर्स को पथ में जोड़ा गया" का एक संदेश दिखाई देगा, इसका मतलब है कि MATLAB पथ Arduino फ़ोल्डर में अपडेट किया गया है।
इसी तरह हम Arduino बनाते हैं, MATLAB के साथ संवाद करते हैं। उपरोक्त विधि "MATLAB R2013b या पुराने संस्करणों" के लिए उपयुक्त है, यदि आप MATLAB के उच्च संस्करण (जैसे R2015b या R2016a) का उपयोग कर रहे हैं, तो आप सीधे MATLAB में ऐड-ऑन टैब पर क्लिक कर सकते हैं और फिर "हार्डवेयर समर्थन पैकेज प्राप्त करें" पर क्लिक कर सकते हैं, जहां से आप MATLAB के लिए Arduino पैकेज स्थापित कर सकते हैं।
फ़ाइलों को स्थापित करने के बाद, अब आप होम ऑटोमेशन प्रोजेक्ट के लिए एक GUI बना सकते हैं। मूल रूप से जीयूआई में, हम कंप्यूटर से घरेलू उपकरणों को नियंत्रित करने के लिए पुश बटन बना रहे हैं । MATLAB में "नए" मेनू में "ग्राफिकल यूजर इंटरफेस" में जाकर बटन बनाए जा सकते हैं। आगे हम इन बटनों के नाम और रंग सेट कर सकते हैं, हमने 8 बटन बनाए हैं, जिसमें छह को चालू और बंद करने के लिए तीन घरेलू उपकरणों और दो बटन को एक साथ सभी उपकरणों को चालू और बंद करना है।
अब बटन बनाने के बाद, जब आप उस GUI विंडो में Run बटन पर क्लिक करेंगे, तो यह आपको इस GUI (एक्सटेंशन के साथ.fig) को सेव करने के लिए कहेगा, जिसे ' अंजीर फाइल' के रूप में भी जाना जाता है । जैसे ही आपने फ़ाइल को बचाया, यह स्वचालित रूप से एक कोड फ़ाइल (एक्सटेंशन.m के साथ) बनाएगा, जिसे ' एम फ़ाइल' (स्क्रीन शॉट के नीचे देखें) के रूप में भी जाना जाता है, जहां आप कोड डाल सकते हैं (नीचे दिए गए कोड अनुभाग में)। आप इस प्रोजेक्ट के लिए GUI फ़ाइल और कोड फ़ाइल को यहां से डाउनलोड कर सकते हैं: Home_Automation_system.fig और Home_Automation_system.m (राइट क्लिक करें और इस रूप में सहेजें लिंक का चयन करें…), या आप हमें बताए गए अनुसार खुद बना सकते हैं।
कोडिंग के बाद अब आप अंत में कोड विंडो से.m फाइल को चला सकते हैं, आपको कमांड विंडो में "कनेक्शन का प्रयास.." दिखाई देगा। तब "अरुडिनो सफलतापूर्वक जुड़ा हुआ" संदेश प्रकट होता है, अगर सब कुछ ठीक हो जाता है। और अंत में आपको GUI विंडो में पहले से बने GUI (बटन) दिखाई देंगे, जहाँ से आप अपने Computer में बटन पर क्लिक करके घरेलू उपकरणों को नियंत्रित कर सकते हैं। सुनिश्चित करें कि Arduino USB केबल के माध्यम से Arduino से जुड़ा हुआ है। यहां इस परियोजना में हमने प्रदर्शन के लिए 3 बल्बों का उपयोग किया है, जो फैन, लाइट और टीवी को इंगित करता है।
पूरे प्रोजेक्ट का कार्य, उपकरण को चालू या बंद करने के लिए Arduino MATLAB समर्थन पैकेज स्थापित करने से, वीडियो पर अंत में समझा जा सकता है।
सर्किट स्पष्टीकरण:
इस परियोजना का सर्किट बहुत आसान है। यहां हमने ड्राइविंग रिले के लिए एक Arduino UNO बोर्ड और रिले चालक ULN2003 का उपयोग किया है। तीन 5 वोल्ट SPDT रिले क्रमशः LIGHT, FAN और TV को नियंत्रित करने के लिए रिले चालक ULN2003 के माध्यम से Arduino पिन नंबर 3, 4 और 5 से जुड़े हैं।
प्रोग्रामिंग स्पष्टीकरण:
जब हम GUI विंडो से कोई बटन दबाते हैं तो यह Arduino को कुछ कमांड भेजता है और फिर Arduino उस ऑपरेशन को करता है। Arduino MATLAB IO सपोर्ट पैकेज स्थापित करने के बाद, हम Arduino को MATLAB से समान Arduino फ़ंक्शन का उपयोग करके कुछ कम भिन्नता के साथ एक्सेस कर सकते हैं, जैसे:
Arduino में एक पिन हाई बनाने के लिए हम digitalWrite (पिन, हाई) के रूप में कोड लिखते हैं
MATLAB में हम इस फ़ंक्शन का उपयोग किसी ऑब्जेक्ट या चर की मदद से करेंगे, जैसे कि, और इसी तरह आगे भी।
ऐसा करने से पहले हमें इस तरह चर को इनिशियलाइज़ करना होगा:
इस परियोजना में, Arduino MATLAB समर्थन पैकेज कोड या फ़ाइल को छोड़कर कोई Arduino कोड नहीं है। जैसा कि पहले बताया गया है कि GUI फ़ाइल (.fig फ़ाइल) को सहेजते समय कोड फ़ाइल (.m फ़ाइल) अपने आप उत्पन्न हो जाती है।.M फ़ाइल में कुछ कोड पहले से ही लिखे हुए हैं। मूल रूप से ये पुश बटन के लिए कॉलबैक फ़ंक्शन हैं, इसका मतलब है कि हम परिभाषित कर सकते हैं कि इन पुश बटन पर क्लिक करने पर क्या होना चाहिए।
MATLAB कोड में, पहले हम सीरियल पोर्ट को इनिशियलाइज़ करते हैं और एक वैरिएबल का उपयोग करके इसे ऑब्जेक्ट बनाते हैं। और फिर हम वेरिएबल का उपयोग करके Arduino जैसी प्रोग्रामिंग शुरू कर सकते हैं।
स्पष्ट ar; वैश्विक ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
प्रत्येक बटन के कॉल बैक फ़ंक्शन में, हमने संबंधित होम अप्लायंसेज के ऑन या ऑफ के लिए संबंधित कोड लिखा है, जो रिले के माध्यम से अरुडिनो से जुड़ा है। उदाहरण के लिए, लाइट ऑन के लिए कॉलबैक फ़ंक्शन नीचे दिया गया है:
function light_on_Callback (hObject, Eventdata, हैंडल्स)% hObject हैंडल को light_on (GCBO देखें)% Eventdata आरक्षित है - MATLAB% के भविष्य के संस्करण में हैंडल और यूजर डेटा की संरचना (GUIDATA) को वैश्विक रूप से देखता है; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
इसी तरह हम सभी बटन के कॉलबैक कार्यों में कोड लिख सकते हैं, अन्य जुड़े हुए घरेलू उपकरणों को नियंत्रित करने के लिए नीचे पूर्ण MATLAB कोड (.m फ़ाइल) की जांच कर सकते हैं।