टीवी रिमोट का उपयोग करके Arduino आधारित होम ऑटोमेशन सिस्टम कैसे डिज़ाइन करें?

होम ऑटोमेशन सिस्टम आधुनिक दुनिया की सबसे तेजी से बढ़ती अवधारणा है। स्मार्ट होम ऑटोमेशन एक अवधारणा है जिसमें एक एकल उपकरण का उपयोग किसी घर के विभिन्न इलेक्ट्रॉनिक मापदंडों को नियंत्रित करने के लिए किया जाता है, उदाहरण के लिए, घरेलू उपकरणों को स्विच करना, सुरक्षा अलार्म की निगरानी, ​​गेराज दरवाजा स्वचालन, आदि।



स्वचालन प्रणाली एक टीवी रिमोट का उपयोग करना

इस परियोजना में, हम एक साधारण होम ऑटोमेशन सिस्टम बनाने के लिए एक साधारण टीवी रिमोट का उपयोग करेंगे। यह टीवी रिमोट माइक्रोकंट्रोलर बोर्ड से जुड़े सभी उपकरणों को नियंत्रित करेगा।



होम ऑटोमेशन सिस्टम बनाने के लिए टीवी रिमोट का उपयोग कैसे करें?

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



चरण 1: घटकों को एकत्रित करना

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



  • TSOP 1738 IR रिसीवर
  • रिमोट कंट्रोल
  • ब्रेड बोर्ड
  • जम्पर तार

चरण 2: अवयवों का अध्ययन

अब जैसा कि हम जानते हैं कि हम किन घटकों का उपयोग करने जा रहे हैं, आइए हम उनका संक्षेप में अध्ययन करें कि हमारे सर्किट कैसे काम करते हैं, इसकी बेहतर समझ बनाने के लिए।

Arduino नैनो एक माइक्रोकंट्रोलर बोर्ड है जो विभिन्न सर्किट में विभिन्न ऑपरेशन करता है। यह एक की आवश्यकता है C कोड यह बताता है कि बोर्ड को क्या कार्य करना है और कैसे करना है। इसमें 13 डिजिटल I / O पिन हैं जिसका मतलब है कि हम 13 विभिन्न उपकरणों को संचालित कर सकते हैं। यदि आप 13 से अधिक उपकरणों को नियंत्रित करना चाहते हैं, तो Arduino Mega का उपयोग करें।

अरुडिनो नैनो



TSOP 1738 रिमोट कंट्रोल के लिए एक IR मॉड्यूल है। इसमें 38kHz की वाहक आवृत्ति है। इसमें एक फोटोडेटेक्टर होता है जो सिग्नल का पता लगाता है और फिर उसे डीमोड्यूलेट करता है। इसका उत्पादन सीधे Arduino या किसी अन्य माइक्रोकंट्रोलर बोर्ड द्वारा किया जाता है।

TSOP सेंसर

एक रिले मॉड्यूल एक स्विचिंग डिवाइस है। यह दो मोड में काम करता है, सामान्य रूप से खुला (NO) तथा सामान्य रूप से बंद (नेकां) । NO मोड में, सर्किट हमेशा टूट जाता है जब तक कि आप Arduino के माध्यम से रिले को एक उच्च संकेत नहीं भेजते हैं। नेकां मोड अन्य तरीके से खराब हो जाता है, सर्किट हमेशा पूरा होता है जब तक आप रिले मॉड्यूल पर स्विच नहीं करते। सुनिश्चित करें कि आप नीचे दिखाए गए तरीके से अपने विद्युत उपकरण के सकारात्मक तार को रिले मॉड्यूल से जोड़ते हैं।

रिले मॉड्यूल

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

चरण 3: सर्किट बनाना

अब जैसा कि हम जानते हैं कि सभी घटक कैसे काम करते हैं, आइए हम आगे बढ़ते हैं और सर्किट बनाना शुरू करते हैं।

  1. एक ब्रेडबोर्ड लें और उसमें अपने Arduino नैनो और TSOP 1738 डालें।
  2. TSOP 1738 मॉड्यूल और Arduino के माध्यम से रिले मॉड्यूल को पावर करें। कनेक्ट करें बाहर Arduino के pin11 को TSOP1738 का पिन और भी कनेक्ट करें में Arduino के लिए रिले मॉड्यूल का पिन। मैं केवल दो विद्युत उपकरणों को नियंत्रित कर रहा हूं, इसलिए मैं यहां केवल रिले मॉड्यूल का उपयोग कर रहा हूं। यदि आप अधिक उपकरणों को नियंत्रित करना चाहते हैं, तो इसी तरह अधिक रिले मॉड्यूल कनेक्ट करें।

    सर्किट आरेख

चरण 4: Arduino के साथ शुरुआत करना

यदि आपने पहले Arduino IDE पर काम नहीं किया है, तो चिंता न करें क्योंकि Arduino IDE को सेट करने के लिए चरण दर चरण नीचे दिखाया गया है।

  1. अपने Arduino बोर्ड को पीसी से कनेक्ट करें और कंट्रोल पैनल खोलें। पर क्लिक करें हार्डवेयर और ध्वनि। अब खोलो डिवाइस और प्रिंटर और उस पोर्ट को ढूंढें जिससे आपका बोर्ड जुड़ा हुआ है। मेरे मामले में यह है COM14 लेकिन यह अलग-अलग कंप्यूटरों में अलग है।

    पोर्ट ढूँढना

  2. टूल मेनू पर क्लिक करें और बोर्ड सेट करें अरुडिनो नैनो (मेगा 328 पी पर)

    बोर्ड की स्थापना

  3. टूल मेनू पर फिर से क्लिक करें और उस पोर्ट को सेट करें जिसे आपने पहले कंट्रोल पैनल में देखा था।

    पोर्ट की स्थापना

  4. एक ही टूल मेनू में, प्रोसेसर को इस प्रकार सेट करें ATmega328p (पुराने बूटलोडर)

    प्रोसेसर सेट करना

  5. रिमोट कंट्रोल द्वारा भेजे गए डेटा को डीकोड करने के लिए, हमें A कोड Arduino के लिए एक विशेष लाइब्रेरी की आवश्यकता है। यह पुस्तकालय नीचे दिए गए लिंक में कोड के साथ संलग्न है। पुस्तकालय गोटो को जोड़ने के लिए स्केच> लाइब्रेरी शामिल करें> ज़िप लाइब्रेरी जोड़ें । एक बॉक्स दिखाई देगा। अपने कंप्यूटर पर ज़िप फ़ोल्डर ढूंढें और फ़ोल्डर को शामिल करने के लिए ठीक क्लिक करें।

    लाइब्रेरी शामिल करें

  6. नीचे दिए गए कोड को डाउनलोड करें और अपने Arduino नैनो बोर्ड में कोड को जलाने के लिए अपलोड बटन पर क्लिक करें।

    डालना

पर क्लिक करें डाउनलोड कोड प्राप्त करने के लिए बटन।

चरण 5: कोड

कोड को समझना बहुत आसान है लेकिन फिर भी, इसे संक्षेप में नीचे वर्णित किया गया है।

1। व्यर्थ व्यवस्था() एक ऐसा कार्य है जिसमें हम INPUT या OUTPUT पिन को इनिशियलाइज़ करते हैं। यह फ़ंक्शन उपयोग करके बॉड दर भी निर्धारित करता है Serial.begin () आदेश। बॉड रेट माइक्रोकंट्रोलर की संचार गति है।

2। शून्य लूप () एक फ़ंक्शन है जो एक लूप में बार-बार चलता है। इस लूप में, हम एक कोड लिखते हैं जो माइक्रोकंट्रोलर बोर्ड को बताता है कि क्या कार्य करना है और कैसे।

3. जब हम टीवी रिमोट से डेटा भेजते हैं, तो Arduino को इस डेटा को डीकोड करना होगा। इसके लिए हमने एक विशेष पुस्तकालय को शामिल किया है #शामिल <IRremote.h>। इस लाइब्रेरी में एक फ़ंक्शन का उपयोग रिमोट से भेजे गए प्रत्येक कुंजी के डेटा को डीकोड करने के लिए किया जाएगा।

# अंतर-मंडल RECV_PIN = 11; IRrecv irrecv (RECV_PIN); decode_results परिणाम; शून्य सेटअप () {Serial.begin (9600); irrecv.enableIRIn (); } शून्य लूप () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } देरी (100); }

उपरोक्त कोड रिमोट से भेजे गए मानों को पढ़ रहा है और इसे इसके संबंधित HEX मान को डिकोड कर रहा है। यह कोड Arduino IDE में IRremote लाइब्रेरी के उदाहरणों से लिया गया है। यह कोड नाम से डाउनलोड लिंक में भी संलग्न है test.ino ऊपर प्रदान किया गया। इस फ़ंक्शन का आउटपुट, जब सभी संख्यात्मक कुंजी दबाए जाते हैं:

व्याख्या करना

4. में code.ino उपरोक्त डाउनलोड लिंक में संलग्न, Arduino के पिन जो उपयोग किए जाएंगे, आरंभिक हैं। में शून्य लूप () फ़ंक्शन, जब रिमोट पर एक बटन दबाया जाता है, तो शुरू में असत्य स्थिति बदल जाती है सच और संबंधित रिले को स्विच किया जाता है। यदि एक ही बटन फिर से दबाया जाता है, तो यह बूलियन स्थिति को टॉगल करेगा और रिले को बंद कर देगा। पावर बटन सभी रिले को चालू या बंद कर देगा।

शून्य लूप () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); देरी (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // देरी (200); } if (results.value == 0x40BD28D7) {m =! m digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // देरी (200); } irrecv.resume (); // अगला मान प्राप्त करें // देरी (100); }}

यह एक टीवी रिमोट कंट्रोल द्वारा नियंत्रित एक सरल होम ऑटोमेशन सिस्टम बनाने की पूरी प्रक्रिया थी। अब, आप अपने उपकरणों की संख्या के अनुसार रिले मॉड्यूल कनेक्ट कर सकते हैं और अपने खुद के स्मार्ट होम ऑटोमेशन सिस्टम का आनंद ले सकते हैं।