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

بلوتوث این روزها همهجا دیده میشود. کلمهای آشنا که در میلیونها محصول روزمره از جمله هدفونها، گوشیهای موبایل، لپتاپها، کنترلرهای بازی و دستبندهای سلامتی استفاده میشود.
در دنیای پروژه های تعبیهشده، بلوتوث راهی عالی برای انتقال حجم کمی از دادهها بهصورت بیسیم در فواصل کوتاه (کمتر از 100 متر) است. از آن میتوان برای ثبت دادههای لحظهای یا کنترل یک پروژه از طریق گوشی هوشمند استفاده کرد.
در این آموزش قصد داریم نحوهی کار با HC-05 را قدمبهقدم یاد بگیریم. برای سادهتر شدن فرایند، آموزش را در سه بخش ارائه میکنیم. در بخش اول یاد میگیرید چگونه بین ماژول HC-05 و گوشی هوشمند خود داده ارسال و دریافت کنید. در بخش دوم نحوهی پیکربندی ماژول با استفاده از دستورات AT Command را بررسی خواهیم کرد. در نهایت، در بخش سوم یاد میگیرید چگونه دو برد Arduino را با استفاده از ماژولهای HC-05 بهصورت بیسیم به هم متصل کنید.
پس از پایان این مجموعه، درک کاملی از نحوهی استفاده از ماژول HC-05 Bluetooth در پروژههای خود خواهید داشت. بیایید شروع کنیم!
کنترل ماژول بلوتوث HC-05
برای کنترل ماژول HC-05 و ارسال داده از طریق آن، تنها چیزی که نیاز دارید رابط سریال (UART) است. در واقع، این ماژول مانند یک لولهی انتقال داده عمل میکند: دادهای که از پایهی RXD وارد میشود، از طریق اتصال بلوتوث به دستگاه دیگر ارسال میگردد و دادهی دریافتی از بلوتوث از پایهی TXD خارج میشود.
فرآیند راهاندازی این ارتباط در دو مرحله انجام میشود:
- اتصال ماژول HC-05 به یک میکروکنترلر مانند Arduino که قابلیت ارسال و دریافت دادهی سریال دارد.
- ایجاد ارتباط بیسیم بلوتوث بین ماژول 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 | پایه آردوینو | توضیحات |
---|---|---|
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 تنظیم کنید. حالا باید پیامی با متن زیر ببینید:
این یعنی ماژول HC-05 آمادهی Pair شدن با دستگاه بلوتوث است.
اتصال ماژول HC-05 به گوشی اندروید
برای برقراری ارتباط بیسیم بین ماژول بلوتوث HC-05 و گوشی اندروید، مراحل زیر را دنبال کنید. ممکن است بسته به مدل گوشی، نام گزینهها کمی متفاوت باشد، اما روند کلی مشابه است:
- اطمینان حاصل کنید که ماژول HC-05 روشن است و LED آن با سرعت حدود 2Hz چشمک میزند. این حالت نشان میدهد که ماژول در وضعیت قابل شناسایی (Discoverable) قرار دارد.
- از بالای صفحه گوشی اندروید به پایین بکشید و Bluetooth را فعال کنید.
- آیکون بلوتوث را چند لحظه نگه دارید و سپس گزینهی Pair new device یا جفت کردن دستگاه جدید را انتخاب کنید.
- در لیست دستگاههای در دسترس، نام HC-05 را انتخاب کنید.
- هنگام درخواست رمز، عدد 1234 را وارد کنید (رمز پیشفرض تمام ماژولهای HC-05).
- پس از Pair شدن، برای تبادل داده به یک اپلیکیشن ترمینال بلوتوث نیاز دارید. پیشنهاد ما برنامهی Serial Bluetooth Terminal است که از Google Play Store قابل دانلود است.
- اپلیکیشن را باز کنید، روی آیکون منوی بالا سمت چپ ضربه بزنید و گزینهی Devices را انتخاب کنید.
- در لیست دستگاههای Pair شده، HC-05 را انتخاب کنید.
- وقتی اتصال برقرار شود، پیام Connected روی صفحه نمایش داده میشود و الگوی چشمک LED روی ماژول به دو چشمک سریع و یک مکث تغییر میکند. حالا گوشی شما با موفقیت به ماژول HC-05 متصل شده است.
اکنون میتوانید داده رد و بدل کنید:
- در برنامهی Serial Bluetooth Terminal در کادر پایین، عبارتی مثل
Hi!
بنویسید و ارسال کنید. این پیام بلافاصله در Serial Monitor آردوینو نمایش داده میشود.
- همچنین میتوانید از داخل Serial Monitor پیامی بنویسید و دکمهی Send را بزنید تا پیام در برنامهی اندروید ظاهر شود.
با این روش، ارتباط دوطرفه بلوتوث بین آردوینو و گوشی هوشمند بهصورت کاملاً بیسیم برقرار میشود. این قابلیت برای کنترل پروژههای الکترونیکی از طریق موبایل یا مانیتور کردن دادهها در زمان واقعی بسیار مفید است.
پروژه آردوینو کنترل رله با بلوتوث
در این پروژه یاد میگیریم چگونه با استفاده از ماژول HC-05 Bluetooth، رلهها را بهصورت بیسیم کنترل کنیم. این روش در پروژههای هوشمندسازی خانه، سیستمهای روشنایی هوشمند، امنیتی و اتوماسیون صنعتی بسیار کاربردی است.
در این مثال از یک ماژول رله دو کاناله (Two-Channel Relay Module) استفاده میکنیم تا بتوانیم وسایلی مثل لامپ یا موتور را با گوشی موبایل روشن و خاموش کنیم.
سیمکشی ماژول 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، رله غیرفعال (خاموش) خواهد شد.
همزمان، تمام پیامهای دریافتی در Serial Monitor آردوینو IDE نیز نمایش داده میشوند تا بتوانید وضعیت ارتباط را بررسی کنید.
استفاده از ماکروها در ترمینال بلوتوث
در برنامهی Serial Bluetooth Terminal میتوانید برای راحتی بیشتر، دکمههای ماکرو (Macro Buttons) تعریف کنید.
بهعنوان مثال:
- دکمه M1 را برای ارسال پیام on تنظیم کنید.
- دکمه M2 را برای ارسال پیام off تنظیم کنید.
به این ترتیب، تنها با لمس یک دکمه روی موبایل، میتوانید وسایل برقی یا لامپها را بهصورت بیسیم کنترل کنید، بدون نیاز به تایپ دستی دستورات.
قدم بعدی در یادگیری بلوتوث با آردوینو
در این مرحله شما توانستید دادهها را بین ماژول HC-05 و گوشی خود رد و بدل کنید و حتی خروجیهای سختافزاری را کنترل کنید.
در ادامه میتوانید با مطالعهی آموزش “پیکربندی ماژول HC-05 با دستورات AT” یاد بگیرید چطور نام ماژول، رمز عبور، نقش (Master/Slave) و نرخ انتقال داده را تغییر دهید.
در مرحلهی بعدی نیز، میتوانید یاد بگیرید چگونه دو برد آردوینو را از طریق ماژولهای HC-05 به هم متصل کنید و ارتباط بیسیم بین آنها برقرار سازید، تا پروژههای پیشرفتهتر و هوشمندتری بسازید.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود