آموزش آردوینو مدارهای الکترونیک پروژه های آردوینو

HC05 ماژول بلوتوث به وسیله آردوینو

آموزش ماژول بلوتوث HC-05 در آردوینو
نوشته شده توسط علیرضا قربانی

آموزش ساده راه اندازی ماژول بلوتوث HC05

در این مطلب از سری آموزش های پروژه محور آردوینو  قصد داریم به   آموزش ساده راه اندای ماژول بلوتوث HC05  بپردازیم. در این پروژه با استفاده از یک گوشی موبایل دارای پلت فرم اندروید به ماژول HC-05  متصل میشویم و ۱۴ عدد LED را کنترل میکنیم.

HC05 یک ماژول بلوتوث با امکانات فراوان می باشد و میتواند در  دو مد master و slave ، پورت سریال را  به صورت بی سیم در اختیار شما بگذارد از این رو می توانید از این ماژول  در طراحی خانه های هوشمند ، هدست های بی سیم و … استفاده کنید . با استفاده از ماژول HC05 میتوان دریتا را در فواصل معین ( ۱۰ الی ۳۳  متر) با استفاده از پروتکل بلوتوث دریافت و ارسال کرد. مزیتی که ماژول بلوتوث دارد می باشد این است که می تواند دیتا را  از آردوینو ، میکرو کنترلر ، تلفن  همراه و…… به  صورت سریال به ماژول انتقال داد و سپس خود ماژول دیتا را از طریق پروتکل بلوتوث ارسال خواهد کرد . همچنین می تواند دیتا را از طریق پرونکل بلوتوث دریافت کند و سپس آن ها را به سریال تبدیل کرده و به کاربر تحویل دهد.

ماژول های سری HC به دو صورت با پسوند اعداد زوج و فرد وارد بازار میشوند . ماژول ها با پسوند اعداد زوج فقط میتوانند در مد master یا slave باشند.مانند HC-04M که فقط در مد master می باشد. یا HC-04S که فقط میتواند در مد slave باشند.

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

یک  عدد ماژول آردوینو (ما در این پروژه از یک Arduino MEGA2560 استفاده کرده ایم)

ماژول بلوتوث HC-05

مشخصات ماژول HC05

  • ولتاز ۳٫۳ ولت
  •  فرکانس  ISM Band 2.4Hhz
  • حساسیت ۸۴dBm
  • بلوتوث کلاس ۲ ، برد ۱۰ الی ۳۳ متر
  • حداکثر سرعت ۲٫۱Mbps
  • مدولاسیون   GFSK
  • دارای مد master ,slave
  •  محدوده دمای کاری ۲۵- الی ۷۵ درجه سانتی گراد
  • پروتکل  ارتباطی USART

مدارات

پین های ماژول HC05 به  شکل زیر می باشند ، و ما نیز در این پروزه از پین های شماره ۱,۲,۱۲,۱۳,۳۱,۳۲ استفاده کرده ایم.

نحوه ی اتصالات به شکل زیر می باشند.

  • پین شماره ۱ ماژول به RX آردوینو متصل میشود
  • پین شماره ۲ ماژول به TX آردوینو متصل میشود
  • پین شماره ۱۲ تتغذیه ماژول میباشد و به ۳٫۳ متصل میشود(از اتصال این پین به ۵+ جدا خودداری نمایید)
  • پین شماره ۱۳ به زمین مدار نتصل میشود
  • پین شماره ۳۱ و ۳۲ نیز هر کدام به یک عدد LED متصل میشوند.
  • در این پروژه بین شماره ۳۴ را آزاد میگذاریم
آموزش ساده راه اندازی ماژول بلوتوث HC-05
آموزش ساده راه اندازی ماژول بلوتوث HC-05

LED متصل به پین شماره ۳۱ اگر با سرعت ۱Hz چشمک بزند به معنای ورود به مد  AT2 می fاشد و اگر با سرعت ۲ Hz چشمک بزند به معنای ورود به مد  AT1  می باشد.(در قسمت های بعدی به آموزش AT command می پردازیم) اگر LED ، دو بار در ثانیه به صورت آرام چشمک بزند بدین معنی است که ماژول آماده ارسال و دریافت داده از طریق پورت سریال می باشد .LED متصل به پین شماره ۳۲ نشان دهنده وضعیت pair (جفت شدن ) ماژول می باشد. قبل از pair شدن خاموش و پس از pair شدن روشن میشود.پین شماره ی ۳۴ نیز برای AT command استفاده میشود  که در قسمت های بعدی به آموزش آن ها می پردازیم.

