۱. ماژول HC-05 دقیقاً چه کار میکند؟
ساده بگوییم: این ماژول مثل یک "سیم نامرئی" عمل میکند. در آردوینو ما پروتکلی داریم به نام "سریال" (همان TX/RX). HC-05 این سیگنال سریال را میگیرد، تبدیل به امواج بلوتوث میکند و به گوشی شما میفرستد. و برعکس! یعنی هر چیزی که در گوشی تایپ کنید، انگار مستقیماً در گوش آردوینو زمزمه کردهاید.
۲. تفاوت HC-05 و HC-06 (کلاه سرتان نرود!)
در بازار دو مدل دوقلو وجود دارد که خیلیها اشتباه میخرند:
- HC-06 (برده/Slave): فقط میتواند "دستور بگیرد". یعنی گوشی شما میتواند به آن وصل شود، اما خودش نمیتواند شروعکننده ارتباط باشد. (برای اکثر پروژهها همین کافی است).
- HC-05 (ارباب و برده/Master & Slave): این مدل هم میتواند دستور بگیرد و هم میتواند به یک بلوتوث دیگر وصل شود. (مثلاً ارتباط دو آردوینو با هم).
پیشنهاد ما: همیشه HC-05 را بخرید. قیمتشان یکی است اما دکمه کوچک روی آن (Key) امکانات بیشتری به شما میدهد.
۳. سیمکشی: فوت کوزهگری که باعث سوختن میشود! 🔥
اینجا جایی است که ۹۰٪ تازهکارها ماژول را میسوزانند. دقت کنید!
پایه RX ماژول HC-05 با ولتاژ 3.3 ولت کار میکند، اما خروجی آردوینو 5 ولت است. اگر مستقیم وصل کنید، ماژول مدتی کار میکند و بعد... خداحافظ!
راه حل حرفهای (تقسیم ولتاژ):بین پایه TX آردوینو و RX بلوتوث، باید از دو مقاومت (یکی ۱ کیلو اهم و یکی ۲ کیلو اهم) استفاده کنید تا ولتاژ را کم کنید. (اگر مقاومت ندارید، فعلاً برای تست مستقیم وصل کنید اما ریسکش پای خودتان!)
جدول اتصال:
- VCC --> 5V آردوینو
- GND --> GND آردوینو
- TX ماژول --> پایه RX آردوینو (یا پین 10)
- RX ماژول --> پایه TX آردوینو (یا پین 11) (با تقسیم ولتاژ)
۴. کدنویسی: جادوی کنترل با یک کاراکتر
ما میخواهیم وقتی در گوشی عدد 1 را فرستادیم، چراغ روشن شود و با 0 خاموش شود. از کتابخانه SoftwareSerial استفاده میکنیم تا پورت اصلی USB آزاد بماند.
C++
#include <SoftwareSerial.h>
SoftwareSerial myBT(10, 11); // پایه 10 گیرنده، 11 فرستنده
void setup() { pinMode(13, OUTPUT); // چراغ داخلی آردوینو
myBT.begin(9600); // سرعت استاندارد بلوتوث
Serial.begin(9600); Serial.println("بلوتوث آماده است! عدد 1 یا 0 بفرستید."); }
void loop() { if (myBT.available()) { // اگر پیامی آمد
char data = myBT.read(); // پیام را بخوان
if (data == '1') { digitalWrite(13, HIGH); // روشن کن
myBT.println("LED ON"); // به گوشی جواب بده
} else if (data == '0') { digitalWrite(13, LOW); // خاموش کن
myBT.println("LED OFF"); } } }
۵. اپلیکیشن موبایل (ریموت کنترل شما)
لازم نیست برنامهنویسی اندروید بلد باشید!
- به بازار یا پلیاستور بروید.
- برنامه "Serial Bluetooth Terminal" را دانلود کنید.
- بلوتوث گوشی را روشن کنید و دنبال HC-05 بگردید. (رمز معمولاً 1234 یا 0000 است).
- وارد برنامه شوید، کانکت شوید و عدد 1 را تایپ و ارسال کنید.
بینگو! چراغ روی برد روشن شد. حالا شما صاحب یک سیستم کنترل بیسیم هستید.
💡 ایده برای آینده: قدم بعدی چیست؟
حالا که اصول کار را یاد گرفتید، سقف رویاهایتان آسمان است:
- به جای LED، یک ماژول رله بگذارید و لامپ اتاقتان را با گوشی خاموش کنید.
- خروجیها را به درایور موتور L298 وصل کنید و ماشین کنترلی بسازید که با شتابسنج گوشی هدایت میشود!
دیدگاه خود را بنویسید