- सामग्री की आवश्यकता:
- कार्य पद्धति:
- पूर्व-आवश्यकताएं:
- एक एसी रिमोट का काम करना:
- सर्किट आरेख और स्पष्टीकरण:
- अपने AC रिमोट सिग्नल को डिकोड करना:
- मुख्य Arduino कार्यक्रम:
- Android एप्लिकेशन इंस्टॉल करना:
- मोबाइल फोन नियंत्रित एसी के कार्य:
आज की आधुनिक दुनिया में, जहां हम कभी भी जाते हैं, हमारे आसपास बहुत सारे इलेक्ट्रॉनिक उपकरण होते हैं। लेकिन, सभी में से, केवल एक उपकरण है जिसे हम व्यक्तिगत रूप से हर समय अपनी जेब में रखते हैं। हाँ, यह हमारा मोबाइल फोन है । अब मोबाइल फोन संचार के लिए उपयोग होने वाले उपकरण से अधिक हो गए हैं, वे हमारे कैमरे हैं, वे हमारे नक्शे हैं, वे हमारी शॉपिंग कार्ट हैं और क्या नहीं?
हमारे हाथों में इस क्षमता के साथ, हमारे घर में किसी भी इलेक्ट्रॉनिक एप्लिकेशन जैसे टीवी, एसी, होम थिएटर आदि को नियंत्रित करने के लिए रिमोट कंट्रोल का उपयोग करना वास्तव में एक उबाऊ विचार है। यह हमारे बेड के आराम से आराम से एसी के रिमोट तक पहुंचने के लिए हमेशा निराशाजनक है। या सोफा। इसलिए इस परियोजना में हम एक छोटे से सेट-अप का उपयोग करने जा रहे हैं, जिसके उपयोग से आप ब्लूटूथ और अरुडिनो का उपयोग करके अपने स्मार्ट फोन के माध्यम से एयर कंडीशनर को नियंत्रित कर सकते हैं । दिलचस्प सही लगता है! चलो एक बनाया
सामग्री की आवश्यकता:
- अरडिनो मेगा 2560
- TSOP (HS0038)
- आईआर एलईडी
- किसी भी रंग एलईडी और 1K रोकनेवाला (वैकल्पिक)
- कोर्ट-06
- ब्रेड बोर्ड
- तारों को जोड़ना
कार्य पद्धति:
हमारे घर के सभी रिमोट कंट्रोल जो हम टीवी, होम थिएटर, एसी आदि को नियंत्रित करने के लिए उपयोग करते हैं वे आईआर ब्लास्टर्स की मदद से काम करते हैं। एक IR विस्फ़ोटक एक आईआर एलईडी के अलावा कुछ भी नहीं है जो दोहरावदार स्पंदन द्वारा एक संकेत को विस्फ़ोटक कर सकता है; यह संकेत इलेक्ट्रॉनिक्स उपकरण में रिसीवर द्वारा पढ़ा जाएगा। रिमोट पर प्रत्येक अलग-अलग बटन के लिए एक अद्वितीय सिग्नल ब्लास्ट किया जाएगा जो कि रिसीवर द्वारा पढ़ने के बाद किसी विशेष पूर्व-निर्धारित कार्य को करने के लिए उपयोग किया जाता है। यदि हम रिमोट से आने वाले इस सिग्नल को पढ़ने में सक्षम हैं, तो हम उस सिग्नल को उसी समय तक कार्य करने के लिए आवश्यकता पड़ने पर IR एलईडी का उपयोग करके उसी सिग्नल की नकल कर सकते हैं। हमने पहले यूनिवर्सल आईआर रिमोट और स्वचालित एसी तापमान नियंत्रण के लिए आईआर ब्लास्टर सर्किट बनाया है।
एक टीएसओपी आईआर रिसीवर कि संकेत दूरस्थ से आ रही डिकोड करने के लिए इस्तेमाल किया जा सकता है। हम इस TSOP का उपयोग अपने रिमोट से सभी जानकारी को डीकोड करने और Arduino पर स्टोर करने के लिए करेंगे। फिर उस जानकारी और एक IR LED का उपयोग करके हम अपने Arduino से IR संकेतों को जब भी आवश्यकता हो दोबारा बना सकते हैं।
पूर्व-आवश्यकताएं:
इस Arduino ब्लूटूथ नियंत्रित एसी परियोजना के लिए, सुनिश्चित करें कि आपके पास Arduino मेगा है और Arduino का कोई अन्य संस्करण नहीं है, क्योंकि कोड का आकार भारी है। TSOP और IR ब्लास्टर के साथ काम करने के लिए इस लिंक का उपयोग करके IR रिमोट लाइब्रेरी स्थापित करें।
एक एसी रिमोट का काम करना:
इससे पहले कि हम प्रोजेक्ट में आगे बढ़ें कुछ समय ले और नोटिस करें कि आपका एसी रिमोट कैसे काम करता है। एसी रीमोट टीवी की तुलना में थोड़े अलग तरीके से काम करता है, डीवीडी आईआर रीमोट करता है। आपके रिमोट पर केवल 10-12 बटन हो सकते हैं, लेकिन वे बहुत सारे विभिन्न प्रकार के सिग्नल भेजने में सक्षम होंगे। मतलब रिमोट हर बार एक ही बटन के लिए एक ही कोड नहीं भेजता है। उदाहरण के लिए, जब आप इसे 24 ° C (डिग्री सेल्सियस) बनाने के लिए डाउन बटन का उपयोग करके तापमान को कम करते हैं, तो आपको डेटा के एक सेट के साथ एक संकेत मिलेगा, लेकिन जब आप इसे 25 ° C पर सेट करने के लिए फिर से दबाएंगे तो आपको समान नहीं मिलेगा चूंकि तापमान अब 25 है और 24 नहीं है। इसी तरह 25 का कोड भी अलग-अलग पंखे की गति, नींद की सेटिंग आदि के लिए अलग-अलग होगा। तो आइए सभी विकल्पों के साथ फील न करें और केवल अन्य सेटिंग्स के लिए स्थिर मान के साथ केवल तापमान मान पर ध्यान केंद्रित करें ।
एक अन्य समस्या प्रत्येक बटन प्रेस के लिए भेजे जाने वाले डेटा की मात्रा है, सामान्य प्रेषित 24 बिट्स या 48 बिट्स के साथ भेजती है लेकिन एक एसी रिमोट 228 बिट्स तक भेज सकता है क्योंकि प्रत्येक सिग्नल में बहुत सारी जानकारी होती है जैसे कि Temp, Fan Speed, नींद का समय, स्विंग स्टाइल आदि यही कारण है कि बेहतर भंडारण विकल्पों के लिए हमें एक Arduino Mega की आवश्यकता होती है।
सर्किट आरेख और स्पष्टीकरण:
सौभाग्य से इस मोबाइल फोन के नियंत्रित एयर कंडीशनर का हार्डवेयर सेटअप बहुत आसान है। आप बस एक ब्रेडबोर्ड का उपयोग कर सकते हैं और नीचे दिखाए अनुसार कनेक्शन बना सकते हैं।
निम्न तालिका का उपयोग आपके कनेक्शन को सत्यापित करने के लिए भी किया जा सकता है।
S.No: |
घटक पिन |
अरुडिनो पिन |
1 |
TSOP - Vcc |
5 वी |
२ |
टीएसओपी - गोंड |
गाण्ड |
३ |
टीएसओपी - संकेत |
। |
४ |
आईआर एलईडी - कैथोड |
गाण्ड |
५ |
आईआर एलईडी - एनोड |
९ |
६ |
HC-05 - Vcc |
5 वी |
। |
HC05 - गोंड |
भूमि |
। |
HC05 - टीएक्स |
१० |
९ |
HC05 - आरएक्स |
1 1 |
एक बार जब आप कनेक्शन कर लेते हैं, तो इसे नीचे दिखाए गए कुछ इस तरह दिखना चाहिए। मैंने चीजों को साफ करने के लिए एक ब्रेडबोर्ड का उपयोग किया है, लेकिन आप सभी घटकों को हुक करने के लिए सीधे पुरुष से महिला तारों तक भी जा सकते हैं
अपने AC रिमोट सिग्नल को डिकोड करना:
अपने AC को नियंत्रित करने के लिए पहला कदम AC रिमोट कंट्रोल IR कोड को डिकोड करने के लिए TSOP1738 का उपयोग करना है । सर्किट आरेख में दिखाए गए अनुसार सभी कनेक्शन बनाएं और सुनिश्चित करें कि आपने सभी उल्लिखित पुस्तकालयों को स्थापित किया है। अब उदाहरण प्रोग्राम खोलें " IRrecvDumpV2 " जो फ़ाइल में पाया जा सकता है -> उदाहरण -> IRremote -> IRrecvDumpV2 ।
int recvPin = 8; IRrecv irrecv (recvPin);
चूँकि हमारा TSOP पिन 8 से जुड़ा है, पंक्ति संख्या 9 को int recPin = 8 में बदलें जैसा कि ऊपर दिखाया गया है। फिर प्रोग्राम को अपने Arduino Mega में अपलोड करें और Serial Monitor खोलें।
अपने रिमोट को TSOP की ओर इंगित करें और किसी भी बटन को दबाएं, प्रत्येक बटन के लिए आप उसके संबंधित सिग्नल को दबाएं TSOP1738, Arduino द्वारा डीकोड किया जाएगा और सीरियल मॉनिटर में प्रदर्शित किया जाएगा। अपने रिमोट पर तापमान में हर बदलाव के लिए आपको एक अलग डेटा मिलेगा। इस डेटा को सहेजें हम अपने मुख्य कार्यक्रम में इसका उपयोग करेंगे। आपका सीरियल मॉनिटर कुछ इस तरह दिखेगा, मैंने वर्ड फाइल भी दिखाई है जिस पर मैंने कॉपी किए गए डेटा को सेव किया है।
स्क्रीनशॉट मेरे एसी रिमोट के लिए 26 ° C पर तापमान सेट करने के लिए कोड दिखाता है। आपके रिमोट के आधार पर आपको कोड का एक अलग सेट मिलेगा। इसी तरह सभी अलग-अलग स्तर के तापमानों के लिए कोड कॉपी करें। आप इस ट्यूटोरियल के अंत में दिए गए Arduino Code में सभी Air Conditioner रिमोट कंट्रोल IR कोड की जाँच कर सकते हैं ।
मुख्य Arduino कार्यक्रम:
पूरा मुख्य Arduino कार्यक्रम इस पृष्ठ के तल पर हो सकता है, लेकिन आप एक ही प्रोग्राम का उपयोग नहीं कर सकते। आपको सिग्नल कोड मानों को बदलना होगा जो हमने सिर्फ उदाहरण स्केच से प्राप्त किए हैं। आप Arduino IDE पर मुख्य प्रोग्राम खोलें और नीचे दिखाए गए इस क्षेत्र में नीचे स्क्रॉल करें जहां आपको अपने मान के लिए सरणी मानों को प्रतिस्थापित करना होगा जो आपने रिमोट के लिए प्राप्त किए हैं।
ध्यान दें कि मैंने 10 Arrays का उपयोग किया है, जिनमें से दो का उपयोग हमने चालू किया और AC को बंद कर दिया, जबकि शेष 8 का उपयोग अलग तापमान सेट करने के लिए किया जाता है। उदाहरण के लिए Temp23 का उपयोग आपके AC पर 23 * C सेट करने के लिए किया जाता है, इसलिए उस Array में संबंधित कोड का उपयोग करें। एक बार ऐसा हो जाने के बाद, आपको बस अपने Arduino पर कोड अपलोड करना होगा।
हमें इस परियोजना के लिए दो पुस्तकालयों का आयात करने की आवश्यकता है । एक है IRremote लाइब्रेरी जिसे हमने अभी Arduino में जोड़ा है और दूसरा इन-बिल्ट सॉफ़्टवेयर सीरियल लाइब्रेरी है जो ब्लूटूथ मॉड्यूल का उपयोग करने में हमारी मदद करती है।
#शामिल
अगला हम 10 और 11 पिन पर ब्लूटूथ मॉड्यूल को इनिशियलाइज़ करते हैं और फिर लाइब्रेरी के सभी IR फीचर्स तक पहुँचने के लिए irsend नामक ऑब्जेक्ट का उपयोग करते हैं।
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
इसके बाद कोड की बहुत महत्वपूर्ण लाइनें आती हैं। यह वह जगह है जहां आपके एसी को नियंत्रित करने की जानकारी मौजूद है। नीचे दिखाया गया मेरे एसी रिमोट के लिए है, आपको पिछले चरण में आपका प्राप्त करना चाहिए।
शून्य सेटअप फ़ंक्शन के अंदर, हम दो सीरियल संचार शुरू करते हैं । एक 9600 बॉड दर पर ब्लूटूथ है और दूसरा 57600 बॉड दर पर सीरियल मॉनिटर है।
शून्य सेटअप () {BT_module.begin (9600); // BT 9600 Serial.begin (57600) पर काम करता है; // सीरियल मॉनिटर काम बेटा 57600}
हमारे शून्य लूप (अनंत लूप) के अंदर, हम जांचते हैं कि क्या ब्लूटूथ मॉड्यूल द्वारा प्राप्त कुछ भी है । अगर कुछ प्राप्त होता है तो हम उस जानकारी को चर ब्लूटूथडॉट में संग्रहीत करते हैं ।
जबकि (BT_module.available ()) // यदि डेटा आ रहा है {BluetoothData = BT_module.read (); // इसे पढ़ें और इसे Serial.println (BluetoothData) को सहेजें; // परीक्षण उद्देश्य के लिए इसे सीरियल पर प्रिंट करें}
ब्लूटूथ द्वारा प्राप्त जानकारी हमारे एंड्रॉइड ऐप पर दबाए गए बटन पर आधारित होगी जिसे हम अपने अगले चरण में इंस्टॉल करेंगे। एक बार सूचना प्राप्त होने के बाद, हमें नीचे दिए गए संबंधित IR कोड को ट्रिगर करना होगा
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); देरी (2000); // Temperatue 23C सेट करने के लिए संकेत भेजें}
यहाँ यदि कोड '2' प्राप्त होता है तो हमें AC का तापमान 23 ° C पर सेट करना होगा। इसी तरह हमारे पास एसी के सभी बुनियादी नियंत्रण कार्यों को करने के लिए 0 से 9 तक का कोड है। आप इस पृष्ठ के अंत में पूर्ण arduino कोड का उल्लेख कर सकते हैं ।
Android एप्लिकेशन इंस्टॉल करना:
स्मार्ट फोन नियंत्रित एयर कंडीशंड का अंतिम चरण एंड्रॉइड एप्लिकेशन इंस्टॉल करना है। इस प्रोजेक्ट के लिए एंड्रॉइड एप्लिकेशन को प्रोसेसिंग एंड्रॉइड मोड का उपयोग करके बनाया गया था । प्रसंस्करण एक उत्कृष्ट उपकरण है। आपके द्वारा एंबेडेड प्रोजेक्ट्स के लिए.EXE फाइलें या एपीके फाइल बनाने के लिए। यह Arduino की तरह ही एक ओपन सोर्स प्लेटफॉर्म है और इसलिए उपयोग करने के लिए पूरी तरह से मुफ्त है।
यदि आप इसमें बहुत अधिक गहराई नहीं चाहते हैं, तो आप बस जिप फ़ाइल के अंदर से एपीके फ़ाइल डाउनलोड कर सकते हैं और इसे सीधे अपने मोबाइल फोन पर इंस्टॉल कर सकते हैं। एप्लिकेशन खोलें और आपको नीचे दिखाए गए अनुसार एक स्क्रीन मिलेगी जिसके बाद आप अगले चरण पर आगे बढ़ सकते हैं और परियोजना के साथ काम करने का आनंद ले सकते हैं। लेकिन अगर आप एप्लिकेशन के प्रोग्राम को अपनी जरूरत के हिसाब से फिट करना चाहते हैं तो आप आगे पढ़ सकते हैं।
प्रसंस्करण कोड के लिए पूरा कार्यक्रम फ़ाइल किया जा सकता है यहां से डाउनलोड किया । इस ज़िप में कोड और छवि स्रोत होगा, जिसके उपयोग से एप्लिकेशन काम करता है। कोड खोलने के बाद आप अपनी आवश्यकता के अनुसार इसे अनुकूलित करने के लिए निम्न पंक्तियों को ट्विक कर सकते हैं।
जैसा कि पहले कहा गया था, प्रसंस्करण Arduino के समान है। तो इसमें एक शून्य सेटअप और शून्य लूप (यहां ड्रा) कार्य हैं। शून्य सेटअप फ़ंक्शन के अंदर हम फ़ोन के ब्लूटूथ को Arduino के ब्लूटूथ से कनेक्ट करने का निर्देश देंगे । यहाँ मेरी डिवाइस का नाम "HC-05" है, इसलिए मेरा कोड ऑफ़ कोड होगा
bt.start (); // बीटी कनेक्शन के लिए सुनना शुरू करें bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // हमारे HC-06 ब्लूटूथ मॉड्यूल से कनेक्ट करें
Load_buttons () फ़ंक्शन के अंदर आप जितने चाहें उतने बटन खींच सकते हैं। मैंने 10 बटन खींचे हैं जैसा कि एप्लिकेशन पर दिखाया गया है। इसके बाद हमारे पास read_buttons () फ़ंक्शन है, जिसका उपयोग यह पता लगाने के लिए किया जाता है कि आप किस बटन को छू रहे हैं। प्रत्येक बटन में एक विशिष्ट रंग होता है, इसलिए जब कोई उपयोगकर्ता स्क्रीन को छूता है तो हम जांचते हैं कि उसने किस रंग को छुआ है और यह निर्धारित करता है कि उसने किस बटन को छुआ है। एक बटन बनाने और रंग के आधार पर चयन करने के लिए एक नमूना कोड नीचे दिखाया गया है
fill (255,145,3); रेक्ट (चौड़ाई / 2-चौड़ाई / 4, ऊंचाई / 2, चौड़ाई / 4, ऊंचाई / 12); भरण (255); पाठ ("25C", चौड़ाई / 2-चौड़ाई / 4, ऊंचाई / 2); // बटन 5 यदि (color_val == - 13589993) {बाइट डेटा = {'0'}; bt.broadcast (डेटा);;
लाइन "बाइट डेटा = {'0'};" बहुत महत्वपूर्ण पंक्ति है। यह वह जगह है जहां हम यह तय करते हैं कि किस कोड को ब्लूटूथ के माध्यम से Arduino पर भेजा जाना है। यहाँ अगर यह बटन दबाया गया है तो char "0" को ब्लूटूथ से Arduino पर भेजा जाता है। इसी तरह हम अलग-अलग बटन के लिए एक अलग चरित्र भेज सकते हैं। फिर इन पात्रों की तुलना अरुडिनो की तरफ से की जा सकती है और संबंधित कार्रवाई की जा सकती है।
आगे बढ़ें और कोड के चारों ओर फ़ेल्ड करें, यदि आपको कोई संदेह है, तो टिप्पणी अनुभाग के माध्यम से मुझ तक पहुंचें और आपकी सहायता करने में अपना सर्वश्रेष्ठ प्रयास करेंगे।
मोबाइल फोन नियंत्रित एसी के कार्य:
एक बार जब आप अपने हार्डवेयर, Arduino कोड और Android एप्लिकेशन के साथ तैयार हो जाते हैं, तो आउटपुट का आनंद लेने का समय आ जाता है। अपने हार्डवेयर पर Arduino कोड अपलोड करें और इसे अपने AC के सामने रखें। अब अपने मोबाइल फोन पर एंड्रॉइड एप्लिकेशन खोलें, अगर सब कुछ उम्मीद के मुताबिक काम कर रहा है तो आपको " कनेक्टेड टू डिवाइस_नाम (कुछ कोड) " देखना चाहिए जैसा कि नीचे दिखाया गया है।
अब बस अपने एंड्रॉइड एप्लिकेशन पर कोई भी बटन दबाएं और इसे एसी पर संबंधित कार्रवाई को ट्रिगर करना चाहिए जैसे कि आप रिमोट का उपयोग कर रहे हैं। आप कोड को संशोधित करके अपने इच्छित कई बटन जोड़ सकते हैं और अपने कमरे के तापमान या उपस्थिति के आधार पर अपने एसी को स्वचालित भी कर सकते हैं। नीचे पूरा Arduino कोड और वीडियो देखें ।
आशा है कि आपने इस परियोजना का आनंद लिया और इसके पीछे की अवधारणा को समझा। हमेशा की तरह अगर आपको इस काम को करने में कोई समस्या हुई, तो आप फ़ोरम का उपयोग करके आपको सवाल पोस्ट कर सकते हैं और उन्हें हल कर सकते हैं।
Android एप्लिकेशन इंस्टॉल करने के लिए एपीके फ़ाइल यहां से डाउनलोड की जा सकती है।