#15_Module Bluetooth HC-05 & HC-06

Module Bluetooth

Module bluetooth là module sử dụng chuẩn truyền thông không dây bluetooth để trao đổi dữ liệu trong khoảng cách ngắn. Trong bài viết “STM32 và ngoại vi” này ta sẽ cùng tìm hiểu cách sử dụng nó.

Biết cách truyền nhận dữ liệu không dây sẽ giúp ta ứng dụng vào rất nhiều các dự án thực tế…

———————————

Cùng xem bài viết bên dưới.

Module bluetooth HC-06 – STM32 và ngoại vi

Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách ngắn khoảng 10m. Nó sử dụng sóng vô tuyến trong dải tần từ (2.4 tới 2.485 GHz).

Module bluetooth
HC-05 và HC-06

Module Bluetooth HC-06 dùng để truyền nhận dữ liệu không dây bằng sóng bluetooth.

Khác với Bluetooth HC-05 có cả chế độ master và slave, HC-06 có chế độ slave (không chủ động kết nối với thiết bị khác), trong bài viết ta sẽ dùng điện thoại để kết nối với nó.
STM32 và ngoại vi
Datasheet HC-06 (Click to zoom)

Ta xem datasheet tải về ở bên dưới để nắm các thông tin về điện áp hoạt động, dải tần, các lệnh sử dụng để thiết lập…

Sử dụng giao tiếp UART để truyền dữ liệu cho vi điều khiển, nếu chưa rõ về giao tiếp này, tìm hiểu kỹ hơn tại “#2_Chuẩn giao tiếp UART

Thực hành trên STM32cubeIDE

Cấu hình chân

Phần cứng như bên dưới, sử dụng giao tiếp UART nên cần chú ý chân TX và RX.

Module bluetooth
Cấu hình phần cứng (Click to zoom)
Về phần cấu hình cubeMX, sử dụng chân PA9PA10 tương ứng với TX và RX của module bluetooth.
Cấu hình cubeMX (Click to zoom)

1 số lưu ý:

  • Nguồn cấp cho module dùng từ vi điều khiển.
  • (PA9 – TX) và (PA10 – RX)

App Bluetooth controller và thiết lập module bluetooth

Đầu tiên ta tải app trên CH Play hoặc App store.

Module bluetooth
Bluetooth controller

Tiếp theo ta thiết lập lệnh điều khiển trên app, có 2 dạng là slide và lệnh trực tiếp.

Ở phần lập trình ta sẽ tách các lệnh này để điều khiển các ngoại vi. Ví dụ “A726” ta sẽ đẩy dữ liệu này vào biến “dataA” cùng giá trị 726…

Cả 2 module HC-05 và HC-06 ngoài khác biệt về chế độ Master và Slave thì cách sử dụng, truyền nhận dữ liệu đều giống nhau

Tiếp theo là phần setup ở cả 2 module HC-05 và HC-06, tùy theo datasheet ta sẽ có thiết lập để cấu hình cho module.

  • Setup HC-05
  • Setup HC-06

Lập trình Module bluetooth

Trong hàm ngắt stm32f4xx_it.c ta nhận dữ liệu thô từ module bluetooth HC-06.

Nhận dữ liệu thô

Trong thư viện của chúng ta, ta sẽ phân tách các dữ liệu nhận được để điều khiển ngoại vi mong muốn, các hàm sử dụng là hàm cắt chuỗi, tách chuỗi…

STM32 và ngoại vi
Tách dữ liệu và lưu vào các biến (Click to zoom)

Và đây là kết quả debug:

Phần cứng và code

Phần cứng sử dụng STM32F411, module bluetooth. Phần mềm sử dụng là stm32cubeIDE. File code ví dụ các bạn tải về bên dưới, phần cứng tại Shoppe.


Ta vừa tìm hiểu về Module bluetooh trong chuyên mục STM32 và ngoại vi. Mong rằng chuyên mục này sẽ giúp nhiều bạn tiếp cận hơn với ngoại vi dòng vi điều khiển STM32.

Các bài viết khác cùng chuyên mục trong “STM32 và ngoại vi“.

Các chuyên mục khác:

Bạn có thắc mắc gì trong bài viết không?

Đánh giá và để lại bình luận bên dưới nhá.

5/5 - (1 bình chọn)

Similar Posts

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *