Hướng dẫn giao tiếp bluetooth HC-05 với máy tính để cấu hình, cấu hình HC-05 bằng Arduino, thực hành bật tắt thiết bị từ xa với bluetooth HC-05

Mục Lục:

  • Tổng quan module HC-05
    • PinOUT
    • Ứng dụng
  • Hướng dẫn giao tiếp bluetooth HC-05 với máy tính
    • Các bước đấu nối
    • Các tập lệnh cơ bản
  • Cấu hình HC-05 bằng arduino
    • Nạp code
    • Các bước đấu nối
  • Thực hành bật tắt thiết bị qua bluetooth HC-05 bằng giọng nói

Tổng quan về module HC-05

• HC05 tuân theo giao thức “Bluetooth V2.0 + EDR” (EDR là viết tắt của Tốc độ dữ liệu nâng cao) .

• Tần số hoạt động của nó là Băng tần ISM 2,4 GHz .

• HC05 sử dụng hệ thống Bluetooth CSR Bluecore 04-chip đơn bên ngoài với công nghệ CMOS .

• Mô-đun này tuân theo giao thức chuẩn 802.15.1 của IEEE (Institute of Electrical and Electronics Engineers) .

• Kích thước của HC-05 là 12,7mmx27mm .

• Điện áp hoạt động của nó là 5V.

• Nó gửi và nhận dữ liệu bởi UART, cũng được sử dụng để thiết lập tốc độ truyền.

• Nó có độ nhạy -80dBm .

• Mô-đun này cũng sử dụng (FHSS), một kỹ thuật mà tín hiệu vô tuyến được gửi ở các mức tần số khác nhau.

• Mô-đun này có khả năng hoạt động như một chế độ Master /  Slave.

 • Mô-đun này có thể dễ dàng kết nối với máy tính xách tay hoặc điện thoại di động qua Bluetooth.

PINOUT HC-05

Pin#1 Enable Pin  The purpose of this pinout is to set data value at a high and low level. (Đặt giá trị HIGH hoặc LOW vào chân này )
Pin#2 Vcc At this pinout, the input supply is provided to the module. Its operating voltage is plus five volts. ( Chân cấp nguồn )
Pin#3 GND Ground (0V)
Pin#4 TX Serial Transmitting Pin. ( Chân truyền )
Pin#5 RX Serial Receiving Pin ( Chân nhận )
Pin#6 State This Pin is connected to an LED, shows the operating state of the HC-05 Bluetooth module. (có thể kết nối với led ngoài)

Ứng dụng của HC-05

• HC-05 thường được sử dụng trong các dự án nhúng, nơi dữ liệu cần được truyền không dây trong một khoảng cách nhỏ.

• Có thể truyền dữ liệu giữa hai mô-đun HC-05 và cũng có thể gửi dữ liệu từ HC-05 đến bất kỳ thiết bị Bluetooth nào, chẳng hạn như điện thoại di động, máy tính xách tay, v.v.

Để làm được như vậy, trước hết, chúng ta cần khởi động mô-đun HC-05 của mình, như thể hiện trong các bước dưới đây:

Hướng dẫn giao tiếp bluetooth HC-05 với máy tính

Dụng cụ chuẩn bị:

  • HC-05
  • Dây cắm test board
  • Mạch USB TTL bất kỳ, ở đây mình dùng CP2102

Phần mềm sử dụng:

  • Chương trình giao tiếp với máy tính: https://www.hw-group.com/software/hercules-setup-utility
  • Nơi tải Drive cp2102: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Sơ đồ đấu nối:

Bước 1:  Nối chéo TX-RX giữa Bluetooth HC-05 và USB ttl, cấp nguồn 5V từ USB ttl sang bluetooth HC-05, sau đó nối chân EN (hoặc KEY) sang chân GND.

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-1
Nối chân EN (hoặc KEY) sang chân GND

Bước 2: Cắm USB vào máy tính sau đó rút chân EN (hoặc chân KEY) từ chân GND sang chân VCC 5V

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-2
Rút chân EN (hoặc chân KEY) từ chân GND sang chân VCC 5V

Bước 3: Mở phần mềm giao tiếp với máy tính tên Heculus lên thực hiện các bước sau:

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-3

Lưu ý: 

Trên hình ở bước số 2 để xem COM của usb TTL các bạn mở Device Manager > Ports (COM & PORT),

 ở bước số 3 mặc định là baud 9600 nhưng một số trường hợp là 115200 nên khi gửi tập lệnh mà các bạn thấy các ký tự lạ xuất hiện thì cần thử lại các baude khác

Ở bước số 4 khi nhập tập lệnh các bạn thêm hậu tố <CR><LF> điều này có mục đích xuống dòng và hỗ trợ

Hướng dẫn sử dụng tập lệnh HC-05: https://drive.google.com/file/d/1GYMI3X5Nkuil-nFfvStK6iBHQPEU2nOQ/view?usp=sharing

Các tập lệnh cơ bản:

AT<CR><LF>   // kiểm tra giao tiếp, trả về OK

AT+NAME?<CR><LF>  // kiểm tra tên bluetooth, trả về tên bluetooth

AT+NAME=””<CR><LF> // đặt lại tên bluetooth, thêm dữ liệu vào 2 dấu “ “

AT+PSWD?<CR><LF> // kiểm tra mật khẩu, trả về mật khẩu của bluetooth

AT+PSWD=””<CR><LF> // đặt lại mật khẩu, thêm dữ liệu vào 2 dấu “ ”

AT+ADDR?<CR><LF> // kiểm tra địa chỉ bluetooth, trả về  địa chỉ bluetooth

AT+ROLE?<CR><LF> // kiểm tra chế độ hoạt động

AT+VERSION?<CR><LF> // trả về firmware hiện tại của bluetooth

AT+UART=9600,0,0?<CR><LF> //  ( thiết lập baudrate 9600,1 bit stop, no parity)

Các lệnh ở chế độ Master:

 AT+RMAAD?<CR><LF>  // ngắt kết nối với các thiết bị đã ghép

AT+ROLE=1<CR><LF> // đặt là module ở master

AT+RESET<CR><LF> // reset lại thiết bị

AT+CMODE=0<CR><LF> // Cho phép kết nối với bất kì địa chỉ nào

AT+INQM=0,5,5<CR><LF> // Dừng tìm kiếm thiết bị khi đã tìm được 5 thiết bị hoặc sau 5s

AT+INQ<CR><LF> // Bắt đầu tìm kiếm thiết bị để ghép nối Sau lệnh này một loạt các thiết bị tìm thấy được hiện thị. Định ra kết quả sau lệnh này như sau        INQ:address,type,signal

Phần địa chỉ (address) sẽ có định dạng như sau: 0123:4:567890. Để sử dụng địa chỉ này trong các lệnh tiếp theo ta phải thay dấu “:” thành “,” 0123:4:567890 -> 0123,4,5678

AT+PAIR=<address>,<timeout><CR><LF> // Đặt timeout(s) khi kết nối với 1 địa chỉ slave

 AT+LINK=<address><CR><LF> // Kết nối với slave

Các lệnh ở chế độ Slave:

AT+ORGL<CR><LF> // Reset lại cài đặt mặc định

AT+RMAAD<CR><LF> //  Xóa mọi thiết bị đã ghép nối

AT+ROLE=0<CR><LF> // Đặt là chế độ SLAVE

AT+ADDR<CR><LF> // Hiển thị địa chỉ của SLAVE

Hướng dẫn sử dụng tập lệnh AT HC-05: https://drive.google.com/file/d/1GYMI3X5Nkuil-nFfvStK6iBHQPEU2nOQ/view?usp=sharing

Cấu hình HC-05 bằng arduino

Tiến hành nạp code bên dưới cho arduino

#include <SoftwareSerial.h>

SoftwareSerial Bluetooth(2,3);

char c=’ ‘;

void setup()

{

  Serial.begin(9600);

  Serial.println(“ready”);

  Bluetooth.begin(38400);

}

void loop()

{

  if(Bluetooth.available())

  {

    c=Bluetooth.read();

    Serial.write(c);

  }

  if(Serial.available())

  {

    c=Serial.read();

    Bluetooth.write(c);

  }

}

Sau đó rút usb ra đấu nối như hình vẽ:

Như hình các bạn cấp nguồn 5V cho module bluetooth

Chân D2 nối chân TX BL

Chân D3 nối với chân 1k của cầu chia áp, cầu còn lại nối RX

Chân KEY( hay EN)  khi chưa cắm vào máy tính thì nối vào GND

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-4-1

Như hình vẽ sau khi cắm vào máy tính ta đổi chân KEY( hay EN) qua VCC 5V

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-5-1

Mở serial và chuyển Baud thành 38400  sau đó lại chuyển về 9600 //CÁC BẠN CHÚ Ý ĐOẠN NÀY

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-6

Lúc này ta tiến hành test

Test

Gửi các tập lệnh cơ bản như ở trên đã test với phần mềm Heculus bên trên chỉ có điều là không thêm hậu tố <CR><LF>, chú ý không để dư khoảng trắng.

AT   // kiểm tra giao tiếp, trả về OK

AT+NAME? // kiểm tra tên bluetooth, trả về tên bluetooth

AT+NAME=”” // đặt lại tên bluetooth, thêm dữ liệu vào 2 dấu “ “

AT+PSWD? // kiểm tra mật khẩu, trả về mật khẩu của bluetooth

AT+PSWD=”” // đặt lại mật khẩu, thêm dữ liệu vào 2 dấu “ ”

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-7-1

Thực hành điều khiển thiết bị bằng giọng nói với arduino

Sơ đồ:

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-8-1

Code:

#include <SoftwareSerial.h>

SoftwareSerial Bluetooth(2,3);

#define relay1 12 

# define relay2 13 

String voice = “”;

char c=’ ‘;

void setup() { 

    Serial.begin(9600);

    Bluetooth.begin(9600);

     Serial.println(“ready”); 

    pinMode(relay1, OUTPUT); 

    pinMode(relay2, OUTPUT); 

    digitalWrite(relay1, HIGH); 

    digitalWrite(relay2, HIGH);

void loop() {

    while (Bluetooth.available()) { 

        delay(10); 

        c = Bluetooth.read(); 

        if (c == ‘#’) { 

            break; 

        } 

        Serial.write(c);

        voice = char(c); 

    } 

    if (voice.length() > 0) { 

        Serial.println(voice); 

        if (voice == “*bật đèn 1”) { 

            lighton(); 

        } else if (voice == “*tắt đèn 2”) { 

            lightoff(); 

        } else if (voice == “*bật đèn 2”) { 

            fanon(); 

        } else if (voice = “*tắt đèn 2”) { 

            fanoff(); 

        } 

        voice = “”; 

    } 

}

void lighton() { 

    digitalWrite(relay1, LOW); 

void lightoff() { 

    digitalWrite(relay1, HIGH); 

void fanon() { 

    digitalWrite(relay2, LOW); 

void fanoff() { 

    digitalWrite(relay2, HIGH); 

}

Tải phần mềm điều khiển:

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-9
tải phần mềm và kết nối bluetooth hc-05 bằng điện thoại

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-10-1
Mở phần mềm và chọn kết nối bluetooth hc-05 1 lần nữa

CAU-HINH-AT-CHO-BLUETOOTH-HC-05-11-1
Nhấn vào để nói

Nói “Bật đèn 1” để bật thiết bị 1

Nói “Tắt đèn 1” để tắt thiết bị 1

Nói “Bật đèn 2” để bật thiết bị 2

Nói “Tắt đèn 2” để tắt thiết bị 2