آموزش آردوینو

اتصال ماژول بلوتوث HC-05 به آردوینو (آموزش جامع)

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

در دنیای پروژه های  تعبیه‌شده، بلوتوث راهی عالی برای انتقال حجم کمی از داده‌ها به‌صورت بی‌سیم در فواصل کوتاه (کمتر از 100 متر) است. از آن می‌توان برای ثبت داده‌های لحظه‌ای یا کنترل یک پروژه از طریق گوشی هوشمند استفاده کرد.

در این آموزش قصد داریم نحوه‌ی کار با HC-05 را قدم‌به‌قدم یاد بگیریم. برای ساده‌تر شدن فرایند، آموزش را در سه بخش ارائه می‌کنیم. در بخش اول یاد می‌گیرید چگونه بین ماژول HC-05 و گوشی هوشمند خود داده ارسال و دریافت کنید. در بخش دوم نحوه‌ی پیکربندی ماژول با استفاده از دستورات AT Command را بررسی خواهیم کرد. در نهایت، در بخش سوم یاد می‌گیرید چگونه دو برد Arduino را با استفاده از ماژول‌های HC-05 به‌صورت بی‌سیم به هم متصل کنید.

پس از پایان این مجموعه، درک کاملی از نحوه‌ی استفاده از ماژول HC-05 Bluetooth در پروژه‌های خود خواهید داشت. بیایید شروع کنیم!

کنترل ماژول بلوتوث HC-05

برای کنترل ماژول HC-05 و ارسال داده از طریق آن، تنها چیزی که نیاز دارید رابط سریال (UART) است. در واقع، این ماژول مانند یک لوله‌ی انتقال داده عمل می‌کند: داده‌ای که از پایه‌ی RXD وارد می‌شود، از طریق اتصال بلوتوث به دستگاه دیگر ارسال می‌گردد و داده‌ی دریافتی از بلوتوث از پایه‌ی TXD خارج می‌شود.

فرآیند راه‌اندازی این ارتباط در دو مرحله انجام می‌شود:

  1. اتصال ماژول HC-05 به یک میکروکنترلر مانند Arduino که قابلیت ارسال و دریافت داده‌ی سریال دارد.
  2. ایجاد ارتباط بی‌سیم بلوتوث بین ماژول HC-05 و یک دستگاه دیگر (مثل گوشی اندروید). این مرحله مشابه فرآیند Pair کردن معمولی بین دو دستگاه بلوتوث است. برای تبادل داده، به یک برنامه‌ی ترمینال بلوتوث نیاز دارید. یکی از بهترین گزینه‌ها، اپلیکیشن Serial Bluetooth Terminal است که در Google Play Store در دسترس است.

در مجموع، کافی است اتصال سریال بین HC-05 و آردوینو را برقرار کرده و سپس ماژول را با دستگاه بلوتوث دیگر Pair کنید تا آماده‌ی استفاده شود.

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

اتصال ماژول HC-05 به برد آردوینو بسیار ساده است و فقط شامل سیم‌کشی پایه‌های تغذیه (VCC و GND) و پایه‌های ارتباط سریال (TX و RX) می‌شود.

برای جلوگیری از تداخل با پورت سریال سخت‌افزاری آردوینو، از کتابخانه‌ی SoftwareSerial استفاده می‌کنیم تا ارتباط HC-05 را به پایه‌های دیجیتال آزاد (مثلاً D2 و D3) متصل کنیم. این روش باعث می‌شود در هنگام آپلود کد روی آردوینو، ماژول داده‌ی ناخواسته دریافت نکند.

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

اتصالات پیشنهادی به این صورت است:

پایه ماژول HC-05 پایه آردوینو توضیحات
VCC 5V تغذیه مثبت ماژول
GND GND زمین مشترک
TXD D3 ارسال داده به آردوینو
RXD D2 دریافت داده از آردوینو (نیاز به Level Shifter دارد)

در نهایت، با این تنظیمات، ماژول بلوتوث HC-05 آماده‌ی برقراری ارتباط بی‌سیم با آردوینو است و می‌توانید از آن برای ارسال داده، کنترل پروژه‌ها از طریق موبایل یا تبادل اطلاعات بین دو آردوینو استفاده کنید.

کد عبور سریال بلوتوث (Bluetooth Serial Passthrough Sketch)

با کمی خلاقیت می‌توان از آردوینو به‌عنوان یک واسطه بین کامپیوتر و ماژول HC-05 استفاده کرد. در ادامه یک کد ساده (Sketch) آورده شده است که داده‌ها را بین Serial Monitor آردوینو و ماژول HC-05 منتقل می‌کند.

#include <SoftwareSerial.h>

// ایجاد پورت سریال نرم‌افزاری برای ارتباط با HC-05
SoftwareSerial mySerial(3, 2); // پایه TX ماژول HC-05 به D3 و پایه RX به D2 وصل می‌شود

void setup()
{
  // آغاز ارتباط سریال بین آردوینو و Serial Monitor
  Serial.begin(9600);
  
  // آغاز ارتباط سریال بین آردوینو و HC-05
  mySerial.begin(9600);

  Serial.println("Initializing...");
  Serial.println("The device started, now you can pair it with bluetooth!");
}

void loop()
{
  if(Serial.available()) 
  {
    mySerial.write(Serial.read()); // داده‌های دریافتی از سریال را به ماژول HC-05 بفرست
  }
  if(mySerial.available()) 
  {
    Serial.write(mySerial.read()); // داده‌های دریافتی از HC-05 را به سریال مانیتور بفرست
  }
  delay(20);
}

بعد از آپلود این کد روی آردوینو، Serial Monitor را باز کرده و Baud Rate را روی 9600 تنظیم کنید. حالا باید پیامی با متن زیر ببینید:

جفت شدن ماژول بلوتوث HC05 با موبایل

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

این یعنی ماژول HC-05 آماده‌ی Pair شدن با دستگاه بلوتوث است.

اتصال ماژول HC-05 به گوشی اندروید

برای برقراری ارتباط بی‌سیم بین ماژول بلوتوث HC-05 و گوشی اندروید، مراحل زیر را دنبال کنید. ممکن است بسته به مدل گوشی، نام گزینه‌ها کمی متفاوت باشد، اما روند کلی مشابه است:

  1. اطمینان حاصل کنید که ماژول HC-05 روشن است و LED آن با سرعت حدود 2Hz چشمک می‌زند. این حالت نشان می‌دهد که ماژول در وضعیت قابل شناسایی (Discoverable) قرار دارد.
  2. از بالای صفحه گوشی اندروید به پایین بکشید و Bluetooth را فعال کنید.اتصال ماژول HC-05 به گوشی اندروید
  3. آیکون بلوتوث را چند لحظه نگه دارید و سپس گزینه‌ی Pair new device یا جفت کردن دستگاه جدید را انتخاب کنید.اتصال ماژول HC-05 به گوشی اندروید
  4. در لیست دستگاه‌های در دسترس، نام HC-05 را انتخاب کنید.اتصال ماژول بلوتوث Hc-05
  5. هنگام درخواست رمز، عدد 1234 را وارد کنید (رمز پیش‌فرض تمام ماژول‌های HC-05).اتصال ماژول بلوتوث Hc-05
  6. پس از Pair شدن، برای تبادل داده به یک اپلیکیشن ترمینال بلوتوث نیاز دارید. پیشنهاد ما برنامه‌ی Serial Bluetooth Terminal است که از Google Play Store قابل دانلود است.اتصال ماژول بلوتوث Hc-05
  7. اپلیکیشن را باز کنید، روی آیکون منوی بالا سمت چپ ضربه بزنید و گزینه‌ی Devices را انتخاب کنید.اتصال ماژول بلوتوث Hc-05
  8. در لیست دستگاه‌های Pair شده، HC-05 را انتخاب کنید.
  9. وقتی اتصال برقرار شود، پیام Connected روی صفحه نمایش داده می‌شود و الگوی چشمک LED روی ماژول به دو چشمک سریع و یک مکث تغییر می‌کند. حالا گوشی شما با موفقیت به ماژول HC-05 متصل شده است.

اکنون می‌توانید داده رد و بدل کنید:

  • در برنامه‌ی Serial Bluetooth Terminal در کادر پایین، عبارتی مثل Hi! بنویسید و ارسال کنید.
  • ارسال پیام از موبایل به بلوتوث آردوینواین پیام بلافاصله در Serial Monitor آردوینو نمایش داده می‌شود.نمایش پیام در سریال مانیتور
  • همچنین می‌توانید از داخل Serial Monitor پیامی بنویسید و دکمه‌ی Send را بزنید تا پیام در برنامه‌ی اندروید ظاهر شود.ارسال پیام از سریال مانیتور به بلوتوث اندروید

نمایش پیام در موبایل اندروید

با این روش، ارتباط دوطرفه بلوتوث بین آردوینو و گوشی هوشمند به‌صورت کاملاً بی‌سیم برقرار می‌شود. این قابلیت برای کنترل پروژه‌های الکترونیکی از طریق موبایل یا مانیتور کردن داده‌ها در زمان واقعی بسیار مفید است.

پروژه آردوینو کنترل رله با بلوتوث

در این پروژه یاد می‌گیریم چگونه با استفاده از ماژول HC-05 Bluetooth، رله‌ها را به‌صورت بی‌سیم کنترل کنیم. این روش در پروژه‌های هوشمندسازی خانه، سیستم‌های روشنایی هوشمند، امنیتی و اتوماسیون صنعتی بسیار کاربردی است.

در این مثال از یک ماژول رله دو کاناله (Two-Channel Relay Module) استفاده می‌کنیم تا بتوانیم وسایلی مثل لامپ یا موتور را با گوشی موبایل روشن و خاموش کنیم.

سیم‌کشی ماژول HC-05 و رله به آردوینو

در این مدار از همان اتصالات قبلی ماژول HC-05 استفاده می‌کنیم، با این تفاوت که این‌بار یک ماژول رله دو کاناله نیز به مدار اضافه می‌شود تا بتوان خروجی را کنترل کرد.

سیم‌کشی ماژول HC-05 و رله به آردوینو

اتصال‌ها به شکل زیر است:

  • پایه VCC ماژول HC-05 → پایه 5V آردوینو
  • پایه GND ماژول HC-05 → پایه GND آردوینو
  • پایه TXD ماژول → پایه D3 آردوینو
  • پایه RXD ماژول → پایه D2 آردوینو (با تقسیم مقاومتی برای کاهش ولتاژ به 3.3V)
  • پایه IN1 ماژول رله → پایه D6 آردوینو (برای کنترل خروجی)
  • تغذیه ماژول رله از 5V و GND آردوینو تأمین می‌شود.

کد آردوینو برای کنترل رله با بلوتوث HC-05

کد پروژه را در آردوینو آپلود کنید تا بتوانید از طریق گوشی و بلوتوث، رله را روشن و خاموش کنید.

کد کامل در فایل دانلودی انتهای صفحه قرار داده شده است.

پس از آپلود کد، Serial Monitor را با Baud Rate روی 9600 باز کنید. باید پیامی مشابه زیر ببینید:

“The device started, now you can pair it with bluetooth!”

حالا اپلیکیشن Serial Bluetooth Terminal را در گوشی اندروید باز کرده و به ماژول HC-05 متصل شوید.

اکنون اگر در قسمت ورودی برنامه عبارت on را تایپ کنید، رله فعال (روشن) می‌شود. با تایپ off، رله غیرفعال (خاموش) خواهد شد.

کد آردوینو برای کنترل رله با بلوتوث HC-05

همزمان، تمام پیام‌های دریافتی در Serial Monitor آردوینو IDE نیز نمایش داده می‌شوند تا بتوانید وضعیت ارتباط را بررسی کنید.

کد آردوینو برای کنترل رله با بلوتوث HC-05

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

در برنامه‌ی Serial Bluetooth Terminal می‌توانید برای راحتی بیشتر، دکمه‌های ماکرو (Macro Buttons) تعریف کنید.
به‌عنوان مثال:

  • دکمه M1 را برای ارسال پیام on تنظیم کنید.
  • دکمه M2 را برای ارسال پیام off تنظیم کنید.

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

به این ترتیب، تنها با لمس یک دکمه روی موبایل، می‌توانید وسایل برقی یا لامپ‌ها را به‌صورت بی‌سیم کنترل کنید، بدون نیاز به تایپ دستی دستورات.

قدم بعدی در یادگیری بلوتوث با آردوینو

در این مرحله شما توانستید داده‌ها را بین ماژول HC-05 و گوشی خود رد و بدل کنید و حتی خروجی‌های سخت‌افزاری را کنترل کنید.

در ادامه می‌توانید با مطالعه‌ی آموزش “پیکربندی ماژول HC-05 با دستورات AT” یاد بگیرید چطور نام ماژول، رمز عبور، نقش (Master/Slave) و نرخ انتقال داده را تغییر دهید.

در مرحله‌ی بعدی نیز، می‌توانید یاد بگیرید چگونه دو برد آردوینو را از طریق ماژول‌های HC-05 به هم متصل کنید و ارتباط بی‌سیم بین آن‌ها برقرار سازید، تا پروژه‌های پیشرفته‌تر و هوشمندتری بسازید.

موارد موجود در فایل : سورس کامل

5 (1 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

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

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