সুচিপত্র:

ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন: 4 টি ধাপ
ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন: 4 টি ধাপ

ভিডিও: ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন: 4 টি ধাপ

ভিডিও: ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন: 4 টি ধাপ
ভিডিও: তুলনা Redmi উল্লেখ্য, এবং Meizu 8 দ্রষ্টব্য 9 2024, নভেম্বর
Anonim
ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন
ভুল কনফিগার করা HC-06 ব্লুটুথ মডিউল পুনরুদ্ধার করুন

বিশুদ্ধ সর্বাধিকতার বাইরে, আমি আমার HC-06 ব্লুটুথ (স্লেভ) মডিউলটি AT+BAUDC কমান্ডের সাহায্যে 1, 382, 400 বাউড বড রেটে কনফিগার করেছি। যেহেতু Arduino এর সাথে সংযুক্ত ছিল সফটওয়্যার সিরিয়াল লাইব্রেরির সাথে মডিউলটি ব্যবহার করতে সক্ষম ছিল না। আমি কোন ভাগ্য ছাড়া Arduino এর হার্ডওয়্যার সিরিয়াল (পিন 0 এবং 1) দিয়ে বড হার পুনরুদ্ধার করার চেষ্টা করেছি।

আমি একটি সমাধানযোগ্য সমাধান না খুঁজে গুগল বিষয় চেষ্টা করেছি। হয়তো একটি কম্পিউটারের অন্তর্নির্মিত সিরিয়াল পোর্ট ব্যবহার করে একটি সমাধান হতে পারে (12V থেকে 3V3 লজিক লেভেল শিফটিং সহ), কিন্তু আমার কম্পিউটারে এই অপ্রচলিত পোর্ট নেই, তাই আমাকে অন্য একটি সমাধান নিয়ে আসতে হয়েছিল।

ধাপ 1: আপনার যা লাগবে

আপনার যা দরকার
আপনার যা দরকার
  • Arudino/Genuino বোর্ড ডিফল্ট Atmel ATMEGA328P-PU MCU (@16MHz) সহ।
  • একটি HC-06 ব্লুটুথ মডিউল 1, 382, 400 বাউডে শুনছে
  • Https://www.arduino.cc থেকে মৌলিক arduino IDE

পদক্ষেপ 2: সমাধান

সমাধান
সমাধান
সমাধান
সমাধান

দয়া করে মনে রাখবেন যে এই নির্দেশযোগ্য এবং সমাধানটি 1, 382, 400 বড (AT+BAUDC) দৃশ্যের জন্য তৈরি করা হয়েছে। সমাধান অন্য কোন বড রেটের জন্য কাজ করবে না। অন্যান্য মামলাগুলি পরিচালনা করতে দয়া করে ধাপ 3 থেকে শুরু করে ধাপগুলি পড়ুন।

সমাধান সত্যিই সহজ।

  1. HC-06 এর VCC পিনকে Arduino এর 5V পিনের সাথে সংযুক্ত করুন।
  2. HC-06 এর GND পিনকে Arduino এর GND পিনের সাথে সংযুক্ত করুন।
  3. HC-06 এর RXD পিনটি Arduino এর 2 পিনে সংযুক্ত করুন।
  4. HC-06 এর TXD পিনকে সংযুক্ত না রেখে (অথবা পিন 8 এর সাথে সংযুক্ত করুন) ছেড়ে দিন।
  5. Hc06reset.ino স্কেচ আপলোড করুন।
  6. প্রোগ্রামটি HC-06 কে 115, 200 বড মোডে সেট করবে (AT+BAUD8)।
  7. আগের মতো আপনার উদ্ধারকৃত HC-06 মডিউল ব্যবহার করুন।

ধাপ 3: দৃশ্যের পিছনে …

দৃশ্যের অন্তরালে…
দৃশ্যের অন্তরালে…
দৃশ্যের অন্তরালে…
দৃশ্যের অন্তরালে…

সফটওয়্যার সিরিয়াল লাইব্রেরি যা Arduino IDE এর সাথে আসে তা সর্বাধিক 115, 200 বিট/সেকেন্ডে প্রেরণ করতে সক্ষম, তাই এটি কাঙ্ক্ষিত 1, 382, 400 বড রেটে যোগাযোগ করার জন্য যথেষ্ট দ্রুত নয়। প্রদত্ত যে একটি ডিফল্ট Arduino বোর্ড 16MHz চালায়, তাত্ত্বিক অসম্পূর্ণ সর্বাধিক বিটরেট 16, 000, 000 বিট/সেকেন্ড। আমরা এখন পর্যন্ত ভালো!

SoftwareSerial.cpp সম্পর্কে আমার বোঝার উপর ভিত্তি করে, পরিবর্তনের মধ্যে বিলম্বের (যা বড রেট থেকে আসে) একটি আউটপুট পিন উচ্চ (= 1) বা নিম্ন (= 0) সেট করে সিয়াল যোগাযোগ করা হয়।

  • আউটপুট পিন ডিফল্টভাবে উচ্চ (মানে কোন ডেটা নেই), তারপর
  • একটি স্টার্ট বিট প্রেরণ করা হয় (যা পিনকে কম টানে), তারপর
  • 8 বিট ডেটা এলএসবি থেকে এমএসবিতে প্রেরণ করা হয়েছে, (+5V যখন বিট 1 এবং 0 অন্যথায়) তারপর
  • একটি স্টপ বিট প্রেরণ করা হয় (যা পিনটি উচ্চ টানে)

এইভাবে 1 বিট 10 বিট ব্যবহার করে প্রেরণ করা হয়।

আমাদের যে বার্তাটি পাঠাতে হবে তা হল AT+BAUD8 (শেষে / n, / r ছাড়া)। এই কমান্ডটি HC-06 কে 115, 200 বড রেটে সেট করে যা নিয়মিত লাইব্রেরি দ্বারা পরিচালিত হতে পারে।

1, 382, 400 বিট/সেকেন্ড গতি সহ বিট পাঠানোর জন্য, প্রতিটি বিটের জন্য আমাদের প্রতিটি বিটের জন্য 1/1, 382, 400 সেকেন্ড সময় (এটি মোটামুটি 723.38 এনএস)। Arduino 16, 000, 000 Mhz চালায়, তাই প্রতিটি চক্র 1/16, 000, 000 সেকেন্ড স্থায়ী হয় - অর্থাৎ প্রতি চক্র 62.5 ns।

AVR সমাবেশ কোড ব্যবহার করে আমরা আউটপুট পিন উচ্চ বা নিম্ন এবং NOP ঠিক একটি CPU চক্র অপেক্ষা করার জন্য OUT কমান্ড ব্যবহার করতে পারি। উভয় কমান্ড ঠিক 1 সিপিইউ চক্র খায়। এইভাবে 723.38 ns বিট সময় প্রতি ট্রান্সমিট বিটে 11 থেকে 12 arduino নির্দেশনা দ্বারা আচ্ছাদিত হতে পারে। একটি বিষয় বিবেচনা করতে হবে: 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

প্রস্তাবিত: