Wednesday 28 November 2018

Giao Tiếp Modul Bluetooth HC05

Giới thiệu

HC-05 là thiết bị Bluetooth được sử dụng để liên lạc không dây. Nó hoạt động trên giao tiếp nối tiếp (UART).
  • Nó là một mô-đun 6 pin.
  • Thiết bị có thể được sử dụng ở 2 chế độ; chế độ dữ liệu và chế độ lệnh.
  • Chế độ dữ liệu được sử dụng để truyền dữ liệu giữa các thiết bị trong khi chế độ lệnh được sử dụng để thay đổi cài đặt của mô-đun Bluetooth.
  • Các lệnh AT được yêu cầu trong chế độ lệnh.
  • Module hoạt động trên 5V hoặc 3.3V. Nó có một bộ điều khiển 5V trên 3.3V.
  • Như mô-đun Bluetooth HC-05 có mức 3,3 V cho RX / TX và vi điều khiển có thể phát hiện mức 3,3 V, do đó, không cần phải thay đổi mức truyền của mô-đun HC-05. Nhưng chúng ta cần phải chuyển mức điện áp truyền từ vi điều khiển sang RX của mô-đun HC-05.
Để biết thêm thông tin về mô-đun Bluetooth HC-05 và cách sử dụng, hãy tham khảo tìm kiếm từ google
Để biết thông tin về UART trong 8.051 và cách sử dụng nó, hãy tham khảo chủ đề UART 8051 trong phần giới thiệu VXL 8051

Mô-đun Bluetooth HC-05

Sơ đồ giao tiếp

Giao diện Bluetooth với 8051
Giao diện mô-đun Bluetooth HC-05 với 8051

Thí dụ
Ở đây chúng ta hãy phát triển một ứng dụng nhỏ, trong đó chúng ta có thể điều khiển LED ON-OFF thông qua điện thoại thông minh.
Điều này được thực hiện bằng cách giao tiếp 8051 với mô-đun Bluetooth HC-05. Dữ liệu từ HC-05 được nhận / truyền tuần tự bởi 8.051.
Trong ứng dụng này khi 1 được gửi từ điện thoại thông minh, đèn LED sẽ BẬT và nếu 2 được gửi LED sẽ bị TẮT. Nếu dữ liệu nhận được không phải là 1 hoặc 2, nó sẽ trả về tin nhắn cho điện thoại di động mà chọn tùy chọn thích hợp.

Chương trình  

  1. Khởi tạo 8051 giao tiếp UART.
  2. Nhận dữ liệu từ mô-đun Bluetooth HC-05.
  3. Kiểm tra xem nó là '1' hay '2' và có hành động điều khiển tương ứng trên LED.


#include <reg51.h>
#include "UART_H_file.h" /* Include UART library */

sbit LED=P1^0;

void main()
{
 char Data_in;
 UART_Init();  /* Initialize UART */
 P1 = 0;   /* Clear port initially */
 LED = 0;  /* Initially LED turn OFF */
 while(1)
 {
  Data_in = UART_RxChar();  /* Receive char serially */
  if(Data_in == '1')
  {
   LED = 1;/* Turn ON LED */
   UART_SendString("LED_ON");  /* Send status of LED*/
  }
  else if(Data_in == '2')
  {
   LED = 0;/* Turn OFF LED */
   UART_SendString("LED_OFF");  /* Send status of LED*/
  
  }
  else
   UART_SendString("Select proper option");
 
 }
}

Code mô phỏng
Tệp đính kèm

No comments:

Post a Comment