📱 ماژول بلوتوث HC-05 (HC-05 Bluetooth Module)

اسم انگلیسیHC-05 Bluetooth Module
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته📦 ماژول‌ها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

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

HC-05 در ووکوی (Wokwi)

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

در تینکرکد فارسی خود HC-05 هست و پنل «خواص»ش یک گوشی مجازی برای فرستادن فرمان دارد؛ باز کردن و خواندن مثال‌ها رایگان است، ولی HC-05 جزو ماژول‌های حرفه‌ای است و اجرایش اشتراک Plus می‌خواهد. پروژه‌ی آماده: کنترل LED با بلوتوث HC-05.

سیم‌کشی با آردوینو

پایه‌ی HC-05وصل به
VCC5V (ماژول‌های روی برد واسط، رگولاتور ۳٫۳ ولتی دارند)
GNDGND
TXDپین 10 (RX در SoftwareSerial)
RXDپین 11 از راه مقسم: ۱ کیلواهم از پین 11 به RXD و ۲ کیلواهم از RXD به GND
STATE و ENآزاد (EN فقط برای حالت دستور AT)
LEDپین 8 ← مقاومت ۲۲۰ اهم ← آند، کاتد به GND

«فرستنده»ی یکی به «گیرنده»ی دیگری می‌رود؛ برای همین سیم‌ها ضربدری‌اند. مقسم ۱k و ۲k ولتاژ ۵ ولتی پین آردوینو را به حدود ۳٫۳ ولت می‌رساند که ورودی RXD ماژول می‌پذیرد.

کد نمونه

// HC-05 on pins 10/11. The same commands work from the phone
// (Bluetooth) and from the Serial Monitor (handy in Wokwi).
#include <SoftwareSerial.h>

SoftwareSerial bt(10, 11);   // RX, TX  (module TXD -> 10, module RXD <- 11)
const int LED = 8;

void reply(const char *text) {
  bt.println(text);
  Serial.println(text);
}

void handle(char c) {
  if (c == '1') {
    digitalWrite(LED, HIGH);
    reply("LED on");
  } else if (c == '0') {
    digitalWrite(LED, LOW);
    reply("LED off");
  } else if (c == '?') {
    reply(digitalRead(LED) ? "state: on" : "state: off");
  }
}

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
  bt.begin(9600);            // HC-05 default speed in data mode
  Serial.println("send 1, 0 or ?");
}

void loop() {
  if (bt.available()) handle(bt.read());
  if (Serial.available()) handle(Serial.read());
}

تابع handle نمی‌داند حرف از کجا آمده و لازم هم نیست بداند. این الگو را برای هر ماژول سریال دیگری هم به کار ببر: منطق را جدا بنویس و اول با سریال مانیتور تستش کن.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

HC-05 با آیفون کار می‌کند؟

نه. HC-05 از بلوتوث کلاسیک با پروفایل سریال (SPP) استفاده می‌کند که iOS برای دستگاه‌های عمومی پشتیبانی نمی‌کند. با گوشی اندرویدی یا کامپیوتر کار می‌کند؛ برای آیفون ماژول بلوتوث کم‌مصرف (BLE) مثل HM-10 لازم است.

رمز جفت شدن HC-05 چیست؟

معمولاً 1234 و در بعضی ماژول‌ها 0000. اسم پیش‌فرضش هم معمولاً HC-05 است و می‌شود با دستورهای AT عوضش کرد.

چطور برنامه‌ی HC-05 را در ووکوی تست کنم؟

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

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: ماژول بلوتوث HC-05 آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

📌

پین اوت رزبری پای پیکو: نقشه‌ی کامل ۴۰ پایه، GP، ADC، I2C، SPI، UART و تغذیه

قطعه‌های دیگرِ ماژول‌ها

🪪

کارت‌خوان RFID (RC522)

RC522 RFID Reader

⏰

ماژول ساعت RTC (DS3231)

DS3231 Real-Time Clock Module

🧲

رله

Relay Module (5V)

💾

ماژول کارت SD

microSD Card Module

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

ماژول بلوتوث HC-05 را در شبیه‌ساز امتحان کن 🚀