विषयसूची:

ब्लूटूथ एचसी-05, एचसी-06 के माध्यम से Arduino स्मार्टफोन कॉम/सीरियल मॉनिटर: 4 कदम (चित्रों के साथ)
ब्लूटूथ एचसी-05, एचसी-06 के माध्यम से Arduino स्मार्टफोन कॉम/सीरियल मॉनिटर: 4 कदम (चित्रों के साथ)

वीडियो: ब्लूटूथ एचसी-05, एचसी-06 के माध्यम से Arduino स्मार्टफोन कॉम/सीरियल मॉनिटर: 4 कदम (चित्रों के साथ)

वीडियो: ब्लूटूथ एचसी-05, एचसी-06 के माध्यम से Arduino स्मार्टफोन कॉम/सीरियल मॉनिटर: 4 कदम (चित्रों के साथ)
वीडियो: HC-05 Bluetooth Module with Arduino : Mit app inventor 2024, नवंबर
Anonim
ब्लूटूथ एचसी-05, एचसी-06. के माध्यम से Arduino स्मार्टफ़ोन कॉम/सीरियल मॉनिटर
ब्लूटूथ एचसी-05, एचसी-06. के माध्यम से Arduino स्मार्टफ़ोन कॉम/सीरियल मॉनिटर

यह अविश्वसनीय रूप से उपयोगी है यदि आप अपने स्केच का परीक्षण अपने पीसी से दूर, वास्तविक दुनिया के वातावरण में करना चाहते हैं। इसका परिणाम यह होता है कि आपका स्मार्टफोन आपके पीसी पर Arduino सीरियल मॉनिटर के समान कार्य करता है। HC-05 और HC-06 ब्लूटूथ मॉड्यूल eBay पर लगभग £3 के लिए उपलब्ध हैं और चुनने के लिए कई मुफ्त स्मार्टफोन ऐप हैं। कुछ कमियां हैं जिनसे आप यहां के उदाहरणों का पालन करके उम्मीद से बचेंगे। यहां इस्तेमाल किया जाने वाला मुफ्त स्मार्टफोन ऐप बाद में उपयोग के लिए फ़ाइल में प्राप्त टेक्स्ट को भी सहेज सकता है। आपके रेखाचित्रों में किसी परिवर्तन की आवश्यकता नहीं है क्योंकि समान सीरियल पिन का उपयोग किया जाता है।

मैंने पहली बार इसका उपयोग उस उपकरण का परीक्षण करते समय किया था जो मेरी साइकिल पर मुझे ओवरटेक करते समय कारों द्वारा दी जाने वाली दूरी को मापता है। मैं अपने फोन पर एक सेकंड में 30 बार ली गई दूरी माप को रिकॉर्ड करने में सक्षम था जहां वे एक फाइल में सहेजे गए थे। मैंने बाद में वीडियो के साथ इसका विश्लेषण किया जिसे मैंने एक स्पोर्ट्स कैम और मेरे ट्रैकिंग ऐप का उपयोग करके रिकॉर्ड किया जिसने मेरी गति और स्थान दिया।

आपको चाहिये होगा:

  • आपका पसंदीदा Arduino (यहाँ इस्तेमाल किया गया Uno)
  • HC-05 या HC-06 ब्लूटूथ मॉड्यूल
  • एक स्मार्टफोन (यहां इस्तेमाल किया गया एंड्रॉइड फोन) और मुफ्त ब्लूटूथ ऐप

कदम:

  • मुफ़्त ब्लूटूथ ऐप इंस्टॉल करें
  • ब्लूटूथ मॉड्यूल कॉन्फ़िगर करें
  • ब्लूटूथ को Arduino से कनेक्ट करें
  • लोड उदाहरण स्केच
  • परीक्षण प्रणाली

चरण 1: ब्लूटूथ ऐप इंस्टॉल करें

कई ब्लूटूथ ऐप उपलब्ध हैं और कई मुफ्त हैं। मैं एंड्रॉइड फोन का उपयोग करता हूं लेकिन मुझे उम्मीद है कि अन्य प्रणालियों के लिए भी यही स्थिति है। मैंने ब्लूटर्म 2 का उपयोग करने का निर्णय लिया क्योंकि यह फाइल करने के लिए प्राप्त डेटा को लॉग करने का विकल्प भी प्रदान करता है। मुझे इसका उपयोग करना भी बहुत सीधा लगा। इसलिए Google Play पर जाएं और BlueTerm 2 को डाउनलोड करने का अनुरोध करें।

जब आपके पास ऐप इंस्टॉल हो जाए तो आप ब्लूटूथ डिवाइस से कनेक्ट कर सकते हैं। ध्यान दें कि किसी भी ऐप में उपयोग किए जाने से पहले ब्लूटूथ डिवाइस को पहले फोन के साथ जोड़ा जाना चाहिए:

ब्लू टूथ चालू करें: मैं सेटिंग्स> ब्लूटूथ के माध्यम से जाता हूं।

फोन पहले से युग्मित उपकरणों को सूचीबद्ध करेगा और कुछ सेकंड के बाद उपलब्ध उपकरणों को दिखाएगा। नाम प्रारंभ में डिवाइस के नाम के बजाय संख्याओं के समूह के रूप में दिखाई दे सकता है। हालाँकि इसे चुनने पर नाम दिखाता है और पिन मांगता है जो आमतौर पर 1234 होता है।

अब ब्लूटर्म 2 शुरू करें। सेटिंग्स पर क्लिक करें, फिर कनेक्ट डिवाइस पर क्लिक करें और आवश्यकतानुसार चुनें। आप इस स्तर पर बस एक HC-05/HC-06 मॉड्यूल को पावर कर सकते हैं और यदि आप चाहें तो युग्मन प्रक्रिया की जांच कर सकते हैं (जमीन पर नकारात्मक आपूर्ति और Vcc को 5v संलग्न करें)।

छवि
छवि

चरण 2: ब्लूटूथ मॉड्यूल कॉन्फ़िगर करें - भाग 1 - कनेक्शन और HC-06

यदि आप डिफ़ॉल्ट नाम और बॉड दर का उपयोग करके खुश हैं तो आप इस चरण को छोड़ सकते हैं। डिफ़ॉल्ट नाम हैं: HC-05 या HC-06 और बॉड: 9600। मॉड्यूल को फिर से कॉन्फ़िगर करने का लाभ यह है कि तेजी से बॉड दरों का चयन किया जा सकता है और नाम को कुछ और आसानी से पहचाना जा सकता है।

कॉन्फ़िगरेशन को एक सीरियल कनेक्शन के माध्यम से एक पीसी से मॉड्यूल में भेजने के लिए कमांड की आवश्यकता होती है। एक FDTI USB सीरियल लिंक आदर्श है, खासकर यदि इसमें 3.3v विकल्प है। हालाँकि Arduino बोर्ड में USB से सीरियल कन्वर्टर होता है और इसलिए इसका उपयोग भी किया जा सकता है और यह यहाँ दिखाया गया तरीका है। ऐसा करने के लिए Arduino मुख्य प्रोसेसर सीरियल पोर्ट को अक्षम करना सबसे अच्छा है ताकि हम बिना किसी हस्तक्षेप के पीसी और ब्लूटूथ मॉड्यूल के बीच संचार कर सकें।

Arduino सीरियल को निष्क्रिय करने के लिए स्केच में बस निर्देश हैं:

पिनमोड (0, इनपुट):

पिनमोड (1, इनपुट);

सेटअप {} अनुभाग में।

मैंने स्केच NoSerial.ino संलग्न किया है। अपने स्केच फोल्डर में 'NoSerial' नाम का फोल्डर बनाएं और इसमें NoSerial.ino जोड़ें। Arduino IDE प्रारंभ करें, स्केच खोलने के लिए फ़ाइल> स्केचबुक> स्केच> NoSerial पर नेविगेट करें। टूल्स मेनू से बोर्ड प्रकार और पोर्ट का चयन करें और डाउनलोड बटन पर क्लिक करें।

कॉन्फ़िगरेशन के लिए कनेक्शन

स्केच लोड के साथ अब हम ब्लूटूथ मॉड्यूल को Arduino बोर्ड से जोड़ सकते हैं। टीएक्स और आरएक्स कनेक्शन की अदला-बदली की जाती है, जो हम बाद में करेंगे क्योंकि हम सीरियल मॉनिटर के लिए पीसी पोर्ट के साथ संवाद करना चाहते हैं न कि Arduino मुख्य प्रोसेसर। PC Tx Arduino Rx से जुड़ा है और इसके विपरीत।

ध्यान दें कि ब्लूटूथ मॉड्यूल में Tx और Rx के लिए 3.3v स्तर हैं। इसलिए 5v सिस्टम से कनेक्ट करते समय ब्लूटूथ Rx इनपुट के लिए वोल्टेज डिवाइडर का उपयोग किया जाना चाहिए। ब्लूटूथ 3.3v Tx आउटपुट आमतौर पर 5v सिस्टम द्वारा ठीक पाया जाता है और इसलिए इसे सीधे जोड़ा जा सकता है।

मैंने पाया है कि 3k3 और 6k8 प्रतिरोधों का उपयोग करने वाला एक वोल्टेज विभक्त 115200 सीरियल बॉड दरों तक काम करता है।

HC05 और HC06 मॉड्यूल में ऑन-बोर्ड वोल्टेज रेगुलेटर हैं और इसलिए 5v से जुड़े Vcc के साथ चलते हैं।

तो कनेक्ट करें:

  • D0. के लिए 3k3 रोकनेवाला
  • जमीन के लिए 6k8 रोकनेवाला
  • दो प्रतिरोधों के दूसरे सिरों को एक साथ, और ब्लूटूथ मॉड्यूल पर Rx पिन से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल Tx पिन को D1. से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल ग्राउंड पिन को GND से कनेक्ट करें ब्लूटूथ मॉड्यूल ग्राउंड पिन को GND से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल Vcc पिन को 5v. से कनेक्ट करें

विस्तार के लिए चित्र देखें।

छवि
छवि

मॉड्यूल को कॉन्फ़िगर करने के लिए इसे एटी मोड में सेट करने की आवश्यकता है। HC-05 और HC-06 मॉड्यूल के लिए प्रक्रिया अलग है।

कोर्ट-06

ये सबसे आसान हैं। अगर वे किसी डिवाइस के साथ पेयर नहीं किए जाते हैं तो वे खुद को एटी मोड में सेट कर लेते हैं। हालांकि बॉड सेटिंग वही होगी जो सामान्य ऑपरेटिंग बॉड पर सेट की गई है। आपूर्ति किए जाने पर यह सामान्य रूप से 9600 है। यदि यह काम नहीं करता है तो 38400 या अन्य सामान्य दरों का प्रयास करें।

USB लीड को PC से Arduino से कनेक्ट करें और Arduino IDE प्रारंभ करें। एटी मोड में होने पर ब्लूटूथ एलईडी तेजी से (~ 4 हर्ट्ज) फ्लैश करेगा।

टूल्स> सीरियल मॉनिटर के माध्यम से Arduino सीरियल मॉनिटर खोलें। बॉड को 9600 पर सेट करें और 'नो लाइन एंडिंग' सेट करें।

अब एटी दर्ज करें और भेजें पर क्लिक करें। यदि सब कुछ काम कर रहा है, तो आप मॉनिटर पर 'ओके' लौटते हुए देखेंगे। अगर कुछ भी वापस नहीं आता है तो वायरिंग की दोबारा जांच करें और विभिन्न बॉड सेटिंग्स का प्रयास करें।

अच्छे संचार की पुष्टि के साथ हम नाम बदल सकते हैं और अपनी बॉड दर निर्धारित कर सकते हैं।

AT+NAMEARDUINO दर्ज करें और भेजें पर क्लिक करें। यह मॉड्यूल का नाम ARDUINO पर सेट करता है। किसी अन्य पाठ का उपयोग किया जा सकता है। ध्यान दें कि कमांड में कोई स्पेस नहीं है।

उत्तर OKsetname होना चाहिए। यह पहले भेजे गए OK में जुड़ जाता है

अब एटी+बीएयूडी8 दर्ज करें। यह बॉड को 115200 पर सेट करता है।

उत्तर OK115200 होना चाहिए। यदि कोई और एटी कमांड भेजना है तो सीरियल मॉनिटर बॉड सेटिंग को 115200 में बदलना होगा।

अन्य दरें निर्धारित की जा सकती हैं। बॉड 4 9600 है, बॉड 5 19200, बॉड 6 38400, बॉड 7 57600 है। 115200 से अधिक सेटिंग्स हैं, लेकिन पहले जांच लें कि आपका पीसी और अरुडिनो उन्हें स्वीकार कर सकते हैं (मेरा 128000 से अधिक नहीं हो सकता)। नोट - यदि आप बहुत अधिक दर निर्धारित करते हैं तो आप इसे वापस सेट करने के लिए इसके साथ संवाद करने में सक्षम नहीं होंगे !!!

छवि
छवि

चरण 3: ब्लूटूथ मॉड्यूल कॉन्फ़िगर करें - भाग 2 - HC-05 और प्रारंभिक परीक्षण

कोर्ट-05

इनमें मैन्युअल रूप से एटी मोड में सेट होने की जटिलता है। मैनुअल कहता है कि यदि पावर अप के बाद एटी मोड चालू हो जाता है तो बॉड सेटिंग सामान्य संचार के लिए पहले से निर्धारित दर पर जारी रहेगी। मैं इसे काम पर नहीं ला सका! हालांकि अगर बॉड पर एटी मोड पावर पर सेट है तो 38400 पर सेट है। इसलिए यह बाद वाला विकल्प सबसे विश्वसनीय है क्योंकि हम सुनिश्चित कर सकते हैं कि बॉड 38400 है।

टूल्स> सीरियल मॉनिटर के माध्यम से Arduino सीरियल मॉनिटर खोलें। बॉड को 38400 पर सेट करें और 'कैरिज रिटर्न' सेट करें।

अगला कदम बोर्ड को एटी मोड में लाना है। यह वह जगह है जहां वाहक बोर्डों में अंतर के कारण सबसे अधिक समस्याएं उत्पन्न होती हैं।

मौलिक प्रक्रिया पावर-अप पर कुछ सेकंड के लिए 'की' पिन (पिन 34) को कम रखना है।

मेरे बोर्ड में ऐसा करने के लिए एक बटन है (दो अतिरिक्त कनेक्शन पिन EN और STATE हैं)। ब्लूटूथ मॉड्यूल से Vcc तार को डिस्कनेक्ट करें। फिर, दबाए गए बटन को दबाए रखते हुए, Vcc को 5v पुन: लागू करें। एलईडी को लगभग 2 सेकंड के अंतराल पर फ्लैश करना चाहिए। मैं दूसरे फ्लैश तक बटन दबाए रखता हूं।

कुछ बोर्डों में मॉड्यूल के 6 पिनों में से एक के रूप में एक की पिन होता है। यदि ऐसा है तो पावर अप के दौरान इसे 3.3v से बांधें।

कुछ बोर्डों में न तो है और उपयोगकर्ताओं को की पिन (34) और 3.3v (पिन 12) के बीच एक बटन मिलाप करना पड़ता है। संलग्न मैनुअल देखें।

एलईडी के धीरे-धीरे चमकने से हम संचार की जांच कर सकते हैं। एटी दर्ज करें और भेजें पर क्लिक करें। प्रतिक्रिया ठीक होनी चाहिए। मैंने पाया कि यह उत्तर तब तक लगातार दोहराया जाता था जब तक कि मैंने एक खाली लाइन नहीं भेज दी - बस भेजें पर क्लिक करें। अगर आपको ERROR:(0) मिलता है तो एक ब्लैंक लाइन भेजें और फिर AT भेजें।

अब एक नया नाम सेट करें। AT+NAME=ARDUINO दर्ज करें उत्तर ठीक होना चाहिए। हालाँकि मेरे मामले में मॉड्यूल एटी मोड से बाहर हो गया (एलईडी जल्दी से चमक रहा है)। मुझे इसका कारण नहीं मिला और यह तब भी हुआ जब Arduino के बजाय FDTI सीरियल कनेक्शन का उपयोग किया गया। मैं पहले की तरह एटी मोड में वापस आ गया: बिजली के तार को बोर्ड से डिस्कनेक्ट करना और बटन दबाए जाने पर फिर से कनेक्ट करना। बाद में जांच में पता चला कि नाम बदल दिया गया है।

अगला बॉड सेट करें। AT+UART=115200, 1, 0 दर्ज करें उत्तर ठीक होना चाहिए। हालाँकि यह कभी-कभी ऊपर के रूप में एटी मोड से बाहर कूद जाता था।

UART सेटिंग को कमांड के साथ चेक किया जा सकता है: AT+UART? उत्तर ठीक होना चाहिए और +UART=115200, 1, 0

प्रारंभिक परीक्षण

इस स्तर पर हमारे पास ब्लूटूथ मॉड्यूल के सीरियल कनेक्शन वाला पीसी है। तो स्मार्टफोन ब्लूटर्म 2 ऐप शुरू करके एक प्रारंभिक, वैकल्पिक परीक्षण किया जा सकता है (यह मानते हुए कि मॉड्यूल को पहले ही फोन के साथ जोड़ा जा चुका है)। ARDUINO से कनेक्ट करें। Arduino सीरियल मॉनिटर को 115200 बॉड पर सेट करें। 'हैलो वर्ल्ड' टाइप करें और सेंड पर क्लिक करें। यह अब ब्लूटर्म 2 पर दिखना चाहिए। अब ब्लूटर्म 2 में 'हैलो टू यू' टाइप करें। यह अब सीरियल मॉनिटर में दिखना चाहिए।

छवि
छवि
छवि
छवि

चरण 4: ब्लूटूथ मॉड्यूल को Arduino से कनेक्ट करें

हमें पहले अपना Arduino टेस्ट स्केच लोड करना होगा। संलग्न BTtest.ino प्रत्येक 0.5s पर एक संख्या भेजता है और फिर इसे बढ़ाता है, 255 से 0 पर लुढ़कता है। अपने स्केच फ़ोल्डर में BTtest नामक एक फ़ोल्डर बनाएं और BTtest.ino जोड़ें

स्केच डाउनलोड करने के लिए Arduino सीरियल कनेक्शन का भी उपयोग किया जाता है। इसलिए ब्लूटूथ मॉड्यूल के दो तारों को काट दिया जाना चाहिए ताकि यह हस्तक्षेप न करे।

स्केच डाउनलोड करने के बाद ब्लूटूथ मॉड्यूल को फिर से कनेक्ट करें। हालाँकि ध्यान दें कि Arduino पर Tx और Rx को पहले के कॉन्फ़िगरेशन सेटअप की तुलना में स्वैप करने की आवश्यकता है।

तो कनेक्ट करें:

  • D1. के लिए 3k3 रोकनेवाला
  • जमीन के लिए 6k8 रोकनेवाला
  • दो प्रतिरोधों के दूसरे सिरों को एक साथ, और ब्लूटूथ मॉड्यूल पर Rx पिन से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल Tx पिन को D0. से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल ग्राउंड पिन को GND से कनेक्ट करें ब्लूटूथ मॉड्यूल ग्राउंड पिन को GND से कनेक्ट करें
  • ब्लूटूथ मॉड्यूल Vcc पिन को 5v. से कनेक्ट करें

विस्तार के लिए चित्र देखें।

छवि
छवि

अब Arduino को पावर दें। इसे पीसी से कनेक्ट करने की आवश्यकता नहीं है।

यदि पहले से कनेक्ट नहीं है तो बोर्ड को स्मार्टफोन से जोड़ दें (ऊपर ब्लूटूथ ऐप इंस्टॉल करें देखें)। फिर ब्लूटर्म 2 शुरू करें, सेटिंग्स पर क्लिक करें, फिर कनेक्ट डिवाइस पर क्लिक करें और ARDUINO चुनें। आपको स्क्रीन को 0 से 255 तक बढ़ते हुए नंबरों से भरते हुए देखना चाहिए।

छवि
छवि

मुझे आशा है कि आपको यह उतना ही उपयोगी लगेगा जितना मेरे पास है।

माइक

ब्लूटूथ चुनौती
ब्लूटूथ चुनौती
ब्लूटूथ चुनौती
ब्लूटूथ चुनौती

ब्लूटूथ चैलेंज में उपविजेता

सिफारिश की: