- अवयव आवश्यक
- सर्किट आरेख
- MATLAB कमांड विंडो का उपयोग कर ब्लूटूथ संचार
- MATLAB GUI का उपयोग कर ब्लूटूथ संचार
एम्बेडेड सिस्टम में कम दूरी के वायरलेस संचार के लिए ब्लूटूथ सबसे सरल और सबसे लोकप्रिय प्रोटोकॉल है। ब्लूटूथ का उपयोग न केवल डेटा को एक डिवाइस से दूसरे डिवाइस में स्थानांतरित करने के लिए किया जाता है, बल्कि वायरलेस तरीके से उपकरणों को नियंत्रित करने के लिए भी किया जाता है। लगभग हर इलेक्ट्रॉनिक गैजेट में आजकल ब्लूटूथ सपोर्ट होता है इसलिए आपके एम्बेडेड एप्लिकेशन में ब्लूटूथ नियंत्रण विकल्प होना बुद्धिमानी की बात है।
यहां इस ट्यूटोरियल में, हम सीखेंगे कि वायरलेस तरीके से संचार करने के लिए MATLAB में ब्लूटूथ का उपयोग कैसे करें। हम एक तरफ MATLAB के साथ कंप्यूटर के इन-बिल्ट ब्लूटूथ का उपयोग करेंगे और दूसरे पक्ष पर Arduino के साथ HC-05 का। ब्लूटूथ के माध्यम से MATLAB और Arduino के बीच संचार स्थापित करने के दो तरीके हैं, एक कमांड विंडो का उपयोग कर रहा है और दूसरा MATLAB GUI का उपयोग कर रहा है। दोनों विधियों के लिए Arduino कोड समान रहेगा। यदि आप MATLAB के लिए नए हैं, तो MATLAB के साथ सरल एलईडी ब्लिंक कार्यक्रम के साथ शुरुआत करने और MATLAB में उपयोग की जाने वाली बुनियादी शब्दावली सीखने की सिफारिश की गई है। आप आगे MATLAB परियोजनाओं का पता लगा सकते हैं:
- MATLAB और Arduino के बीच सीरियल संचार
- MATLAB और Arduino का उपयोग कर डीसी मोटर नियंत्रण
- MATLAB और Arduino का उपयोग कर स्टेपर मोटर नियंत्रण
- MATLAB का उपयोग करके इमेज प्रोसेसिंग के साथ शुरुआत करना
अवयव आवश्यक
- MATLAB स्थापित लैपटॉप (वरीयता: R2016a या इसके बाद के संस्करण)
- Arduino UNO
- ब्लूटूथ मॉड्यूल (HC-05)
- एलईडी (कोई भी रंग)
- रेसिस्टर (330 ओम)
- जम्पर तार
एचसी -05 के बारे में और अरुडिनो के साथ इसके इंटरफेस के बारे में अधिक जानने के लिए, निम्नलिखित लेख देखें।
- Arduino का उपयोग करके ब्लूटूथ नियंत्रित सर्वो मोटर
- आवाज Arduino और ब्लूटूथ का उपयोग कर नियंत्रित एल ई डी
- सेल फोन Arduino और ब्लूटूथ का उपयोग कर नियंत्रित एसी
सर्किट आरेख
MATLAB और Arduino के बीच ब्लूटूथ संचार के लिए स्कैमैटिक्स नीचे दिया गया है:
MATLAB कमांड विंडो का उपयोग कर ब्लूटूथ संचार
यह Arduino और MATLAB के बीच ब्लूटूथ संचार को सेटअप करने की सरल विधि है। यहां, MATLAB लैपटॉप के ब्लूटूथ का उपयोग Arduino से जुड़े HC-05 को जोड़ने के लिए करता है । पहले हमें MATLAB (लैपटॉप के ब्लूटूथ का उपयोग करके) से आने वाले सीरियल आने वाले डेटा को पढ़ने के लिए Arduino को कोड करना होगा।
फिर MATLAB से इस ब्लूटूथ संचारित डेटा का उपयोग Arduino से जुड़ी किसी भी चीज़ को नियंत्रित करने के लिए किया जा सकता है। यहाँ हमने Arduino से एक LED कनेक्ट किया है जिसे MATLAB का उपयोग करके LAPTOP से नियंत्रित किया जा सकता है।
सबसे पहले, दिए गए Arduino कोड को Arduino UNO में अपलोड करें और फिर MATLAB कमांड विंडो में कोडिंग शुरू करें।
#शामिल
फिर, MATLAB और Arduino के बीच ब्लूटूथ संचार के लिए कमांड विंडो में MATLAB कोड को कॉपी और पेस्ट करें।
instrhwinfo ('ब्लूटूथ', 'HC-05'); बीटी = ब्लूटूथ ('एचसी -05', 1); fopen (bt);
नीचे दिए गए कोड में Arprintino को '0' भेजकर LED को बंद करने के लिए कमांड fprintf (bt, '0') का उपयोग किया जाता है। अब, यदि आप एलईडी को चालू करना चाहते हैं, तो नीचे दिए गए आदेश का उपयोग करके '0' के बजाय '1' भेजें।
fprintf (bt, '1');
उपलब्ध हार्डवेयर के बारे में जानकारी की जांच करने के लिए, कमांड के नीचे उपयोग करें
instrhwinfo ('प्रकार', 'डिवाइस का नाम');
उपयोग में कमांड के नीचे, ब्लूटूथ पोर्ट को खोलने के लिए
fopen (bt);
ब्लूटूथ का उपयोग करके MATLAB से Arduino तक डेटा भेजने की पूरी प्रक्रिया को समझने के लिए नीचे दिए गए वीडियो की जांच करें ।
MATLAB GUI का उपयोग कर ब्लूटूथ संचार
MATLAB GUI का उपयोग कर ब्लूटूथ कम्युनिकेशन का प्रदर्शन करने के लिए, हम Arduino से जुड़े LED को चालू, बंद और ब्लिंक करने के लिए MATLAB में तीन ग्राफिकल बटन बनाएंगे । उन ग्राफिकल बटन पर क्लिक करने पर MATLAB से HC-05 तक ब्लूटूथ के माध्यम से डेटा भेजा जाएगा। Arduino में MATLAB से HC-05 तक ब्लूटूथ संचारित डेटा प्राप्त करने और प्राप्त आंकड़ों के अनुसार एलईडी को नियंत्रित करने के लिए कोड शामिल है। Arduino कोड पिछले एक के समान रहेगा, केवल अंतर यह है कि, पहले हम MATLAB की कमांड विंडो के माध्यम से डेटा '1' और '0' भेज रहे थे, और अब वही डेटा तीन ग्राफिकल बटन पर क्लिक करने पर भेजा जाएगा।
GUI लॉन्च करने के लिए, कमांड विंडो में नीचे कमांड टाइप करें
मार्गदर्शक
एक पॉपअप विंडो खुलेगी, फिर नए रिक्त GUI का चयन करें जैसा कि नीचे चित्र में दिखाया गया है,
अब एलईडी को चालू करने के लिए तीन पुशबटन चुनें, और एलईडी को ब्लिंक करें, जैसा कि नीचे दिखाया गया है,
पुशबुटनों के आकार को बदलने या बदलने के लिए, बस उस पर क्लिक करें और आप बटन के कोनों को खींचने में सक्षम होंगे। पुशबटन पर डबल-क्लिक करके आप उस विशेष बटन के रंग, स्ट्रिंग और टैग को बदल सकते हैं। हमने नीचे दिए गए चित्र में दिखाए गए अनुसार तीन पुशबटन को अनुकूलित किया है।
आप अपनी पसंद के अनुसार बटन को कस्टमाइज़ कर सकते हैं। अब जब आप इसे सहेजते हैं , MATLAB के संपादक विंडो में एक कोड उत्पन्न होगा । MATLAB GUI का उपयोग करके ब्लूटूथ डेटा प्राप्त करने पर अपने Arduino द्वारा किए जाने वाले कार्य के अनुसार इस कोड को संपादित करें। इसलिए नीचे हमने MATLAB कोड संपादित किया है। MATLAB ट्यूटोरियल के साथ आरंभ करने में आप कमांड विंडो, एडिटर विंडो आदि के बारे में अधिक जान सकते हैं।
पूरा MATLAB कोड, ब्लूटूथ के माध्यम से MATLAB से एलईडी को नियंत्रित करने के लिए, इस परियोजना के अंत में दिया गया है। इसके अलावा हम डाउनलोड के लिए GUI फ़ाइल (.fig) और कोड फ़ाइल (.m) को शामिल कर रहे हैं, जिसके उपयोग से आप अपनी आवश्यकता के अनुसार बटन को अनुकूलित कर सकते हैं। नीचे कुछ ट्वेक हैं जो हमने Arduino के साथ जुड़े एलईडी को नियंत्रित करने के लिए किया था।
लाइन कोड पर नीचे दिए गए कोड को कॉपी और पेस्ट करें। MATLAB को लैपटॉप के ब्लूटूथ से सेटअप या कनेक्ट करने के लिए 74।
सभी साफ करें; वैश्विक बीटी; instrhwinfo ('ब्लूटूथ', 'HC-05'); बीटी = ब्लूटूथ ('एचसी -05', 1); fopen (bt);
जहाँ, डेटा ट्रांसमिट करने के लिए ब्लूटूथ पोर्ट को खोलने के लिए fopen (bt) का उपयोग किया जाता है।
अब, जब आप नीचे स्क्रॉल करते हैं, तो आप देखेंगे कि GUI में तीन पुशबटन के लिए तीन फ़ंक्शन बनाए गए हैं। अब आप जिस कार्य को क्लिक करना चाहते हैं, उसके अनुसार कार्यों में कोड लिखें।
में पर एलईडी बटन के समारोह, कॉपी और एलईडी चालू करना नीचे दिए गए कोड पेस्ट सिर्फ समारोह के अंत से पहले। नीचे दिए गए कोड में, fprintf (bt, '1') का उपयोग लैपटॉप के ब्लूटूथ का उपयोग करके MATLAB से HC-05 भेजने के लिए किया जाता है। Arduino HC-05 के माध्यम से इस डेटा '1' को प्राप्त करेगा और इसके 11 वें पिन हाई को बनाकर LED को चमकाएगा।
वैश्विक बीटी; fprintf (bt, '1');
में एलईडी बंद बटन के समारोह, कॉपी और एलईडी बंद करना नीचे दिए गए कोड पेस्ट सिर्फ समारोह के अंत से पहले। नीचे दिए गए कोड में, लैपटॉप के ब्लूटूथ का उपयोग करके MATLAB से HC-05 भेजने के लिए fprintf (bt, '0') का उपयोग किया जाता है। Arduino HC-05 के माध्यम से '0' प्राप्त करेगा और इसके 11 वें पिन LOW को बनाकर एलईडी को बंद कर देगा ।
वैश्विक बीटी; fprintf (bt, '0');
में झपकी बटन के समारोह, एलईडी पलक नीचे दिए गए कोड का उपयोग करें। एक लूप के लिए 10 बार एलईडी को ब्लिंक करने के लिए उपयोग किया जाता है।
वैश्विक बीटी; i = 1:10 फ़र्फ़रफ़ (बीटी, '1') के लिए; ठहराव (0.5); fprintf (bt, '0'); ठहराव (0.5); समाप्त
MATLAB GUI कोडिंग के साथ पूरा करने और सर्किट आरेख के अनुसार हार्डवेयर सेटअप करने के बाद, संपादित कोड.m फ़ाइल को चलाने के लिए रन बटन पर क्लिक करें।
MATLAB को प्रतिक्रिया देने में कुछ सेकंड लग सकते हैं, किसी भी GUI बटन पर तब तक क्लिक न करें जब तक MATLAB BUSY इंडिकेशन नहीं दिखाता है, जिसे आप स्क्रीन के बायें निचले कोने पर देख सकते हैं जैसा कि नीचे दिखाया गया है,
जब सब कुछ तैयार हो जाए, तो एलईडी को चालू करने के लिए LED-ON, LED OFF और BLINK बटन पर क्लिक करें और क्रमशः LED को ब्लिंक करें । इस परियोजना की सभी कोड फाइलें यहां से डाउनलोड की जा सकती हैं या आप नीचे दिए गए कोड का उपयोग कर सकते हैं।
MATLAB GUI का उपयोग करके ब्लूटूथ के माध्यम से MATLAB से Arduino तक डेटा भेजने की पूरी प्रक्रिया को समझने के लिए नीचे दिए गए वीडियो की जांच करें ।