راه اندازی ماژول بلوتوث HC-05

راه اندازی ماژول بلوتوث HC-05

ماژول بلوتوث HC-05 یک ماژول استاندارد Bluetooth با خروجی سریال می باشد. این ماژول برای ارتباط بین میکروکنترلر و موبایل و تبلت و نیز دو میکرو با یکدیگر با سرعت بالا انتخاب خوبی به شمار می رود. همچنین میتوان با استفاده از این ماژول بین پروژه های ساخته شده با میکرو و lap top های دارای پورت USB و PC های دارای دانگل بلوتوث نیز یک لینک ارتباطی بیسیم از نوع ارتباط سریال برقرار کرد. از جمله کاربردهای این ماژول می توان موارد زیر را برشمرد:

* ساخت روبات کنترل از راه دور با موبایل
* نمایش اطلاعات مربوط به یک پروژه دماسنج در یک بازه زمانی خاص بر روی تبلت یا موبایل و رسم نمودار
* ساخت پروگرمر بیسیم برای پروگرم کردن میکروکنترلر با استفاده از تبلت
* ریموت کنترل درب منزل با استفاده از موبایل
* اتوماسیون خانه و محیط کار با موبایل و تبلت
* و…

ماژول بلوتوث HC-05 قبل از راه اندازی بایستی پیکره بندی شود و این کار بوسیله اتصال این ماژول به یک ترمینال استاندارد سریال صورت می گیرد. برای این منظور بایستی ابتدا مداری مطابق شکل زیر تشکیل داده و ماژول را بوسیله یک رابط استاندارد RS232-TTL به پورت سریال یک کامپیوتر متصل نمایید و یا از ماژول USB به سریال با خروجی TTL برای اتصال این ماژول به کامپیوتر بهره بگیرید. توجه داشته باشید که ولتاژ کاری ماژول بلوتوث 3.3 ولت می باشد و برای همین منظور از شبکه تقسیم مقاومتی بر روی پایه TX ماژول سریال به سمت RX ماژول بلوتوث استفاده کرده ایم تا ولتاژ 5 ولت به میزان 3.3 ولت کاسته شود. این شبکه بر روی پایه دیگر مورد نیاز نمی باشد چرا که پایه RX ماژول سریال فقط دریافت کننده می باشد و ولتاژ سیگنال 3.3 ولت می تواند به طور مستقیم وارد ماژول سریال گردد و یقیناً باعث تحریک ماژول سریال خواهد شد.

در شماتیک بالا بخش زرد رنگ ماژول مبدل RS232-TTL می باشد که براحتی با استفاده از آی سی MAX232 و چند خازن و یک پورت مادگی DB9 قابل ساخت است. شماتیک زیر نحوه ساخت این ماژول را نشان می دهد.

قبل از هر چیز شماتیک بالا را به طور دقیق ببندید و هر دو کلید تغذیه ماژول و حالت ماژول را در حالت قطع قرار دهید. سپس مانند شکل زیر از منوی Start بر روی Run کلیک کرده و در پنجره Run عبارت hypertrm را بنویسید و OK کنید.

اگر اولین بار است که محیط هایپر ترمینال ویندوز را باز می کنید ممکن است سوالاتی در خصوص تنظیم به حالت پیشفرض و انتخاب کشور و مودم پیشفرض و کد کشور (0098) پرسیده شود. پس از پاسخگویی به تمام سوالات پنجره ای مطابق شکل زیر نمایش داده می شود. یک نام دلخواه وارد کنید و بر روی کلید OK کلیک نمایید.

در قسمت بعد پنجره ای نمایش داده می شود و نام پورتی که ماژول RS232-TTL را به آن متصل کرده اید پرسیده می شود. اگر کامپیوتر شما دارای یک یا دو پورت سریال باشد و از ماژول RS232-TTL یا آی سی MAX232 معمولی استفاده کرده اید بایستی COM1 یا COM2 را انتخاب کنید و برای مطمئن شدن بهتر است قبلاً با یک پروژه سریال میکروکنترلری صحت ارتباط را چک کنید. اما اگر از ماژول USB به سریال استفاده می کنید بایستی نام پورت مجازی را بدانید که این کار با بررسی نام پورت مجازی شناخته شده در Device Manager کامپیوتر قابل انجام است. همچنین در صورت استفاده از ماژول USB به سریال بایستی توجه داشته باشید که برخی از ماژول ها خروجی TTL داشته و برخی دیگر خروجی RS232 دارند که سطح ولتاژ ومنطق آن متفاوت با TTL بوده و نیاز به آی سی MAX232 احساس می شود. (استفاده از نام های TTL و RS232 به این شکل صحیح نیست و RS232 در واقع نام رابط سریال است که به دلیل عمومی بودن و قابل فهم بودن مقاله به این شکل ذکر شده است).

پس از تنظیم نام پورت وارد پنجره تنظیمات ارتباط سریال از قبیل سرعت پورت (باود ریت) و غیره می شوید. این تنظیمات را دقیقاً مطابق شکل زیر انجام دهید و برای باز کردن پورت روی OK کلیک نمایید.

هم اینک پورت سریال باز شده است و تایمر پایین پنجره این واقعیت را نشان می دهد. مرحله آخر تنظیم ارسال CRLF و Echo ی کارکترهای تایپ شده است. مطابق شماره های شکل زیر مراحل را طی کنید و در مرحله شماره 5 تیک هر دو گزینه را بزنید.

حال بایستی مطابق دستور العمل زیر پیش بروید و ماژول بلوتوث را Setup کنید (این تنظیمات فقط یک بار لازم بوده و در حافظه ماژول باقی می ماند).

1- کلید تغذیه ماژول قطع باشد.
2- کلید حالت ماژول (متصل شده به پایه 34 ماژول) را وصل کنید (اتصال پین 34 ماژول به vcc).
3- کلید تغذیه ماژول را وصل کنید.
4- در این حالت ماژول وارد مد AT Command می شود و بایستی LED وضعیت با فرکانس یک چشمک در ثانیه روشن و خاموش شود و LED اتصال خاموش باشد.
5- در این حالت در محیط هایپر ترمینال دستور AT را وارد کرده و Enter کنید. اگز همه چیز بخوبی پیش رفته باشد بایستی OK را از سمت ماژول دریافت کنید. حتی اگر ERROR هم دریافت کنید باز هم نمایانگر ارتباط صحیح با ماژول است و شما در حال صحبت کردن با ماژول هستید! پس چند بار تلاش کنید تا بالاخره جواب OK را از ماژول بگیرید. (ERROR های پی در پی معمولا به خاطر سیم بندی شلوغ و خطاهای احتمالی ممکن است دریافت شود که در بار دوم یا سوم جای خود را به OK می دهد).
6- دستور AT فقط برای تست ارتباط است و کاری انجام نمی دهد. دستورات بعدی را به ترتیب روی ماژول اجرا کنید و از هر کدام OK بگیرید. (توجه OK ها از طرف ماژول ارسال شده اند آنها را تایپ نکنید. بزرگ بودن و کوچک بودن حروف دستورات اهمیتی ندارد).

 

AT
OK
at+reset
OK
AT+ORGL
OK
at+name
+NAME:H-C-2010-06-01
OK
at+role
+ROLE:0
OK
at+class
+CLASS:0
OK
at+class=1
OK
OK
OK
OK
OK
OK
OK
OK

at+class
+CLASS:1
OK

at+name=BT-Module
OK
at+name
+NAME:BT-Module

 

7- و اما در توضیح دستورات بالا باید گفت که دستور اول یعنی AT فقط صحت ارتباط را چک می کند. دستور at+reset ماژول را ریست کرده و آماده تغییرات می شود. دستور at+orgl ماژول را به تنظیمات کارخانه بازمی گرداند (اگر قبلاً ماژول را تنظیم کرده باشید با این دستور تنظیمات قبلی پاک می شود و رمز عبور یا همان پین کد ماژول به 1234 تغییر پیدا می کند). دستور at+name نام جاری ماژول را نمایش می دهد. دستور at+role نقش جاری ماژول را که بایستی 0 باشد نمایش میدهد اگر عددی غیر از 0 بود باید با دستور at+role=0 آن را به حالت 0 که همان slave است تنظیم کنید. دستور at+class مهمترین دستور این بخش می باشد که معمولا پاسخ 0 را باز می گرداند. بایستی با دستور at+class=1 کلاس ماژول را به 1 تغییر دهید. مجدداً با دستور at+class می توانید از 1 شدن آن اطمینان حاصل کنید. با دستور at+name=BT-Module می توانید نام ماژول را به هر چه پس از علامت = نوشته شود تغییر دهید. این نام همان نامی است که موقع search کردن با موبایل می توانید آن را ببینید.
8- تنظیمات تمام شده است. ماژول را خاموش کنید (قطع کلید تغذیه ماژول).
9- قطع کلید حالت ماژول (قطع پایه 34 از vcc).
10- روشن کردن ماژول.
11- در این حالت باید مشاهده کنیم که LED اتصال خاموش و LED وضعیت با سرعت بالا (2 الی 3 بار درثانیه) چشمک می زند. این نمایانگر مد دیتا بوده و در این حالت دیگر نمیتوان برای ماژول AT Command فرستاد. بلکه ماژول در حالت آماده برای جفت شدن می باشد.
12- برنامه رایگان BlueTerm.apk برای اندروید را از انتهای صفحه دانلود کرده و بر روی موبایل یا تبلت اندرویدی خود نصب کنید.
13- پس از اجرای برنامه درخواستی مبنی بر روشن کردن بلوتوث گوشی نمایش داده می شود، به در خواست جواب مثبت داده و در صورت تکرار درخواست بازهم پاسخ مثبت دهید. سپس پنجره تبلیغات را ببندید و از منوی نرم افزار Connect device را لمس کرده و نام ماژول بلوتوث را از لیست دستگاه ها پیدا و انتخاب نمایید. توجه داشته باشید که در لیست دستگاه های این نرم افزار فقط دستگاه های Pair شده قرار می گیرند. به همین منظور بایستی قبل از اجرای این برنامه به بخش بلوتوث گوشی یا تبلت خود رفته به صورت دستی ماژول را جستجو نمایید و آنرا با گوشی خود جفت کنید. پین کد پیشفرض ماژول نیز 1234 می باشد. پس از برقرار اتصال، پیغامی بر روی دستگاه اندرویدی نمایش داده می شود و LED اتصال بر روی ماژول روشن شده و LED وضعیت هر دوثانیه، جفت فلاش می زند. در این حالت هر متنی که در هایپر ترمینال ویندوز بنویسید در گوشی مشاهده می شود و هر چیزی که در ترمینال گوشی تایپ کنید نیز در هایپر ترمینال ویندوز تایپ می شود.

