विषयसूची:
वीडियो: गलत तरीके से कॉन्फ़िगर किया गया HC-06 ब्लूटूथ मॉड्यूल पुनर्प्राप्त करें: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
शुद्ध अधिकतमवाद से, मैंने अपने HC-06 ब्लूटूथ (दास) मॉड्यूल को AT+BAUDC कमांड के साथ 1, 382, 400 बॉड की बॉड दर पर कॉन्फ़िगर किया। जब से इससे जुड़ा Arduino SoftwareSerial लाइब्रेरी के साथ मॉड्यूल का उपयोग करने में सक्षम नहीं था। मैंने बिना किसी भाग्य के Arduino के हार्डवेयर सीरियल (पिन 0 और 1) के साथ बॉड दर को पुनर्स्थापित करने का प्रयास किया।
मैंने एक प्रचलित समाधान खोजे बिना विषय को Google पर भी आजमाया। हो सकता है कि कंप्यूटर में निर्मित सीरियल पोर्ट का उपयोग करना एक समाधान हो सकता है (12V से 3V3 लॉजिक लेवल शिफ्टिंग के साथ), लेकिन मेरे कंप्यूटर में यह अप्रचलित पोर्ट नहीं है, इसलिए मुझे एक और समाधान के साथ आना पड़ा।
चरण 1: आपको क्या चाहिए
- डिफ़ॉल्ट Atmel ATMEGA328P-PU MCU (@16MHz) के साथ अरुडिनो / जेनुइनो बोर्ड।
- एक HC-06 ब्लूटूथ मॉड्यूल 1, 382, 400 बॉड पर सुन रहा है
- https://www.arduino.cc. से बेसिक arduino IDE
चरण 2: समाधान
कृपया ध्यान दें कि यह निर्देश योग्य और समाधान 1, 382, 400 बॉड (AT+BAUDC) परिदृश्य के लिए बनाया गया है। समाधान किसी अन्य बॉड दरों के लिए काम नहीं करेगा। अन्य मामलों को संभालने के लिए कृपया चरण 3 से शुरू होने वाले चरणों का संदर्भ लें।
समाधान वास्तव में सरल है।
- HC-06 के VCC पिन को Arduino के 5V पिन से कनेक्ट करें।
- HC-06 के GND पिन को Arduino के GND पिन से कनेक्ट करें।
- Arduino के 2 पिन करने के लिए HC-06 के RXD पिन को कनेक्ट करें।
- HC-06 के TXD पिन को असंबद्ध छोड़ दें (या पिन 8 से कनेक्ट करें)।
- hc06reset.ino स्केच अपलोड करें।
- प्रोग्राम HC-06 को 115, 200 बॉड मोड (AT+BAUD8) में सेट करेगा।
- पहले की तरह अपने रिकवर किए गए HC-06 मॉड्यूल का उपयोग करें।
चरण 3: पर्दे के पीछे…
SoftwareSerial लाइब्रेरी जो Arduino IDE के साथ आती है, अधिकतम 115, 200 बिट/सेकंड पर संचारित करने में सक्षम है, इसलिए यह वांछित 1, 382, 400 बॉड दर पर संचार करने के लिए पर्याप्त तेज़ नहीं है। यह देखते हुए कि एक डिफ़ॉल्ट Arduino बोर्ड 16MHz पर चलता है, सैद्धांतिक असम्पीडित अधिकतम बिटरेट 16,000, 000 बिट/सेकंड है। हम अब तक अच्छे हैं!
SoftwareSerial.cpp की मेरी समझ के आधार पर, परिवर्तनों के बीच देरी (जो बॉड दर से आता है) के संबंध में आउटपुट पिन उच्च (= 1) या निम्न (=0) सेट करके सील संचार किया जाता है।
- आउटपुट पिन डिफ़ॉल्ट रूप से उच्च होता है (मतलब कोई डेटा नहीं), तो
- एक स्टार्ट बिट प्रेषित होता है (जो पिन को कम खींचता है), फिर
- एलएसबी से एमएसबी को प्रेषित डेटा के 8 बिट, (+5वी जब बिट 1 और 0 अन्यथा) तब
- एक स्टॉप बिट प्रेषित होता है (जो पिन को ऊंचा खींचता है)
इस तरह 10 बिट का उपयोग करके 1 बाइट प्रसारित किया जाता है।
हमें जो संदेश भेजना है वह है AT+BAUD8 (बिना \n, \r अंत में)। यह आदेश HC-06 को वापस 115, 200 बॉड दर पर सेट करता है जिसे नियमित पुस्तकालयों द्वारा नियंत्रित किया जा सकता है।
1, ३८२, ४०० बिट्स/सेकंड की गति के साथ बिट्स भेजने के लिए, प्रत्येक बिट के लिए हमारे पास १/१, ३८२, ४०० सेकंड का समय है (जो लगभग ७२३.३८ एनएस है)। Arduino 16, 000, 000 मेगाहर्ट्ज पर चलता है, इसलिए प्रत्येक चक्र 1/16, 000, 000 सेकंड तक रहता है - यानी प्रति चक्र 62.5 एनएस।
AVR असेंबली कोड का उपयोग करके हम आउटपुट पिन को उच्च या निम्न सेट करने के लिए OUT कमांड का उपयोग कर सकते हैं और ठीक एक CPU चक्र की प्रतीक्षा करने के लिए NOP का उपयोग कर सकते हैं। दोनों कमांड ठीक 1 सीपीयू चक्र खाते हैं। इस तरह 723.38 एनएस बिट समय को 11 से 12 आर्डिनो निर्देश प्रति संचरित बिट द्वारा कवर किया जा सकता है। एक बात पर विचार करना चाहिए: OUT कमांड एक बार में एक संपूर्ण बाइट सेट करता है, इसलिए हमें एक PORTx का चयन करना होगा जहां यह कोई समस्या नहीं है। उदाहरण के लिए ATMEGA328P-PU का उपयोग करना PORTD (arduino pins 0-7) इस स्थिति के लिए एकदम सही है। बिट सेट करने के बाद, केवल उचित समय व्यतीत करना होता है जो 10 से 11 एनओपी द्वारा किया जाता है और बस।
आप नीचे दी गई एक्सेल फ़ाइल में गणना विवरण पा सकते हैं। इस फ़ाइल ने प्रोग्राम के लिए आवश्यक असेंबली निर्देश उत्पन्न किए। जनरेट किए गए कोड को चिपकाने के बाद केवल कुछ ही प्रतिस्थापन किए जाने थे।
चरण 4: आगे पढ़ना / सुधार की संभावनाएं
- हो सकता है कि पिछले चरण में वर्णित तकनीक का उपयोग करके एक तेज़ सॉफ़्टवेयर सीरियल लाइब्रेरी बनाई जा सके।
- FedericoK2 ने एक बेहतरीन टूल बनाया है जो हर संभव बिटरेट के लिए HC-06 रिकवरी कोड जेनरेट करता है। यहां साइट पर पहुंचें: https://tools.krum.com.ar/save_your_hc-06/ धन्यवाद FedericoK2
सिफारिश की:
अपना ब्लूटूथ इयरफ़ोन पुनर्प्राप्त करें: 6 चरण
अपना ब्लूटूथ इयरफ़ोन पुनर्प्राप्त करें: आपने शायद कुछ मिनटों के मुद्दों के कारण ब्लूटूथ और वायर्ड इयरफ़ोन को छोड़ दिया है। इन मुद्दों में टूटे हुए ईयरबड हाउसिंग, केबल में आंतरिक टूटना, क्षतिग्रस्त प्लग, आदि शामिल हो सकते हैं। आमतौर पर, ये क्षतिग्रस्त उपकरण जमा हो जाते हैं
जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक सूचना ईमेल प्राप्त करें: 16 कदम
जब ThingSpeak पर एक चैनल कुछ समय के लिए अपडेट नहीं किया गया था, तो एक अधिसूचना ईमेल प्राप्त करें: पृष्ठभूमि की कहानीमेरे पास छह स्वचालित ग्रीनहाउस हैं जो डबलिन, आयरलैंड में फैले हुए हैं। एक कस्टम मेड मोबाइल फोन ऐप का उपयोग करके, मैं प्रत्येक ग्रीनहाउस में स्वचालित सुविधाओं के साथ दूरस्थ रूप से निगरानी और बातचीत कर सकता हूं। मैं जीत को मैन्युअल रूप से खोल / बंद कर सकता हूं
रिंग सोलर साइन टियरडाउन: मैंने इसे गलत किया, इसलिए आपके पास यह नहीं है: 11 कदम
रिंग सोलर साइन टियरडाउन: मैंने इसे गलत किया है इसलिए आपको ऐसा करने की ज़रूरत नहीं है: मुझे एक रिंग डोरबेल मिली है, जो बहुत बढ़िया है। हाँ अंगूठी के लिए।तब मुझे एक रिंग स्टिक-अप कैमरा मिला जब सभी लगभग-धन्यवाद ऑनलाइन बिक्री चल रही थी। $50 की छूट, और उन्होंने मुझे यह निफ्टी रिंग सोलर साइन मुफ्त में भेजा (केवल $49 मूल्य!)। मुझे यकीन है कि टी
लगभग किसी भी (हाहा) वेबसाइट से संगीत कैसे प्राप्त करें (जब तक आप इसे सुन सकते हैं आप इसे प्राप्त कर सकते हैं ठीक है अगर यह फ्लैश में एम्बेड किया गया है तो आप शायद नहीं कर पाएंगे) संपादित !!!!! जोड़ी गई जानकारी: 4 कदम
लगभग किसी भी (हाहा) वेबसाइट से संगीत कैसे प्राप्त करें (जब तक आप इसे सुन सकते हैं आप इसे प्राप्त कर सकते हैं … ठीक है अगर यह फ्लैश में एम्बेड किया गया है तो आप शायद नहीं कर पाएंगे) संपादित !!!!! जोड़ी गई जानकारी: यदि आप कभी किसी वेबसाइट पर जाते हैं और यह एक गाना बजाता है जो आपको पसंद है और आप इसे चाहते हैं तो यहां आपके लिए निर्देश है कि अगर आप कुछ गड़बड़ करते हैं तो मेरी गलती नहीं है (ऐसा ही होगा यदि आप बिना किसी कारण के सामान हटाना शुरू कर देते हैं) ) ive संगीत प्राप्त करने में सक्षम है
विंडोज एक्सपी और लिनक्स को डुअल-बूट कैसे करें (अपडेट किया गया!): 6 कदम
विंडोज एक्सपी और लिनक्स को डुअल-बूट कैसे करें (अपडेट किया गया!): हमारे द्वारा उपयोग किए जाने वाले अधिकांश कंप्यूटरों में विंडोज होता है। अधिकांश में विंडोज एक्सपी है। लेकिन क्या होगा यदि आपको लिनक्स में कुछ चलाने की आवश्यकता है और इसे वास्तव में कंप्यूटर पर स्थापित करने की आवश्यकता है? ज्यादातर लोगों के लिए जो कुल गीक्स नहीं हैं, यह एक कठिन काम की तरह लगता है। पर कोई नहीं