- सामग्री की आवश्यकता:
- कार्य पद्धति:
- पूर्व-आवश्यकताएं:
- एक एसी रिमोट का काम करना:
- सर्किट आरेख और स्पष्टीकरण:
- अपने AC रिमोट सिग्नल को डिकोड करना:
- मुख्य Arduino कार्यक्रम:
- स्वचालित एसी तापमान नियंत्रण प्रणाली का कार्य:
एक एसी (एयर कंडीशनर) जिसे कभी एक लक्जरी आइटम माना जाता था और केवल बड़े होटलों, मूवी हॉल, रेस्तरां आदि में पाया जाता था… लेकिन, अब लगभग सभी के पास हमारे घर में एक एसी है जो गर्मियों को हरा देता है / सर्दियों और जिनके पास है, वे एक सामान्य बात के बारे में चिंता करते हैं। यही कारण है कि उनकी उच्च बिजली की खपत और चार्जर हैं। इस परियोजना में हम एक छोटा स्वचालित तापमान नियंत्रण सर्किट बनाने जा रहे हैं, जो कमरों के तापमान के आधार पर स्वचालित रूप से एसी तापमान को अलग करके बिजली चार्जर्स को कम कर सकता है । समय-समय पर सेट तापमान को अलग-अलग करके हम कम तापमान मूल्यों पर लंबे समय तक काम करने के लिए एसी बनाने से बच सकते हैं और इस प्रकार यह कम बिजली की खपत करते हैं।
हम में से अधिकांश ने एक ऐसी स्थिति का अनुभव किया होगा जहां हमें दिन के अलग-अलग समय में एयर कंडीशनर के सेट तापमान को अलग-अलग मूल्यों में बदलना होगा, ताकि हमें पूरे समय आराम मिलता रहे। इस प्रक्रिया को स्वचालित करने के लिए यह प्रोजेक्ट एक तापमान संवेदक (DHT11) का उपयोग करता है जो कमरे के वर्तमान तापमान को पढ़ता है और उस मूल्य के आधार पर यह एसी के रिमोट के समान आईआर ब्लास्टर के माध्यम से एसी को कमांड भेजेगा । एसी इन कमांड्स पर प्रतिक्रिया करेगा जैसे कि यह अपने रिमोट पर प्रतिक्रिया कर रहा है और इस प्रकार तापमान को समायोजित करता है। जैसे ही आपके कमरे का तापमान बदलता है, Arduino आपके तापमान को ठीक उसी तरह बनाए रखने के लिए आपके AC के निर्धारित तापमान को भी समायोजित करेगा, जैसा आप चाहते हैं। सही लगता है?… चलो देखते हैं कि कैसे एक का निर्माण करना है।
सामग्री की आवश्यकता:
- अरडिनो मेगा 2560
- TSOP1738 (HS0038)
- आईआर एलईडी
- DHT11 तापमान / आर्द्रता सेंसर
- किसी भी रंग एलईडी और 1K रोकनेवाला (वैकल्पिक)
- ब्रेड बोर्ड
- तारों को जोड़ना
कार्य पद्धति:
हमारे घर के सभी रिमोट कंट्रोल जो हम टीवी, होम थिएटर, एसी आदि को नियंत्रित करने के लिए उपयोग करते हैं वे आईआर ब्लास्टर्स की मदद से काम करते हैं। एक IR विस्फ़ोटक एक आईआर एलईडी के अलावा कुछ भी नहीं है जो दोहरावदार स्पंदन द्वारा एक संकेत को विस्फ़ोटक कर सकता है; यह संकेत इलेक्ट्रॉनिक्स उपकरण में रिसीवर द्वारा पढ़ा जाएगा। रिमोट पर प्रत्येक अलग-अलग बटन के लिए एक अद्वितीय सिग्नल ब्लास्ट किया जाएगा जो कि रिसीवर द्वारा पढ़ने के बाद किसी विशेष पूर्व-निर्धारित कार्य को करने के लिए उपयोग किया जाता है। यदि हम रिमोट से आने वाले इस सिग्नल को पढ़ने में सक्षम हैं, तो हम उस सिग्नल को उसी समय तक कार्य करने के लिए आवश्यकता पड़ने पर IR एलईडी का उपयोग करके उसी सिग्नल की नकल कर सकते हैं। हमने पहले यूनिवर्सल आईआर रिमोट के लिए आईआर ब्लास्टर सर्किट बनाया है।
एक टीएसओपी आईआर रिसीवर कि संकेत दूरस्थ से आ रही डिकोड करने के लिए इस्तेमाल किया जा सकता है। इस रिसीवर को प्रत्येक बटन के लिए सिग्नल के लिए Arduino के साथ इंटर किया जाएगा और फिर आवश्यकता पड़ने पर सिग्नल की नकल करने के लिए Arduino के साथ IR LED का उपयोग किया जाएगा। इस तरह हम Arduino का उपयोग करके अपने AC पर नियंत्रण प्राप्त कर सकते हैं।
अब, जो कुछ बचा है वह DHT11 का उपयोग करके तापमान मान को पढ़ना है और आईआर संकेतों का उपयोग करके तदनुसार एसी को निर्देश देना है। परियोजना को और अधिक आकर्षक और उपयोगकर्ता के अनुकूल बनाने के लिए मैंने एक OLED डिस्प्ले भी जोड़ा है जो वर्तमान तापमान, आर्द्रता और एसी सेट तापमान को प्रदर्शित करता है। Arduino के साथ OLED का उपयोग करने के बारे में अधिक जानें।
पूर्व-आवश्यकताएं:
यह स्वचालित AC तापमान नियंत्रक परियोजना शुरुआती स्तर के लिए थोड़ी उन्नत है, हालांकि कुछ अन्य ट्यूटोरियल की मदद से कोई भी समय के मामले में इसका निर्माण कर सकता है। इसलिए यदि आप OLED, DHT11 या TSOP के लिए एक पूर्ण नौसिखिया हैं तो कृपया नीचे दिए गए इन ट्यूटोरियल्स पर वापस जाएँ जहाँ आप मूल बातें सीख सकते हैं और इनसे कैसे शुरुआत करें। सूची थोड़ी लंबी लग सकती है, लेकिन मुझे विश्वास है कि यह आसान और सीखने लायक है, साथ ही यह कई नई परियोजनाओं के लिए दरवाजे खोलेगी।
- उनके काम के तहत TSOP और IR LED का उपयोग करके बेसिक सर्किट
- Arduino के साथ DHT11 के लिए बुनियादी इंटरफेसिंग गाइड
- Arduino के साथ OLED के लिए बेसिक इंटरफेसिंग गाइड
- IR दूरस्थ मूल्यों को पढ़ने के लिए Arduino के साथ TSOP को इंटरफैस करना
सुनिश्चित करें कि आपके पास एक Arduino मेगा और Arduino का कोई अन्य संस्करण है, क्योंकि कोड का आकार भारी है। यह भी जांच लें कि क्या आपने पहले से ही निम्न Arduino पुस्तकालयों को स्थापित किया है अगर नहीं स्थापित करें, तो उन्हें नीचे दिए गए लिंक का रूप दें
- टीएसओपी और आईआर ब्लास्टर के लिए आईआर रिमोट लाइब्रेरी
- OLED के लिए Adafruit Library
- OLED के लिए GFX ग्राफिक्स लाइब्रेरी
- तापमान सेंसर के लिए DHT11 सेंसर लाइब्रेरी
एक एसी रिमोट का काम करना:
इससे पहले कि हम प्रोजेक्ट में आगे बढ़ें कुछ समय ले और नोटिस करें कि आपका एसी रिमोट कैसे काम करता है। एसी रीमोट टीवी की तुलना में थोड़े अलग तरीके से काम करता है, डीवीडी आईआर रीमोट करता है। आपके रिमोट पर केवल 10-12 बटन हो सकते हैं, लेकिन वे बहुत सारे विभिन्न प्रकार के सिग्नल भेजने में सक्षम होंगे। मतलब रिमोट हर बार एक ही बटन के लिए एक ही कोड नहीं भेजता है। उदाहरण के लिए, जब आप इसे 24 ° C (डिग्री सेल्सियस) बनाने के लिए डाउन बटन का उपयोग करके तापमान को कम करते हैं, तो आपको डेटा के एक सेट के साथ एक संकेत मिलेगा, लेकिन जब आप इसे 25 ° C पर सेट करने के लिए फिर से दबाएंगे तो आपको समान नहीं मिलेगा चूंकि तापमान अब 25 है और 24 नहीं है। इसी तरह 25 का कोड भी अलग-अलग पंखे की गति, नींद की सेटिंग आदि के लिए अलग-अलग होगा। तो आइए सभी विकल्पों के साथ फील न करें और केवल अन्य सेटिंग्स के लिए स्थिर मान के साथ केवल तापमान मान पर ध्यान केंद्रित करें ।
एक अन्य समस्या प्रत्येक बटन प्रेस के लिए भेजे जाने वाले डेटा की मात्रा है, सामान्य प्रेषित 24 बिट्स या 48 बिट्स के साथ भेजती है लेकिन एक एसी रिमोट 228 बिट्स तक भेज सकता है क्योंकि प्रत्येक सिग्नल में बहुत सारी जानकारी होती है जैसे कि Temp, Fan Speed, नींद का समय, स्विंग स्टाइल आदि यही कारण है कि बेहतर भंडारण विकल्पों के लिए हमें एक Arduino Mega की आवश्यकता होती है।
सर्किट आरेख और स्पष्टीकरण:
सौभाग्य से इस स्वचालित एसी तापमान नियंत्रण परियोजना का हार्डवेयर सेटअप बहुत आसान है। आप बस एक ब्रेडबोर्ड का उपयोग कर सकते हैं और नीचे दिखाए अनुसार कनेक्शन बना सकते हैं।
निम्न तालिका का उपयोग आपके कनेक्शन को सत्यापित करने के लिए भी किया जा सकता है।
S.No: |
घटक पिन |
अरुडिनो पिन |
1 |
OLED - Vcc |
5 वी |
२ |
ओएलईडी - गोंड |
गाण्ड |
३ |
OLED- SCK, D0, SCL, CLK |
४ |
४ |
OLED- एसडीए, डी 1, एमओएसआई, डेटा |
३ |
५ |
OLED- RES, RST, RESET |
। |
६ |
ओएलईडी- डीसी, ए 0 |
५ |
। |
OLED- CS, चिप सेलेक्ट करें |
६ |
। |
DHT11 - Vcc |
5 वी |
९ |
DHT11 - गोंड |
गाण्ड |
१० |
DHT11 - सिग्नल |
१३ |
1 1 |
TSOP - Vcc |
5 वी |
१२ |
टीएसओपी - गोंड |
गाण्ड |
१३ |
आईआर एलईडी - एनोड |
९ |
१४ |
आईआर एलईडी - कैथोड |
गाण्ड |
एक बार जब आप कनेक्शन कर लेते हैं, तो इसे नीचे दिखाए गए कुछ इस तरह दिखना चाहिए। मैंने चीजों को साफ करने के लिए एक ब्रेडबोर्ड का उपयोग किया है, लेकिन आप सभी घटकों को हुक करने के लिए सीधे पुरुष से महिला तारों तक भी जा सकते हैं
अपने AC रिमोट सिग्नल को डिकोड करना:
अपने AC को नियंत्रित करने के लिए पहला कदम AC रिमोट कंट्रोल IR कोड को डिकोड करने के लिए TSOP1738 का उपयोग करना है । सर्किट आरेख में दिखाए गए अनुसार सभी कनेक्शन बनाएं और सुनिश्चित करें कि आपने सभी उल्लिखित पुस्तकालयों को स्थापित किया है। अब उदाहरण प्रोग्राम खोलें " IRrecvDumpV2 " जो फ़ाइल में पाया जा सकता है -> उदाहरण -> IRremote -> IRrecvDumpV2 । अपने Arduino मेगा में प्रोग्राम अपलोड करें और सीरियल मॉनिटर खोलें।
अपने रिमोट को TSOP की ओर इंगित करें और किसी भी बटन को दबाएं, प्रत्येक बटन के लिए आप उसके संबंधित सिग्नल को दबाएं TSOP1738, Arduino द्वारा डीकोड किया जाएगा और सीरियल मॉनिटर में प्रदर्शित किया जाएगा। अपने रिमोट पर तापमान में हर बदलाव के लिए आपको एक अलग डेटा मिलेगा। इस डेटा को सहेजें हम अपने मुख्य कार्यक्रम में इसका उपयोग करेंगे। आपका सीरियल मॉनिटर कुछ इस तरह दिखेगा, मैंने वर्ड फाइल भी दिखाई है जिस पर मैंने कॉपी किए गए डेटा को सेव किया है।
स्क्रीनशॉट मेरे एसी रिमोट के लिए 26 ° C पर तापमान सेट करने के लिए कोड दिखाता है। आपके रिमोट के आधार पर आपको कोड का एक अलग सेट मिलेगा। इसी तरह सभी अलग-अलग स्तर के तापमानों के लिए कोड कॉपी करें। आप इस ट्यूटोरियल के अंत में दिए गए Arduino Code में सभी Air Conditioner रिमोट कंट्रोल IR कोड की जाँच कर सकते हैं ।
मुख्य Arduino कार्यक्रम:
पूरा मुख्य Arduino कार्यक्रम इस पृष्ठ के तल पर पाया जा सकता है, लेकिन आप एक ही प्रोग्राम का उपयोग नहीं कर सकते। आपको सिग्नल कोड मानों को बदलना होगा जो हमने अभी ऊपर दिए गए उदाहरण स्केच से प्राप्त किए हैं। आप Arduino IDE पर मुख्य प्रोग्राम खोलें और नीचे दिखाए गए इस क्षेत्र में नीचे स्क्रॉल करें जहां आपको अपने मान के लिए सरणी मानों को प्रतिस्थापित करना होगा जो आपने रिमोट के लिए प्राप्त किए हैं।
ध्यान दें कि मैंने 10 एरे का उपयोग किया है, जिनमें से दो चालू करते हैं और एसी को बंद करते हैं जबकि शेष 8 का उपयोग अलग-अलग तापमान सेट करने के लिए किया जाता है। उदाहरण के लिए Temp23 का उपयोग आपके AC पर 23 ° C सेट करने के लिए किया जाता है, इसलिए उस Array में संबंधित कोड का उपयोग करें। एक बार ऐसा करने के बाद, आपको बस अपने Arduino पर कोड अपलोड करना होगा और इसे AC के सामने रखना होगा और कूल ब्रीज का आनंद लेना होगा।
कोड की व्याख्या निम्नानुसार है, पहले हमें तापमान और आर्द्रता को पढ़ने और इसे OLED पर प्रदर्शित करने के लिए DHT1 तापमान सेंसर का उपयोग करना होगा । यह निम्नलिखित कोड द्वारा किया जाता है।
DHT.read11 (DHT11_PIN); // पढ़ें अस्थायी और आर्द्रता मापी_पंप = DHT.tENS + temp_error; मापा_हुमी = DHT.humidity; // पाठ प्रदर्शन परीक्षण display.setTextSize (1); display.setTextColor (WHITE); display.setCursor (0,0); display.print ("तापमान:"); display.print (मापा हुआ_temp); display.println ("C"); display.setCursor (0,10); display.print ("आर्द्रता:"); display.print (मापा_हुमी); display.println ("%");
एक बार जब हम कमरे के तापमान को जान लेते हैं तो हमें इसकी तुलना वांछित मूल्य से करनी होती है । यह वांछित मूल्य एक स्थिर मूल्य है जो मेरे कार्यक्रम में 27 डिग्री सेल्सियस (डिग्री सेल्सियस) के रूप में निर्धारित है। तो इस तुलना के आधार पर हम नीचे दिखाए गए अनुसार एक समान एसी तापमान सेट करेंगे
if (मापा हुआ_temp == वांछनीय_टेंस + 3) // यदि एसी चालू है और मापा टेम्पू वांछित {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz) से बहुत अधिक है); देरी (2000); // 24 * C AC_Temp = 24 सेट करने के लिए संकेत भेजें; }
यहाँ AC को 24 ° C पर सेट किया जाएगा जब मापा तापमान 30 ° C होता है (क्योंकि वांछित ताप 27 होता है)। इसी प्रकार हम कई बना सकते हैं यदि मापा तापमान के आधार पर तापमान के विभिन्न स्तरों को निर्धारित करने के लिए छोरों को नीचे दिखाया गया है।
if (मापा गया_temp == Desired_temper-1) // यदि AC चालू है और मापा गया टेम्पर्ड वांछित मान से कम है, तो irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); देरी (2000); // 28 * C AC_Temp = 28 सेट करने के लिए संकेत भेजें; } if (मेजरटेड_टम्प = = डेजर्टेड_टेंस -2) // अगर AC चालू है और मापा टेम्पर्ड वांछित मान से बहुत कम है {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); देरी (2000); // सेट करने के लिए संकेत भेजें 29 * सी AC_Temp = 29; } if (मापा गया_temp == Desired_temper-3) // यदि AC चालू है और नापा हुआ अस्थायी बहुत कम वांछित मूल्य है {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); देरी (2000); // 30 * C AC_Temp = 30 सेट करने के लिए संकेत भेजें; }
स्वचालित एसी तापमान नियंत्रण प्रणाली का कार्य:
जब आपका कोड और हार्डवेयर तैयार हो जाता है, तो कोड को अपने बोर्ड पर अपलोड करें और आपको कुछ इसी तरह का प्रदर्शन करने वाले OLED को नोटिस करना चाहिए।
अब अपने एयर कंडीशनर के विपरीत सर्किटरी रखें और आप कमरे के तापमान के आधार पर एसी के तापमान को नियंत्रित करते हुए देखेंगे। आप DHT11 सेंसर के पास तापमान बढ़ाने की कोशिश कर सकते हैं कि नीचे दिए गए वीडियो में दिखाए अनुसार एसी का तापमान नियंत्रित है या नहीं ।
आप किसी भी वांछित कार्रवाई करने के लिए कार्यक्रम को ट्विक कर सकते हैं; आप सभी की जरूरत कोड है कि आप उदाहरण स्केच से प्राप्त किया है। आशा है कि आप इस स्वचालित तापमान नियंत्रक परियोजना को समझ गए हैं और कुछ इसी तरह के निर्माण का आनंद लिया है। मुझे पता है कि यहां बहुत सारी जगहें हैं, लेकिन तब आप चिंता न करें। अपनी समस्या को समझाने के लिए बस मंच या टिप्पणी अनुभाग का उपयोग करें और यहां के लोग निश्चित रूप से आपको इसे हल करने में मदद करेंगे।