بدین ترتیب یک اتصال سریال بیسیم بین ماژول و موبایل یا تبلت برقرار می شود. از این به بعد کلید حالت ماژول همیشه بایستی قطع باشد و موقع روشن کردن ماژول LED وضعیت با سرعت چشمک می زند. تنظیمات نیز در حافظه ماژول باقی خواهد ماند. می توانید ماژول را از کامپیوتر جدا کرده و به پورت سریال یک میکروکنترلر که بر روی سرعت 38400-8-N-1 تنظیم شده است متصل کنید و به تبادل اطلاعات بین میکرو و موبایل یا تبلت بپردازید. برنامه های اندرویدی اوپن سورس زیادی برای ارتباط با بلوتوث وجود دارد. می توانید یکی از آنها را از اینترنت دریافت کرده و با توجه به نیاز خود محیط گرافیکی برنامه را طراحی کنید. مثلا می توانید ترتیبی دهید که میکروکنترلر از طریق بلوتوث گوشی به اینترنت و یک وب سرور متصل شود و دمای محیط را بر روی شبکه اینترنت ارسال نماید و نیز بتوان دستگاهی را با استفاده از اینترنت روشن و خاموش نمود. (البته ماژول gprs، اترنت و wifi برای این منظور به صرفه تر است). می توانید به همین صورت دو ماژول را به صورت slave و master تنظیم کنید و بجای ماژول HMTR پروژه های میکروکنترلری خود را به یکدیگر متصل نمایید. برد ماژول بلوتوث بسیار کم بوده و در آزمایشی که ما انجام دادیم در محیط داخل ساختمان در حدود 5 الی 6 متر ارتباط به خوبی برقرار بود و به محض بیشتر شدن فاصله، لینک ارتباطی قطع می شد. البته در آزمایش دیگری که به صورت دید به دید انجام گرفت (از وسط راه پله آپارتمان سه طبقه از زیر زمین تا پشت بام) تا 15 متر به خوبی جواب داد و با کوچکترین مانعی ارتباط قطع می شد. برد لینک ارتباطی به نوع گوشی موبایل یا تبلت نیز بستگی داشته و در کل استاندارد بلوتوث چیزی در حدود 10 متر است. ارتباط بلوتوث برای شبکه های بیسیم رومیزی و کارهایی مثل آپدیت کردن برنامه یک میکرو (با استفاده از بوت لودر) فوق العاده عالی بوده و می توان به وسیله آن پروژه های پیشرفته ای را با میکرو کنترلر ها پیاده سازی نمود که کاملا بدون LCD و کی پد بوده و کنترل آنها از طریق تبلت یا موبایل صورت پذیرد.

در آپدیت جدید این پروژه بجای کامپیوتر از یک میکروکنترلر ATmeg8A و یک LCD رنگی NOKIA6610 استفاده کرده ایم. در این پروژه یک LED قرمز به یکی از پایه های میکرو متصل شده است و با ارسال کاراکتر a این LED خاموش شده و با ارسال کاراکتر b روشن می شود. همچنین کاراکترهای دریافت شده توسط ماژول در LCD نمایش داده می شود. می توانید LCD را کلا حذف کنید و بجای LED نیز از یک رله با ترانزیستور BC547 و دیود محافظ 1N4148 و مقاومت محدود کننده بیس در حدود 1K اهم استفاده کنید و یک ریموت کنترل بلوتوثی بسازید. ضمناً دلیل استفاده از LCD موبایل ولتاژ تغذیه 3.3 ولت آن است. چرا که تغذیه کل مدار 3.3 ولت بوده و میکروکنترلر نیز از نوع A انتخاب شده است که با 3.3 ولت بخوبی کار می کند. فقط برای بک لایت LCD از آی سی ICL7660 استفاده شده که تولید کننده ولتاژ منفی بوده و با ایجاد ولتاژ 3.3- و اختلاف آن با 3.3+ ولتاژی در حدود 6.6 بدست می آید که برای روشن کردن بک لایت نمایشگر کافی به نظر می رسد. در صورت حذف نمایشگر، این آی سی نیز حذف می شود. تصویری از این پروژه را در شکل زیر مشاهده می کنید. می توانید سورس (BASCOM) و شماتیک این پروژه را نیز از انتهای صفحه دریافت کنید.
 
 دانلود دیتاشیت ماژول
 دانلود نرم افزار رایگان BlueTerm برای اندروید
 دانلود سورس BASCOM بسکام/بیسکام و شماتیک ارتباط ماژول بلوتوث HC-05 با میکروکنترلر AVR

بازدیدها: 1749