• Interfacing Bluetooth HC-05 with STM32F103C8 Blue Pill: Controlling LED

QC

Interfacing Bluetooth HC-05 with STM32F103C8 Blue Pill: Controlling LED

 Interfacing Bluetooth HC-05 with STM32F103C8 Blue Pill: Controlling LED.

Trong thế giới ngày nay, Bluetooth đã trở nên rất phổ biến và hầu hết mọi thiết bị như điện thoại di động, máy tính xách tay và hệ thống thông tin giải trí trên ô tô đều sử dụng Bluetooth để giao tiếp không dây. Bluetooth không chỉ được sử dụng để truyền dữ liệu mà còn để điều khiển không dây các thiết bị Bluetooth khác, như sử dụng tai nghe Bluetooth, bạn có thể nghe bài hát không dây từ điện thoại di động của mình hoặc có thể sử dụng hệ thống âm thanh trên ô tô để phát các bài hát từ điện thoại di động của mình.


Bluetooth là một công nghệ không dây hoạt động trên tần số 2,4GHz. Tín hiệu Bluetooth bình thường nằm trong phạm vi bán kính 10 mét. Bluetooth là công nghệ không dây được sử dụng phổ biến nhất trong các dự án nhúng với điều kiện là phạm vi giao tiếp bị hạn chế. Bluetooth có thêm ưu điểm là tiêu thụ điện năng thấp và chi phí vận hành thấp. Nó thường được sử dụng để giao tiếp vi điều khiển với Điện thoại thông minh bằng cách sử dụng các ứng dụng Bluetooth.


Chúng tôi đã thấy giao tiếp của mô-đun Bluetooth với các bộ vi điều khiển khác như Arduino, 8051, PIC, v.v. Bây giờ trong hướng dẫn này, chúng tôi sẽ giao diện mô-đun Bluetooth HC-05 với STM32F103C8 và BẬT / TẮT đèn LED bằng thiết bị di động Android.

Materials Required

  • STM32F103C8
  • Bluetooth Module (HC-05)
  • LED
  • Android Mobile
  • Breadboard
  • Connecting wires

Software:


Mô-đun Bluetooth (HC-05)

Nó chủ yếu được sử dụng mô-đun Bluetooth trong các dự án nhúng. Nó là một mô-đun Bluetooth nối tiếp sử dụng giao tiếp nối tiếp có phạm vi dưới 100m và hoạt động ở 5V (tối thiểu 3,3V). Nó có thể được sử dụng để kết nối không dây hai bộ vi điều khiển và cả với điện thoại di động và máy tính xách tay. Vì có nhiều ứng dụng android nên nó rất hữu ích để tạo các dự án được điều khiển bằng Bluetooth không dây.


Nó sử dụng giao tiếp USART và có thể được giao tiếp với các bộ vi điều khiển có giao thức truyền thông USART.


Nó có một ăng-ten tích hợp. Nó có các cấu hình Master / Slave có thể được thay đổi trong chế độ lệnh AT, rất hữu ích khi chỉ một thiết bị gửi dữ liệu (master đến slave) như từ PC (MASTER) đến slave (MCU bất kỳ). Một thiết bị chính có thể kết nối với các thiết bị khác và thiết bị phụ không kết nối với kết nối khác ngoài kết nối chính.


Phương thức hoạt đông


Nó có hai chế độ AT Command Mode & Data Mode.


Khi Bluetooth được bật lên, nó sẽ chuyển sang chế độ dữ liệu mặc định. Chế độ này có thể được sử dụng để truyền dữ liệu. Để vào chế độ AT Command trong khi khởi động, chúng ta cần nhấn vào nút hiện diện trong mô-đun để thay đổi cài đặt mặc định của mô-đun như cấu hình chính / phụ.


Các chân của Mô-đun Bluetooth


Chân EN (BẬT) - Chân này được sử dụng để đặt Chế độ Dữ liệu hoặc Chế độ Lệnh AT. Theo mặc định, nó ở chế độ DATA MODE. Khi nhấn nút trong khi khởi động, nó sẽ chuyển sang chế độ lệnh AT.

Chân + 5V - Chân này được sử dụng để cấp nguồn cho mô-đun

Chân GND - Chân này được sử dụng để nối đất cho mô-đun

Chân TX - Chân này để kết nối với chân RX của MCU

Chân RX - Chân này kết nối với chân TX của MCU

STATE - Chân này cho biết trạng thái của mô-đun, xem bên dưới về các chỉ báo



Chỉ báo LED

Nó có chỉ báo LED (ĐỎ) cung cấp trạng thái của mô-đun Bluetooth.

Khi mô-đun Bluetooth KHÔNG ĐƯỢC KẾT NỐI với bất kỳ thiết bị nào, tín hiệu sẽ ở mức thấp và đèn LED màu đỏ nhấp nháy liên tục cho biết mô-đun KHÔNG ĐƯỢC CẶP.

Khi mô-đun Bluetooth được KẾT NỐI với bất kỳ thiết bị nào, tín hiệu sẽ ở mức CAO và đèn LED màu đỏ nhấp nháy kèm theo một số độ trễ cho biết mô-đun đã được CẶP.

Circuit Diagram and Connections

Các kết nối mạch để giao tiếp Mô-đun Bluetooth với STM32 được thực hiện như dưới đây.



Kết nối giữa STM32F103C8 và mô-đun Bluetooth (HC-05)


Chân TX (PA9) của STM32F103C8 được kết nối với chân RX của mô-đun Bluetooth.

Chân RX (PA10) của STM32F103C8 được kết nối với chân TX của mô-đun Bluetooth.

Chân VCC (+ 5V) của mô-đun Bluetooth được kết nối với chân 5V của STM32F103C8.

Chân GND của mô-đun Bluetooth được kết nối với chân GND của STM32F103C8.

Các kết nối khác


Chân (PA0) của STM32 (Viên thuốc màu xanh lam) được kết nối với chân dương của đèn LED thông qua một điện trở nối tiếp. Đèn LED được sử dụng ở đây là màu hỗn hợp.

Đã dẫn một chân khác được kết nối với GND của STM32.


Programming STM32F103C8

//PROGRAM FOR BLUETOOTH INTERFACE WITH STM32F103C8
//CIRCUIT DIGEST
//Pramoth Thangavel

const int pinout = PA0; // declare pinout with int data type and pin value
char inputdata = 0;  //Variable for storing received data

void setup()
{
    Serial1.begin(9600);                      //Sets the baud rate for bluetooth pins 
    Serial1.print("CIRCUIT DIGEST\n");
    Serial1.print("BLUETOOTH WITH STM32\n");                     
    pinMode(pinout, OUTPUT);                  //Sets digital pin PA0 as output pin for led
}

void loop()
{
   if(Serial1.available() > 0)      // Send data only when you receive data:
   {
      inputdata = Serial1.read();        //Read the incoming data & store into data
           
      if(inputdata == '1') 
      {
         digitalWrite(pinout, HIGH); 
         Serial1.print("LED ON\n");
      }
         
      else if(inputdata == '0')  
      {      
         digitalWrite(pinout, LOW);  
         Serial1.print("LED OFF\n");  
      }
   }
}

Steps for Connecting Bluetooth Module with Android Phone

Bước 1: - Mở Bluetooth từ di động sau khi tải mã vào STM32 từ Arduino IDE và cấp nguồn cho mạch. HÃY NHỚ xóa chân RX và TX trong khi TẢI LÊN mã




Bước 2: - Trong các thiết bị có sẵn, chọn HC-05 và nhập mật khẩu là 1234


Bước 3: - Sau khi ghép nối, mở ứng dụng Bluetooth Terminal chọn kết nối thiết bị và chọn HC-05 như hình dưới

Bước 4: - Sau khi kết nối với HC-05 Bluetooth Module, cung cấp các giá trị trong đầu cuối 1 hoặc 0 để BẬT và TẮT đèn LED. Bạn cũng sẽ nhận được thông báo rằng đèn LED đang Bật hoặc Tắt.


Code


const int pinout = PA0; // declare pinout with int data type and pin value
char inputdata = 0;  //Variable for storing received data

void setup()
{
    Serial1.begin(9600);                      //Sets the baud rate for bluetooth pins 
    Serial1.print("CIRCUIT DIGEST\n");
    Serial1.print("BLUETOOTH WITH STM32\n");                     
    pinMode(pinout, OUTPUT);                  //Sets digital pin PA0 as output pin for led
}

void loop()
{
   if(Serial1.available() > 0)      // Send data only when you receive data:
   {
      inputdata = Serial1.read();        //Read the incoming data & store into data
           
      if(inputdata == '1') 
      {
         digitalWrite(pinout, HIGH); 
         Serial1.print("LED ON\n");
      }
         
      else if(inputdata == '0')  
      {      
         digitalWrite(pinout, LOW);  
         Serial1.print("LED OFF\n");  
      }
   }
}













Nap Code vào PY32F003 dùng Stlink

 Nap Code vào PY32F003 dùng Stlink Bước 1: Cài đặt  KeilC v5.39 theo link sau ( chú ý 5.39 keil c mới nạp ok). https://edge07.111.ir.cdn.ir/...