مطالب آموزشی

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

ماژول بلوتوث HC-05 یکی از پرکاربردترین ماژول های بلوتوث است.  نحوه راه اندازی ماژول به این صورت است که از طریق پروتکل سریال به میکروکنترلر متصل می گردد و می توان با ارسال دستورات به ماژول  اطلاعات را به میکرو انتقال دهید و وسیله یا تجیهزات مورد نظر را کنترل کنید. اگر در کارکردن با پورت سریال ماهر باشید استفاده از این ماژول بسیار ساده می باشد. برای استفاده از ماژول و تغییر تنظیمات ماژول مثل رمز یا نام بلوتوث نیاز به یک مبدل USB به سریال دارید.

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

hc05_pinout

در تصویر اسم تمامی پایه ها و کاربردشون آورده شده است . ولی ما برای استفاده از ماژول به تمامی پایه نیاز نداریم . در تصویر پایین پایه هایی که برای ره اندازی ماژول بلوتوث HC-05 لازم هست نام گذاری شده

hc05-key

  •  پایه ی ۱و۲ برای ارتباط سریال با ماژول هست که برای اتصال ماژول به کامپیوتر (برای تغییر تنظیمات) و یا اتصال به میکروکنترلر (برای ارسال و دریافت دستورات) لازم است.
  • پایه ی ۱۱ پایه ی ریست ماژول می باشد که اگر در وضعیت low قرار بگیرد (زمین شود) ماژول ریست می شود.
  • پایه های ۱۲ و ۱۳ پایه های تغذیه ماژول می باشد که باید با ولتاژ ۳٫۳ تغذیه شود.
  • پایه ی ۳۴ برای تعیین baud rate ارتیاظ سریال به کار می رود. در قسمت های بعدی به طور کامل شرح داده می شود.
  • پایه ی ۳۲ اگر  یک وسیله مثل گوشی تلفن همراه به وسیله ی بلوتوث به ماژول وصل شود این پایه یک شده و اگر به led  وصل شود led روشن می شود.
  • پایه ۳۱ برای نشان دادن baud rate ارتباط سریال به کار می رود اگر روی ۹۶۰۰ تنظیم شود led وصل شده با فرکانس ۲ هرتز چشمک می زند و اگر ۳۸۴۰۰ انتخاب شده باشد با فرکانس ۱ هرتز شروع به چشمک زدن می کند.

راه اندازی اولیه و وصل شدن به بلوتوث توسط لب تاپ

برای راه اندازی اولیه و تست ماژول کافی است که تغذیه ماژول برقرار شود در این صورت اگر با بلوتوث لب تاپ یا گوشی ماژول را جست وجو کنید ماژول با نام HC-05 نمایش داده می شود و رمز آن به صورت پیش فرض ۱۲۳۴ می باشد.

اگر به وسیله ی بلوتوث لب تاپ به ماژول وصل شده یاشید در قسمت device manager ویندوز می توانید شاهد اضافه شدن پورت سریال مربوط به بلوتوث را شاهد باشید.

معرفی نرم افزار ترمینال سریال

نرافزار اول realterm ست. نرم افزار اپن سورس هست و می تونین اون را از سایت sourceforge دانلود کنید .

realterm1

hyperterminal

نرم افزار دوم hyperterminal است. این نرم افزار در ویندوز XP بود ولی از ویندوز ۷ به بعد حذف شد. نرم افزار ساده و خیلی کاربردی هستش برای اجرای این برنامه روی ویندوز ۷ و به بعد کافی فایل اجرایی اون رو از ویندوز XP کپی و روی دیگر ویندوز ها اجرا کرد همچنین می توانید این نرم افزار را از سایت های اینترنتی دانلود کنید.

 معرفی کامند ها و تنظیمات ماژول بلوتوث HC-05

 منظور از AT commands چیست؟

AT commands یک سری دستورات هستند که از طریق ارتباط سریال به ماژول ارسال می کنیم و ماژول با دریافت آن ها، طبق نیاز کاربر تنظیم می شود. در ادامه مطلب تعدادی از AT commands را می بینید.

ماژول را از طریق پورت سریال به کامپیوتر وصل کنیم. در محیط نرم افزار Hyper Terminal دستورات AT commands را نوشته و با فشردن کلید Enter جواب ماژول به این دستورات را در محیط نرم افزار Hyper Terminal
مشاهده کنیم.  تعدادی از AT commands را در ادمه می بینید که در ادمه در ویدیوی زیر به طور کامل توضیح داده می شود.

hpter

echo typed character locally
این گزینه باعث می شود تا متنی که تایپ می کنید در محیط نرم افزار بینید اگه فعال نباشه متن تایپ شده نمایش داده نمیشود.
send line ends whit line feeds
append line feeds to incoming line ends
اتنخاب این گزینه ها هم باعث میشود تا در آخر هر متن ارسالی یا دریافتی عبارت /r/n/ اضافه بشود که معادل زده شدن کلید enter است و موجب میشه متن دریافتی در سطر جدید نمایش داده شود.

تعدادی از ATCommand های پر کاربرد ماژول بلوتوث

hgj

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

نرم افزارهایی که برای گوشی های هوشمند برای کنترل ماژول بلوتوث استفاده می شود با نام ترمینال سریال شناخته می شوند. و من چند مورد از این نرم افزارها رو برای سیستم عامل های ویندوفون و اندروید معرفی می کنم.

برنامه ترمینال بلوتوث برای ویندوزفون

این برنامه Bluetooth Agent هستش که یک برنامه ی کامل و به بدرد بخور برای ویندوزفون هست که قابلیت تنظیم کلید های مختلف برای کاربردهای مختلف رو به کاربر می ده ، در ادمه عکس از محیط برنامه و لینک دانلود اون قرار داده می شه

ترمینال بلوتوث ویندوزفون

 

و لینک دانلود از ویندوزفون استور

windows-logo1

برنامه ترمینال بلوتوث برای انروید

 SENA BTerm Bluetooth Terminal
عکس از محیط برنامه

sena

دانلود از گوگل پلی

google-play-logo1

Bluetooth Terminal
عکس از محیط برنامهترمینال بلوتوث
دانلود از گوگل پلی

google-play-logo1

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

#include <string.h>
#include <mega32.h>
#include <stdio.h>
void main(void){
    char buffer[];
    char led_1_on[] = "led1on";
    char led_1_off[]= "led1off";
    char led_2_on[] = "led2on";
    char led_2_off[]= "led2off";
    DDRA=0XFF;
    UCSRA=0x00;
    UCSRB=0x18;
    UCSRC=0x06;
    UBRRH=0x00;
    UBRRL=0x47;
while (1)
      {
       scanf("%s",buffer);
       printf("reseive=%s",buffer);
       if(strcmp(led_1_on,buffer)==0) PORTA.0=1;
       if(strcmp(led_1_off,buffer)==0)PORTA.0=0; 
       if(strcmp(led_2_on,buffer)==0) PORTA.1=1;
       if(strcmp(led_2_off,buffer)==0)PORTA.1=0;
      }
}
  • در سطر اول کتابخانه ی string.h رو داریم که برای دستور strcmp است که در داخل در داخل دستور if برای مقایسه رشته ها بایکدیگر به کار برده شده است.
  • سطر دوم  کتابخانه لازم برای ATmega32
  • سطر سوم کتابخانه ی stdio.h تعریف شده برای استفاده از دستورات printf و scanf
  • سطر ۵ تا ۹ متغییر های لازم تعریف و مقدار دهی اولیه کردیم.
  • در سطر ۱۰ پورت A رو خروجی کریدم تا led ها رو به این پورت وصل کنیم.
  • از ۱۱ تا ۱۵ تنظیمات پورت سریال هست که با مقادیر مقابل تنظیم شده اند: Baud Rate روی ۹۶۰۰ تنظیم شده بیت توازن نداریم و بیت پایان یک بیت تعریف شده.
  • در سطر ۱۶ حلقه بی نهایت while هست. ۱ داخل پارانتز به این معنی است که شرط while همیشه درست هست.
  • در سطر ۱۷ دستور scanf کاراکتر های ارسالی از پورت سریال رو دریافت و در رشته ی buffer که در بالا تعریف کردیم ذخیره می کند.
  • در سطر ۱۸ دستور printf کاراکتر هایی که ارسال کردید و در رشته ی buffer ذخیره شده رو به پورت سریال میفرسته تا مطمئن شید که چی فرستادید!
  • در سطر ۱۹ در داخل شرط if دو رشته با هم توسط دستور strcmp مقایسه می شوند اگر دو رشته با هم برابر باشند تابع strcmp مقدار صفر رو بر می گردونه و شرط if درست است و دستور if اجرا می شود. و اگر دو رشته با هم برابر نباشند. مقداری غیر از صفر برگردانده می شود و دستور if اجرا نم شود.

مثال میزنم شاید روشن تر بشه مفهوم شما کاراکتر led2on رو به میکرو میفرستین و قبلا در ابتدای برنامه رشته led_2_on مقدارش رو برابر led2on تعریف کردیم پس وقتی کاراکترهایی که شما فرستاده اید و در متغییر buffer ذخیره شده است توسط strcmp با متغییر led_2_on مقایسه شود چون کاراکترها با هم مساوی هستند. مقدار ۰ توسط strcpm برگردانده می شود(یعنی strcmp()=0) و شرط if برقرار شده و دستور if اجرا می شود.

 

نوشته های مشابه

6 دیدگاه

  1. سلام توی اون بخشی از توضیحاتتون که گفتنید برای پیکربندی از طریق پورت سریال به بلوتوث وصل بشید بعنی چی؟؟باید از طریق سخت افزار خاصی وصل بشیم یا صرف برقراری تغذیه ماژول بلوتوث می شه از طریق نرم افزار هایی که معرفی کردید کارش انجام داد؟؟ممنون می شم پاسخ بدید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا