- HM10 BLE 4.0 मॉड्यूल क्या है?
- HM10 और अन्य ब्लूटूथ मॉड्यूल के बीच अंतर
- अवयव आवश्यक
- सर्किट आरेख
- Arduino ब्लूटूथ नियंत्रक (HM-10 मॉड्यूल) Android अनुप्रयोग
- एचएम -10 ब्लूटूथ मॉड्यूल का उपयोग करके एलईडी को नियंत्रित करने के लिए Arduino UNO प्रोग्रामिंग
ब्लूटूथ वायरलेस तकनीक का सबसे लोकप्रिय और उपयोग करने में आसान है। कुछ वर्षों में भविष्य की तकनीक के साथ मौजूदा प्रौद्योगिकी के साथ तालमेल रखने और उपयोगकर्ताओं की जरूरतों को पूरा करने के लिए ब्लूटूथ मानक के कई उन्नयन हुए हैं। ब्लूटूथ संस्करण 1.0 से ब्लूटूथ संस्करण 5.0 से शुरू होकर, उच्च डेटा दरों सहित कई चीजें बदल जाती हैं, कम वर्तमान खपत के साथ IoT के लिए उपयोग की जाने वाली क्षमता, बेहतर सुरक्षा, आदि। ब्लूटूथ संचार सीखने के लिए कई मॉड्यूल उपलब्ध हैं जो हो सकते हैं माइक्रोकंट्रोलर्स के साथ हस्तक्षेप किया। ऐसा ब्लूटूथ मॉड्यूल HM10 है जो ब्लूटूथ 4.0 पर आधारित है ।
HM10 BLE 4.0 मॉड्यूल क्या है?
HM10 एक सीरियल BLE मॉड्यूल (ब्लूटूथ-लो-एनर्जी) है जिसका उपयोग कम बिजली की खपत के अनुप्रयोगों के लिए किया जाता है और यह सिक्के के आकार की बैटरी के साथ भी लंबे समय तक चल सकता है। HM10 एक ब्लूटूथ 4.0 मॉड्यूल है के आधार पर टेक्सास इंस्ट्रूमेंट्स CC2540 या CC2541 BLE सिस्टम SoC (चिप पर सिस्टम)। मॉड्यूल का फर्मवेयर और डिज़ाइन जिनान हुमाओ टेक्नोलॉजी द्वारा बनाया और प्रबंधित किया जाता है। मॉड्यूल सीरियल / UART लेयर के साथ आता है जो डिवाइस को विभिन्न माइक्रोकंट्रोलर के साथ इंटरफेस करने में सक्षम बनाता है। HM10 सरल कनेक्शन बनाने और आईबेक के साथ या इसके उपयोग के लिए आदर्श है।
HM10 एक बहुत ही लोकप्रिय ब्लूटूथ 4.0 BLE मॉड्यूल बन गया है। HM10 केवल एक ब्लूटूथ 4.0 आधारित मॉड्यूल है, इसलिए यह ब्लूटूथ 2 / 2.1 मॉड्यूल जैसे HC-05, HC-06 और अन्य ब्लूटूथ मॉड्यूल के साथ कनेक्ट नहीं होगा। HM10 को सीरियल UART कनेक्शन पर भेजे गए AT कमांड के माध्यम से नियंत्रित किया जाता है। HM-10 एक ब्लूटूथ लो एनर्जी (BLE) मॉड्यूल है, BLE लिंक के बारे में अधिक जानने के लिए। यह भी जानें कि कैसे एक nRF24L01 मॉड्यूल को Arduino के साथ BLE मॉड्यूल के रूप में उपयोग किया जा सकता है।
HM10 और अन्य ब्लूटूथ मॉड्यूल के बीच अंतर
मुख्य अंतर HM10 के पास ब्लूटूथ संस्करण है। HM10 ब्लूटूथ 4.0 मॉड्यूल है, इसलिए यह सभी ब्लूटूथ संस्करण 4.0 सुविधाओं जैसे गति, थ्रूपुट और रेंज के साथ आता है। HM10 प्रदान करता है कम ऊर्जा / कम बिजली की खपत के साथ अप करने के लिए 24 एमबीपीएस की एक डाटा दर। इसके साथ ही HM10 खुली जगह में 100 मीटर की दूरी रेंज प्रदान करता है। अन्य ब्लूटूथ मॉड्यूल जैसे कि HC-05 जो ब्लूटूथ 2.0 आधारित मॉड्यूल है, की तुलना करें, तो HM10 निश्चित रूप से HC-05 से बेहतर प्रदर्शन करता है। एचएम -05 एचएम 10 की तुलना में केवल 3 एमबीपीएस प्रदान करता है जो काफी कम है।
ब्लूटूथ मॉड्यूल HC-05 और HC-06 अभी भी निर्माताओं और शौकियों के बीच बहुत लोकप्रिय हैं क्योंकि वे सस्ते और इंटरफ़ेस के लिए आसान हैं। हमने HC-05/06 का उपयोग करते हुए कई परियोजनाएं भी बनाईं और कई अन्य माइक्रोकंट्रोलर के साथ उन्हें हस्तक्षेप किया:
- ईएसपी 8266 के साथ ब्लूटूथ मॉड्यूल इंटरफेसिंग: एक एलईडी को नियंत्रित करना
- STM32F103C8 ब्लू पिल के साथ ब्लूटूथ HC-05 को इंटरफेज करना: एलईडी को नियंत्रित करना
- AVR माइक्रोकंट्रोलर के साथ HC-05 ब्लूटूथ मॉड्यूल को इंटरफैस करना
- PIC Microcontroller के साथ ब्लूटूथ मॉड्यूल HC-06 को इंटरफेज करना
- आवाज Arduino और ब्लूटूथ का उपयोग कर नियंत्रित एल ई डी
- रास्पबेरी पाई का उपयोग करके आवाज नियंत्रित रोशनी
इस लिंक पर सभी ब्लूटूथ से संबंधित परियोजनाएं देखी जा सकती हैं।
आज हम ब्लूटूथ प्रोटोकॉल का उपयोग करके एक एलईडी वायरलेस तरीके से नियंत्रित करने के लिए Arduino Uno के साथ HM-10 BLE मॉड्यूल को इंटरफेस करेंगे । ऑन / ऑफ कमांड स्मार्टफोन द्वारा भेजे जाएंगे।
अवयव आवश्यक
हार्डवेयर:
- Arduino UNO
- HM10 ब्लूटूथ मॉड्यूल
- प्रतिरोध (1 kors, 470 Ω)
- जम्पर तार
सॉफ्टवेयर:
- Arduino IDE
- Arduino ब्लूटूथ नियंत्रक (HM-10 मॉड्यूल) Android ऐप
- Android स्मार्ट फोन
सर्किट आरेख
Arduino और HM-10 ब्लूटूथ मॉड्यूल को जोड़ने के लिए सर्किट आरेख बहुत सरल है जैसा कि नीचे दिखाया गया है।
परियोजना के साथ शुरू करने से पहले सुनिश्चित करें कि आपका HM-10 मॉड्यूल एक वास्तविक HM-10 मॉड्यूल है । व्यापक रूप से चीनी क्लोन किए गए HM-10 मॉड्यूल उपलब्ध हैं। वास्तविक और क्लोन एचएम -10 मॉड्यूल के बीच अंतर की पहचान करने के लिए, बस एचएम -10 बोर्ड पर 32KHz के क्रिस्टल थरथरानवाला की उपस्थिति देखें। यदि क्रिस्टल थरथरानवाला मौजूद है, तो यह एक वास्तविक एचएम -10 मॉड्यूल है और आपको फ़र्मवेयर को बदलने की आवश्यकता नहीं है। लेकिन अगर आप इसके स्थान पर क्रिस्टल थरथरानवाला नहीं देख सकते हैं तो यह एक क्लोन एचएम 10 मॉड्यूल है और आपको क्लोन एचएम -10 मॉड्यूल के फर्मवेयर को बदलने की आवश्यकता है। एचएम -10 फर्मवेयर को बदलने के बिना, आप न तो एचएम -10 मॉड्यूल को एटी कमांड के साथ एक्सेस कर सकते हैं और न ही आप इसे स्मार्टफोन के साथ जोड़ सकते हैं। यहां हम क्लोन मॉड्यूल का भी उपयोग कर रहे हैं, इसलिए हमने इसे अर्डरिनो के साथ जोड़ने से पहले इसके फर्मवेयर को फ्लैश किया। क्लोन एचएम -10 मॉड्यूल के फर्मवेयर को बदलने के लिए, बस क्लोन एचएम -10 मॉड्यूल के फर्मवेयर को बदलने या फ्लैश करने के लिए हमारे ट्यूटोरियल का पालन करें।
Arduino ब्लूटूथ नियंत्रक (HM-10 मॉड्यूल) Android अनुप्रयोग
Arduino ब्लूटूथ नियंत्रक (HM-10 मॉड्यूल) एक Android अनुप्रयोग है जो Google Play Store पर मुफ्त उपलब्ध है। यह ऐप HM-10 BLE मॉड्यूल के लिए आसान और सरल इंटरफ़ेस है। परीक्षण करते समय, यह HM-10 को जल्दी से खोजने में सक्षम था और यह HM-10 के साथ तुरंत जुड़ा हुआ था। ऐप में कुछ शांत सुविधा है जैसे कि आप एक बटन बना सकते हैं और इसे कस्टम नाम और फ़ंक्शन के साथ कस्टमाइज़ कर सकते हैं। यहां हम Arduino के साथ जुड़े एलईडी को चालू और बंद करने के लिए इस ब्लूटूथ नियंत्रक ऐप में दो बटन कैसे बनाएंगे ।
Arduino ब्लूटूथ नियंत्रक (HM-10 मॉड्यूल) Android ऐप कैसे सेटअप करें:
- Google Play Store से ऐप डाउनलोड करें।
- ऐप का होम पेज नीचे की तरह दिखाई देगा जहाँ आप अपनी पसंद की सुविधाएँ पा सकते हैं, जैसे डिवाइस, सर्च आइकन, डिलीट आइकन, डिवाइस स्टेटस, टेक्स्ट भेजें, टेम्प्लेट इत्यादि को कनेक्ट करें या तो सर्च आइकॉन पर क्लिक करके या क्लिक करके डिवाइस को खोजें। तीन बिंदुओं को ऊपरी दाहिने कोने पर और चुनें कनेक्ट डिवाइस ।
- सभी उपलब्ध उपकरण स्क्रीन में दिखाए जाएंगे। सही HM-10 मॉड्यूल चुनें।
- अब HM-10 सफलतापूर्वक कनेक्ट हो जाएगा और आप स्क्रीन ऑफ टॉप में HM-10 की स्थिति देख पाएंगे।
- अब या तो आप सीधे पाठ अनुभाग भेज सकते हैं या पाठ खंड पर लिखकर भेज सकते हैं और तीर भेज सकते हैं या आप एक कस्टम टेम्पलेट बना सकते हैं।
- समय बचाने के लिए एक कस्टम टेम्पलेट बनाना। ऊपरी दाएं कोने पर " + " आइकन पर क्लिक करें और विवरण भरें। " नाम " बटन का नाम है, " पाठ " फ़ील्ड ग्रंथों या स्ट्रिंग के लिए है जो एचएम -10 को भेजा जाएगा और " विवरण " केवल बटन विवरण है कि बटन कैसे कार्य करेगा।
- सबसे पहले, LED ON को ऑन करने के लिए एक बटन बनाएं और उसे ग्रीन कलर दें। बटन HM-10 को “N” लेटर भेजेगा जो Arduino से जुड़े LED को ऑन करेगा। इसी तरह LED OFF के लिए एक बटन बनाएं और उसे एक लाल रंग दें। । बटन HM-10 को “F” लेटर भेजेगा जो Arduino से जुड़े LED को बंद कर देगा।
- अब आप टेक्स्ट फ़ील्ड के ठीक नीचे बनाए गए दो बटन देख सकते हैं। अब अगर आप LED को कंट्रोल करना चाहते हैं तो बस बटन पर क्लिक करें।
यह HM-10 मॉड्यूल को नियंत्रित करने के लिए एंड्रॉइड ऐप की स्थापना को पूरा करता है । अब हम एंड्रॉइड ऐप से पात्रों को प्राप्त करने के लिए प्रोग्रामिंग Arduino Uno के साथ शुरू करेंगे।
एचएम -10 ब्लूटूथ मॉड्यूल का उपयोग करके एलईडी को नियंत्रित करने के लिए Arduino UNO प्रोग्रामिंग
हमेशा प्रदर्शन वीडियो के साथ पूरा कार्यक्रम इस ट्यूटोरियल के अंत में पाया जा सकता है। इस परियोजना के लिए Arduino UNO प्रोग्रामिंग न तो बहुत प्रयास और न ही किसी पुस्तकालय की आवश्यकता है। आप हार्डवेयर सीरियल और सॉफ्टवेयर सीरियल लाइब्रेरी का उपयोग कर सकते हैं। यदि आप सॉफ्टवेयर धारावाहिक का उपयोग कर रहे हैं तो बस सॉफ्टवेयर धारावाहिक पुस्तकालय को शामिल करें और हार्डवेयर धारावाहिक के साथ आगे बढ़ें। इस परियोजना में हम SoftwareSerial का उपयोग कर रहे हैं। इसलिए सॉफ्टवेयर सीरियल लाइब्रेरी को शामिल करना शुरू करें । पिन Rx और Tx, Arduino के 2 और 3 Pins से जुड़े हुए हैं।
#शामिल
एचएम 10 और एंड्रॉइड ऐप से प्राप्त डेटा को संग्रहीत करने के लिए दो चर का उपयोग किया जाता है।
char appData; स्ट्रिंग inData = "";
बस 9600 बॉड दर पर हार्डवेयर और सॉफ्टवेयर सीरियल शुरू करें और कुछ डीबगिंग स्टेटमेंट प्रिंट करें। एलईडी पिन आउटपुट के रूप में सेट किया गया है और शुरू में यह बंद है।
सीरियल.बेगिन (9600); Serial.println ("HM10 सीरियल 9600 पर शुरू हुआ"); HM10.begin (9600); // 9600 बॉड रेट पिनमोड (13, OUTPUT) पर HM10 सीरियल सेट करें ; // जहाज पर एलईडी digitalWrite (13, LOW); // स्विच ऑफ एलईडी
HM10 पोर्ट को सुनना शुरू करें और जब तक HM10 उपलब्ध नहीं है तब तक स्ट्रिंग पढ़ें और डेटा भेजता है। स्ट्रिंग में डेटा सहेजें।
HM10.listen (); // HM10 पोर्ट सुनें जबकि (HM10.available ()> 0) {// अगर HM10 कुछ भेजता है तो पढ़ें appData = HM10.read (); inData = स्ट्रिंग (appData); // स्ट्रिंग फॉर्मेट में डेटा सेव करें Serial.write (appData); }
एचएम 10 को एटी कमांड के साथ डिबग करने के लिए बस नीचे दी गई कोड लाइन लिखिए जो स्ट्रिंग को एचएम 10 में भेज देगी।
अगर (Serial.available ()) {// उपलब्ध होने पर उपयोगकर्ता इनपुट पढ़ें। देरी (10); HM10.write (Serial.read ()); }
यदि प्राप्त स्ट्रिंग "एफ" है, तो धारावाहिक मॉनिटर पर एक संदेश प्रिंट करें और यदि प्राप्त स्ट्रिंग "एन" है, तो लीड को बंद करें और फिर 500 मीटर की देरी के साथ सीरियल मॉनिटर और ब्लिंक पर एक संदेश प्रिंट करें।
अगर (inData == "F") { Serial.println ("LED OFF"); digitalWrite (13, LOW); // स्विच ऑफ एलईडी देरी (500); } अगर (inData == "N") { Serial.println ("LED ON"); digitalWrite (13, उच्च); // स्विच ऑफ एलईडी देरी (500); digitalWrite (13, LOW); // स्विच ऑफ एलईडी देरी (500); }
यह Arduino और BLE HM10 ब्लुटूथ 4.0 मॉड्यूल का उपयोग करके एलईडी को नियंत्रित करने के तरीके पर पूरा ट्यूटोरियल खत्म करता है । फिर से याद रखें कि , यदि आपके पास वास्तविक HM10 मॉड्यूल है, तो आपको इसके फर्मवेयर को फ्लैश करने की आवश्यकता नहीं है, इसे सीधे उपयोग किया जा सकता है । लेकिन अगर आप क्लोन एचएम -10 मॉड्यूल का उपयोग कर रहे हैं तो क्लोन एचएम 10 बीएलई मॉड्यूल पर फर्मवेयर को फ्लैश करें। यदि आपको कोई संदेह या सुझाव है तो कृपया नीचे टिप्पणी करें या हमारे मंच पर लिखें।