Trong dự án này, chúng ta sẽ tìm hiểu về mô-đun Bluetooth HC-05, cách giao tiếp Mô-đun Bluetooth này với Arduino và cách mô-đun Bluetooth HC-05 có thể được sử dụng để điều khiển board Arduino qua giao tiếp không dây (Bluetooth).
Giới thiệu
Giao tiếp Bluetooth là giao tiếp RF dựa trên tần số 2,4 GHz với phạm vi khoảng 10 mét. Đây là một trong những giao tiếp phổ biến nhất và rất thường được sử dụng trong truyền dữ liệu với khoảng cách ngắn, trong các hệ thống âm thanh, trong các thiết bị rảnh tay (hands-free), thiết bị ngoại vi máy tính, v.v..
Giới thiệu về mô-đun Bluetooth HC-05
Mô-đun Bluetooth HC-05 là thiết bị thường được lựa chọn để thực hiện các dự án dựa trên giao tiếp Bluetooth. Mô-đun Bluetooth HC-05 là một thiết bị giao tiếp không dây đơn giản dựa trên giao thức Bluetooth.
Mô-đun này dựa trên IC Bluetooth chip đơn BC417 tuân thủ tiêu chuẩn Bluetooth v2.0 và hỗ trợ cho cả giao diện UART và USB.
Nói chung, mô-đun Bluetooth HC-05, hoặc mô-đun phụ HC-05, chính xác, đi kèm với IC BC417 cùng với bộ nhớ flash. Các mô-đun như vậy xuất hiện dưới dạng board gắn trên bề mặt và một số nhà sản xuất bên thứ ba sử dụng board này để xây dựng một hệ thống hoàn chỉnh hơn với các chân và bộ phận cần thiết.
Hình ảnh sau đây cho thấy một mô-đun Bluetooth HC-05 như vậy (board màu xanh lá cây gắn trên board màu xanh dương) được sử dụng như một phần của mô-đun Bluetooth hoàn chỉnh.
Các chân của mô-đun Bluetooth HC-05
Mô-đun HC-05 hỗ trợ giao tiếp UART, USB cũng như SPI và tùy thuộc vào ứng dụng, các chân cần thiết có thể được sử dụng. Trong dự án này, board sử dụng giao tiếp UART.
Nói chung, khi sử dụng mô-đun Bluetooth, chúng ta chỉ cần bốn chân là đủ để kích hoạt thành công giao tiếp không dây nhưng các mô-đun được sản xuất hiện nay đi kèm với sáu chân là: VCC, GND, TX, RX, EN và STATE.
Hình ảnh bên dưới hiển thị các chân và các thành phần khác trên mô-đun Bluetooth HC-05 điển hình.
Một điểm quan trọng cần nhớ là mô-đun Bluetooth HC-05 hoạt động ở mức logic 3,3V. Do đó, một bộ điều chỉnh điện áp 3,3V được sử dụng trên board.
Lưu ý: Nút nhấn có trên board mạch được sử dụng để định cấu hình mô-đun Bluetooth ở chế độ lệnh AT. Trong bài viết này, tôi không thảo luận về chế độ hoạt động này.
Chức năng của các chân
- EN: Đây là pin cho phép. Khi chân này được bỏ trống hoặc được kết nối với 3.3V, mô-đun được cho phép. Nếu chân này được kết nối với GND, mô-đun bị vô hiệu hóa.
- +5V: Đây là chân cấp nguồn nên được nối với + 5V. Vì mô-đun có bộ điều chỉnh điện áp 3.3V trên bo mạch, bạn có thể cung cấp nguồn + 5V.
- GND: Chân nối đất.
- TX: Đây là chân máy phát của giao tiếp UART.
- RX: Đây là chân nhận của UART.
- STATE: Đây là một pin chỉ báo trạng thái. Pin này ở mức THẤP khi mô-đun không được kết nối với bất kỳ thiết bị nào. Khi mô-đun được ghép nối với bất kỳ thiết bị nào, chân này sẽ ở mức CAO.
Lưu ý: Đèn LED trên board mạch được sử dụng để biểu thị trạng thái của kết nối. Khi mô-đun không được ghép nối, đèn LED nhấp nháy hoặc nhấp nháy liên tục. Khi mô-đun được ghép nối, đèn LED nhấp nháy với thời gian khoảng 2 giây.
Các chế độ hoạt động
Mô-đun Bluetooth HC-05 có thể được cấu hình ở hai chế độ hoạt động: Chế độ lệnh (Command Mode) và Chế độ dữ liệu (Data Mode).
Trong Chế độ lệnh, bạn có thể giao tiếp với mô-đun Bluetooth thông qua các lệnh AT để định cấu hình các cài đặt và tham số khác nhau của mô-đun như xem thông tin firmware, thay đổi tốc độ UART, thay đổi tên mô-đun, set mô-đun hoặc là Master hoặc là Slave, v.v..
Một điểm quan trọng về mô-đun HC-05 là nó có thể được cấu hình là Master hoặc Slave trong một cặp giao tiếp. Để chọn một trong hai chế độ, bạn cần kích hoạt Chế độ lệnh và gửi các lệnh AT thích hợp.
Đối với Chế độ dữ liệu, ở chế độ này, mô-đun được sử dụng để liên lạc với thiết bị Bluetooth khác, tức là việc truyền dữ liệu xảy ra trong chế độ này.
Cài đặt mặc định của Mô-đun Bluetooth HC-05
Sau đây là danh sách một số cài đặt mặc định của mô-đun Bluetooth HC-05.
- Tên: HC-05
- Mật khẩu: 1234 (hoặc 0000)
- Loại: Slave
- Chế độ: Data
- Tốc độ Baud: 9600 với 8 bit dữ liệu, không có bit parity và 1 bit stop
Sơ đồ mạch kết nối mô-đun Bluetooth HC-05 với Arduino
Để giúp bạn hiểu rõ sự kết nối giữa mô-đun HC-05 và Arduino, tôi đã thiết kế một mạch đơn giản.
Mục đích của mạch này là kết nối mô-đun Bluetooth với Arduino, liên kết mô-đun Bluetooth với điện thoại Android, gửi dữ liệu từ điện thoại Android đến mô-đun Bluetooth bằng một ứng dụng đơn giản, đọc dữ liệu từ mô-đun Bluetooth qua Arduino và cuối cùng, hiển thị dữ liệu và điều khiển một thiết bị dựa trên dữ liệu.
Hình ảnh sau đây cho thấy sơ đồ mạch của kết nối giữa Arduino UNO và HC-05.
Chương trình
char data = 0; //Biến để lưu trữ dữ liệu nhận được
void setup()
{
Serial.begin(9600); //Set tốc độ baud để truyền dữ liệu nối tiếp pinMode(13, OUTPUT); //Set chân 13 là chân đầu ra
}
void loop()
{
if(Serial.available() > 0) // Chỉ gửi dữ liệu khi nhận được dữ liệu
{
data = Serial.read(); //Đọc dữ liệu đến và lưu trữ nó vào biến data
Serial.print(data); //In giá trị bên trong data trên Serial Monitor
if(data == ‘1’) // Kiểm tra xem giá trị của data có bằng 1 không
digitalWrite(13, HIGH); //Nếu giá trị là 1 thì bật LED
else if(data == ‘0’) // Kiểm tra xem giá trị của data có bằng 0 không
digitalWrite(13, LOW); //Nếu giá trị là 0 thì tắt LED
}
}
Ứng dụng cho giao tiếp Bluetooth
Tôi sẽ sử dụng một ứng dụng Android đơn giản có tên là ‘LED Controller’ để ghép nối HC-05 với điện thoại Android của tôi và truyền dữ liệu. Nếu bạn muốn biết làm thế nào để tạo ra được ứng dụng này thì hãy đọc bài viết sau nhé.
Bạn download ứng dụng này tại đây.
Kết nối điện thoại với mô-đun Bluetooth HC-05
Thực hiện kết nối và cấp nguồn cho mô-đun Bluetooth. Nếu đây là lần đầu tiên bạn sử dụng mô-đun Bluetooth, thì đèn LED sẽ nhấp nháy liên tục. Để ghép nối mô-đun với điện thoại của bạn, hãy mở cài đặt Bluetooth trong điện thoại của bạn và kết nối với điện thoại HC HC-05 bằng pin 1234. Nếu 1234 không hoạt động, hãy thử lại 0000.
Khi mô-đun Bluetooth được ghép nối với điện thoại của bạn, bạn có thể bắt đầu sử dụng ứng dụng. Mở ứng dụng LED Controller và nhấp vào paired devices. Một danh sách các thiết bị Bluetooth sẽ xuất hiện trên màn hình. Chọn HC-05.
Sau khi kết nối thành công, bạn nhấn nút ON để bật đèn LED và nút OFF để tắt đèn LED.
Nút DISCONNECT để ngắt kết nối với mô-đun Bluetooth.
Kết luận
Đây chỉ là một hướng dẫn cơ bản về giao tiếp mô-đun Bluetooth với Arduino. Dự án này có thể được cải thiện lên mức cao hơn như tự động hóa ngôi nhà bằng cách sử dụng điện thoại thông minh, robot điều khiển qua điện thoại thông minh và nhiều hơn nữa.