معرفی ماژول بلوتوث HC-05 (جامع)

یکی از ماژولهای بلوتوث محبوب و مقرونبهصرفه، HC-05 است. این ماژول بهراحتی با قیمتی ارزان در فروشگاههای آنلاین پیدا میشود و گزینهای اقتصادی برای افزودن قابلیت بلوتوث به پروژههای الکترونیکی به شمار میرود. با این ماژول دیگر خبری از کابلهای درهمپیچیده و سیمکشیهای شلوغ نخواهد بود!
معرفی ماژول HC05
ماژول HC-05 یک ماژول Bridge Bluetooth-to-Serial است که امکان ارتباط بیسیم بین دو میکروکنترلر یا بین یک میکروکنترلر و دستگاههایی مانند گوشی هوشمند، لپتاپ یا رایانه شخصی مجهز به بلوتوث را فراهم میکند. این ماژول گزینهای عالی برای جایگزینی مستقیم رابط سریال سیمی (Asynchronous Serial Interface) محسوب میشود.
هر ماژول HC-05 شامل یک فرستنده و گیرنده بلوتوث (Bluetooth Transceiver) است؛ بنابراین میتواند هم داده ارسال کند و هم دریافت.
ماژول HC-05 از نوع Bluetooth Class 2 بوده و برد اسمی آن حدود 10 متر است. البته این مقدار در فضای باز به دست میآید و در محیطهای بسته به دلیل وجود دیوارها و موانع، برد آن کمی کاهش مییابد.
یکی از مزیتهای بزرگ HC-05، سهولت در استفاده است. نیازی به درگیر شدن با پروتکلها یا پشتههای پیچیده بلوتوث نیست. کافی است دادهها را از طریق رابط سریال ارسال کنید؛ ماژول آنها را بهصورت بیسیم به دستگاه بلوتوث متصلشده انتقال میدهد.
حالت های کاری HC-05
کنترل ماژول HC-05 و ارسال داده از طریق آن دو عملیات متفاوت هستند، اما هر دو از طریق ارتباط سریال انجام میشوند. برای تفکیک این دو نوع ارتباط، ماژول از دو حالت ارتباطی مجزا استفاده میکند: حالت AT (AT Mode) و حالت داده (Data Mode).
در حالت AT، میتوانید تنظیمات مختلف ماژول را پیکربندی کنید؛ از جمله نام ماژول، نرخ انتقال داده (Baud Rate)، کد PIN و سرعت داده.
در حالت Data، ماژول بهعنوان یک درگاه انتقال داده شفاف (Transparent Data Gateway) عمل میکند. در این حالت، وقتی HC-05 دادهای دریافت میکند، سربرگها و تریلرهای بلوتوث را حذف کرده و داده را از طریق پورت UART ارسال میکند. همچنین هر دادهای که از پورت UART فرستاده شود، توسط ماژول به بستههای بلوتوث تبدیل و بهصورت بیسیم ارسال میشود.
نقش های ارتباطی ماژول HC-05
ماژول بلوتوث HC-05 میتواند در دو نقش اصلی کار کند: Master و Slave.
در نقش Slave، ماژول منتظر میماند تا دستگاههای دیگر ارتباط را آغاز کنند. این نقش بهصورت پیشفرض فعال است و معمولاً در پروژههایی استفاده میشود که میخواهید کنترل دستگاه را با گوشی هوشمند انجام دهید.
در نقش Master، ماژول بهطور فعال به جستجوی دستگاههای بلوتوث دیگر میپردازد و سعی میکند ارتباط برقرار کند. این حالت زمانی کاربرد دارد که دو میکروکنترلر باید بهصورت بیسیم با هم تبادل داده داشته باشند.
برای تغییر بین این دو نقش، باید ماژول را وارد حالت AT کرده و از طریق پورت UART، دستورات AT Command مناسب را ارسال کنید.
تأمین توان در ماژول HC-05
حداکثر ولتاژ کاری تراشهی اصلی HC-05 برابر 3.3V است. به همین دلیل، ماژول شامل یک رگولاتور خطی 3.3V داخلی است که امکان استفاده از ولتاژ ورودی بین 3.6V تا 6V را برای تغذیه فراهم میکند.
نکتهی مهم این است که سطح منطقی (Logic Level) ماژول HC-05 برابر 3.3V است؛ بنابراین نمیتوان پایهی Rx ماژول را مستقیماً به پایهی دیجیتال یک میکروکنترلر 5V مانند Arduino UNO متصل کرد. به بیان دیگر، پایهی Rx ماژول در برابر 5V مقاوم نیست.
برای اتصال ایمن، باید سیگنال Tx میکروکنترلر را قبل از ورود به ماژول به 3.3V کاهش دهید (مثلاً با استفاده از یک تقسیم مقاومتی یا Level Shifter).
مصرف جریان ماژول HC-05
میزان جریان مصرفی بسته به وضعیت عملکرد ماژول متفاوت است. مقادیر تقریبی طبق دیتاشیت بهصورت زیر است:
حالت عملکرد | جریان مصرفی |
---|---|
در حالت اتصال و انتقال داده | 45 mA |
در حالت اتصال بدون انتقال داده (Idle) | 8 mA |
چراغ وضعیت (Status LED)
بیشتر ماژولهای HC-05 دارای یک LED وضعیت داخلی هستند که وضعیت ارتباط را با الگوهای مختلف چشمکزدن نشان میدهد:
- پس از روشن شدن، ماژول وارد حالت Pairing میشود و LED با سرعت حدود 2Hz (دو بار در ثانیه) چشمک میزند.
- پس از برقراری اتصال بلوتوث، الگوی LED به دو چشمک سریع و یک مکث تغییر میکند.
- وقتی ماژول وارد حالت AT میشود، LED با سرعت یکنواخت و آهسته چشمک میزند.
حالت AT Mode در ماژول HC-05
حالت AT Mode حالت پیکربندی ماژول است که در آن میتوانید با ارسال دستورات AT Command (به سبک Hayes) تنظیمات ماژول را تغییر دهید؛ از جمله نام، Baud Rate، رمز عبور (PIN) و سایر پارامترها.
بهصورت پیشفرض، ماژول در Data Mode قرار دارد. برای ورود به AT Mode باید دکمهی روی ماژول را نگه دارید و همزمان ماژول را روشن کنید. در این حالت، LED با چشمک آهسته نشان میدهد که وارد AT Mode شدهاید.
پس از ورود به این حالت، میتوانید از طریق پورت UART دستورات AT را ارسال کنید. ماژول در پاسخ، با یکی از حالتهای زیر واکنش نشان میدهد:
- تأیید اجرای دستور (OK)
- ارسال دادهی درخواستی
- یا نمایش خطا (Error)
دستورات معمولاً با پیشوند “AT+” آغاز میشوند؛ مثلاً:
AT+NAME?
→ بررسی نام فعلی ماژولAT+NAME=MyHC05
→ تغییر نام ماژول به MyHC05
نرخ انتقال داده در حالت AT Mode معمولاً با حالت Data متفاوت است. مقدار پیشفرض برای حالت AT برابر با 38400 bps است، اما در صورت نیاز میتوان آن را تغییر داد.
پین اوت ماژول HC-05
ماژول HC-05 Bluetooth دارای شش پین اصلی است. در ادامه هرکدام از پینها را بررسی میکنیم تا نحوهی اتصال و عملکرد آنها را بهتر درک کنید.
- STATE: از این پایه برای بررسی وضعیت فعلی ماژول استفاده میشود. زمانی که ماژول به هیچ دستگاهی متصل نیست، مقدار آن LOW است، و هنگامی که ارتباط برقرار میشود، مقدار آن HIGH خواهد بود.
- RXD: وظیفهی دریافت دادههای سریال از میکروکنترلر را دارد و باید به پایهی TX میکروکنترلر متصل شود. توجه کنید که این پایه در برابر 5V مقاوم نیست، بنابراین قبل از اتصال به میکروکنترلرهای 5 ولتی (مثل Arduino Uno)، سیگنال خروجی TX باید به 3.3V کاهش یابد.
- TXD: دادههای سریال را از ماژول به میکروکنترلر ارسال میکند و باید به پایهی RX متصل شود.
- GND: پایهی زمین ماژول است و باید به زمین مدار (Ground) متصل شود.
- VCC: پایهی تغذیه مثبت است. ولتاژ ورودی به این پین بین 3.6V تا 6V میتواند باشد و توسط رگولاتور داخلی به 3.3V کاهش پیدا میکند.
- EN (Enable): این پایه به پایهی فعالساز رگولاتور داخلی وصل است. در حالت پیشفرض با مقاومت 220kΩ به سطح بالا (HIGH) کشیده شده است. اگر این پایه را LOW کنید، رگولاتور و در نتیجه ماژول خاموش میشود.