برنامه نویسی

ابتدا برنامه bt simple terminal را به منظور کنترل ماژول hc05 توسط اپلیکیشن اندروید از لینک زیر دانلود نمایید و بر روی گوشی اندرویدیتان نصب کنید.

دانلود bt simple terminal

برنامه نویسی ماژول های بلوتوث همانند برنامه نویسی پورت سریال می باشد و در صورت تسلط به برنامه نویسی پورت سریال ، کار با ماژول HC05 برای شما بسیار ساده می باشد.

در ادامه به ویدیوی زیر توجه کنید.

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

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۹ دیدگاه

  • با سلام من یک ماژول گیرنده صوتی بلوتوثی
    SPK-8635-B Bluetooth audio receiver
    دارم که میخوام به وسیله اون اسپیکر بلوتوث دار درست کنم اما ره اندازی ماژول رو بلد نیستم اگه امکان داره کمکم کنید

  • اقا ترو خدا من چه جوری میتونم ماژول بلوتوث hc05رو ریست کنم ترو خدا جواب بدید خروجی در برد وجود داره یا نه که بتونم تنظیمات رو ریست کنم اگه امکان داره توضیح دهید

  • سلام آقای مهندس من می خوام بابلوتوث HC-05 دیتای TTL را به لپ تاپ بفرستم بدون استفاده از میکرو کنترلر آیا راهی هست؟ چگونه پیکر بندی کنم که اطلاعات از USB TO TTL به بلوتوث بره و با لپ تاپ مچ بشه. با تشکر

  • […] منم اوایلی که کار میکردم یه بار این اشتباه رو کردم دشواری نداره قط دیگه باید به ولتاژهایی که بهش میدید حسابی دقت کنید. یعنی منطق ttl آردوینو ۵ ولته اما منطق ttl بلوتوث ۳٫۳ هست بنابراین تقسیم مقاومتی رو انجام بدید چون اگر انجام ندید ممکنه باعث سوختن بلوتوثتون بشه اینجا روشراه اندازیش رو گفته فقط نمیدونم چرا تقسیم مقاومتی رو نگفته! HC05 ماژول بلوتوث به وسیله آردوینو – دیجی*اسپارک […]

  • سلام مهندس خسته نباشی من وقتی میخوام برنامه رو verfy کنم ارور میده و اشکال میگیره از خط ۱۷ برنامه که چک میکنه دیتا دریافت شده یانه و میگه ‘gt’ was not declared in this scope مشکل چیه عایا؟؟؟؟

  • سلام دیتا شیت نمیزاری که من بدونم این تعداد ال ای دی هارو بکجا وصل کنم ممنون میشم اگه راهنمای کنی البته برا بردuno

  • با سلام
    اگر به کدهاى برنامه دقت کنید، پایه ٢٢ تا ٣۵ براى این منظور در نظر گرفته شده است. البته شما میتوانید با تغییراتى در برنامه پایه هاى دیگر را هم درگیر کنید.

  • سلام میخواستم بگم امکانش هست بوسیله ماژول بلوتوث یه موتور براشلسو کنترل کرد؟؟یچیز دیگه اینکه برا کنترل موتور براشلس خروجی میکرو باید pwmباشه و سوالی که واسم پیش میاد اگه بشه توسط ماژول بلوتوث کنترلش کنم بلوتوث پالس۰,۱ارسال میکنه روپایه یا برنامه ای هم هست که توسط بلوتوث بشه پالسpwmارسال کرد و خروجیمpwmبشه

  • اقا سلام
    من یه ماژول بلوتوث hc-05 دارم که وصل میشه به اردوینو uno و بعد به کنترلر حالا قراره بشه یه ماشین کنترلی فقط میخواستم بدونم ایا باید ماژول بلوتوث ژیکر بندی بشه
    اقا تروخدا کمک کنین بخدا ثواب داره من هنوز تازه دارم وارد این مباحث میشم

  • سلام من ماژول این بلوتوث رو به ۵ ولت وصل کردم امکانش هست سوخته باشه،
    اخه قبلا تو یک پروژه ای به پنج ولت وصلش کردم و اسم شو میاورد و پیر می شد( ال ای دی روی خود برد بلوتوث با فاصله خاموش روشن میشد) ولی واکنشی نسبت به دستورات ازسالی نمی داد ممکنه اینکه به خواطر اینکه به این ولتاژ متصلش کردم اسیب دیده باشه؟؟

    • درود برشما
      طبق ادعای سازنده ولتاژ مورد نیاز برای این برد ۳٫۳ ولت میباشد. به احتمال زیاد برد شما سوخته است. البته دقت کنید اگر از ماژول HC05 بدون برد راه انداز استفاده کرده‌اید، این مشکل وجود دارد. ولی مدل با برد راه انداز مشکلی ندارد.

      • باتوجه به اینکه،برد راه اندازش به صورت کارخانه ای روش لیم شده.پشت این برد راه انداز نوشته ۳٫۳v ولی جای پایه نوشته ۵v+ با این حال دستگاه باهش جفت میشه،کانکت هم میشه
        LED روی خود بردراه انداز خاموش روشن میشه بازم میشه گفت سوخته؟

        • با سلام
          اگر از مدل با برد راه انداز مانند لینک ارسال شده، استفاده میکنید، با این ولتاژ برد شما آسیبی ندیده است. مگر اینکه در حین کار اتصالی کرده باشد. مشکل از جای دیگری است.

  • سلام خسته نباشید
    من وقتی این کد هارو داخل اردوینو کپی میکردم ارور میده
    ‘gt’ was not declared in this scope
    اینو چجوری برطرف کنم ممنون

    • با سلام
      ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخگویی، موضوع مربوط به یکی از المان‌های برنامه نویسی از جمله آکولاد و یا نقطه ویرگول است. موارد را دقیقا در برنامه بررسی کنید.

  • سلام.
    ببخشید چرا نمیشه با بلوتوث hc-05 برای روشن کردن چند LED استفاده کرد؟اصلا delay هم نوشتم پروژه ERROR میگیره.
    اینم کد برنامه :
    char data = 0;
    void setup() {

    Serial.begin(9600);
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);

    }

    void loop() {

    if(Serial.available() > 0)
    data = Serial.read();
    Serial.print(data);
    Serial.print(“\n”);
    if(data == ‘1’)

    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);

    else if(data == ‘0’)
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);

    }
    لطف کنید راهنماییم کنید.

    • با سلام
      ضمن تشکر از توجه شما، این موضوع بیشتر به دانش برنامه نویسی شما بستگی دارد. نویسنده‌های دیجی اسپارک در تلاش برای رفع مشکلات شما هستند. به نظرم کمی جستجو کنید. همچنین از دیگر کاربران که در این زمینه تخصص کافی دارند، تقاضا دارم تا در این بحث شرکت کنند.

  • با عرض سلام
    بنده میخواهم داده های اندازه گیری شده یک ماژول فشار BMP 180 که یک ماژول دیجیتالی است را از طریق ماژول بلوتوث hc-05 به سیستم منتقل کنم. یعنی در واقع میخوام به جای وصل کردن کابل USB به سیستم، به صورت وایرلس بتونم داده هایی که ماژول فشار اندازه گیری میکند را دریافت کنم و در نرم افزار آردوینو داده های دریافتی را به صورت Real Time، رسم کنم. (در حال حاضر همه این کارها را به صورت سیمی انجام داده ام، فقط میخواهم وایرلسش کنم)
    آیا چنین کاری ممکن است؟
    با تشکر

    • با سلام
      ضمن تشکر از توجه شما، در این خصوص باید با یک پروتکل این موارد را به صورت بیسیم روی سیستم مربوطه ارسال کنید. مثلا با استفاده از همین ماژول بلوتوث دیتا را انتقال دهید و سپس در سمت گیرنده، موارد را برای نمایش مشخص کنید.

  • سلام
    من واس ارسال دیتا از ماژول به گوشی مشکل دارم دیتا رو ناقص میفرسته
    ولی از گوشی به ماژول میشکلی نیست
    ؟!؟؟؟!؟
    دمتون گرم