Đỗ Hữu Toàn gửi vào
- 36529 lượt xem
1. Giới thiệu
Làm thế nào để giao tiếp 2 board Arduino bằng bluetooth??? Làm thế nào để sử dụng máy tính không có sẵn chức năng bluetooth để điều khiển Arduino thông qua Bluetooth??? Đó là những câu hỏi rất nan giải....Và để trả lời cho những câu hỏi đó, mình đã viết bài này nhé!!!
Vấn đề ở đây đó chính là làm sao để kết nối 2 module bluetooth MASTER và SLAVE...Chỉ cần giải quyết được vấn đề này, thì câu hỏi coi như đã được giải. Khi kết nối được 2 module bluetooth với nhau, bạn có thể giao tiếp 2 board Arduino với nhau, hoặc dùng máy tính giao tiếp với module MASTER...module MASTER giao tiếp vs module SLAVE, để điều khiển Arduino bằng máy tính.
2. Chuẩn bị
- 1 module PL2303 để giao tiếp máy tính với module Bluetooth qua cổng Serial ( nhớ cài Driver cho nó nhé...mỗi loại có driver riêng, nên mk không up )
- 1 module bluetooth HC-05 (6 chân)
- 1 module bluetooth HC-06 (4 chân)
- ( Hoặc có thể dùng 2 con HC-05 nhé...)
Bởi vì chỉ Module HC-05 có thể chuyển về chế độ MASTER...tự động PAIR với các module bluetooth, thiết bị khác
3. Cách làm
a. Nguyên lý
Để hiểu rõ về nguyên lý hoạt động...Trc tiên bạn đọc các câu lệnh AT trong bài Dùng máy tính điều khiển Arduino thông qua bluetooth với C# - Một cái nhìn toàn diện về module bluetooth HC-05 của mình nhé.
Trc tiên bạn kết nối PL2303 với từng module bluetooth và bật Serial Monitor để giao tiếp. Bạn có thể tham khảo cách tự tạo Serial Monitor qua bài viết Chế tạo Serial Monitor từ C# (C Sharp) - Một sản phẩm được truyền cảm hứng của mình
Nguyên lý hoạt động khá đơn giản:
Đầu tiên, các bạn sử dụng câu lệnh AT để thiết lập con HC-05 về chế độ MASTER, con HC-06 về chế độ SLAVE ( thực ra HC-06 ở chế độ SLAVE sẵn r..k cần thiết lập cũng được ). Tiếp theo bạn đọc địa chỉ kết nối của con HC-06...Thiết lập cho HC-05 tự PAIR theo địa chỉ của HC-06...Thế là OK r!!!
b. Cài đặt cho từng module
Đây là lần lượt các lệnh với module...!!!!
SLAVE
Đầu tiên các bạn test xem module hoạt động chưa với lệnh : AT, Nếu giá trị gửi về OK...tức là module đã hoạt động, tiếp theo là lệnh
AT+UART=9600,0,0 ( thiết lập baudrate 9600,1 bit stop, no parity)
AT+RMAAD : ngắt kết nối với các thiết bị đã ghép
AT+PSWD=1234 : Thiết lập Pass
AT+ROLE=0 : đặt là module ở master
AT+RESET : Reset module
AT+ADDR: Hiển thị địa chỉ của SLAVE
MASTER
Đối với Arduino, không dùng đc Monitor....các bạn dùng lệnh Serial.println
AT : nếu thấy OK thỳ tiếp nhé, nếu k các bạn phải thử lại hoặc kiểm tra
AT +ORGL : Thiết lập lại mặc định
AT+RMAAD : ngắt kết nối với các thiết bị đã ghép
AT+PSWD=1234 Set Pin cho thiết bị
AT + ROLE=1
AT+INIT
AT+INQ: Bắt đầu tìm kiếm thiết bị để ghép nối...sau khi nhập lệnh này, nó sẽ trả về những địa chỉ bluetooth có thể connect
AT+LINK=<address> : Nhập address slave để kết nối vs slave...Lưu ý nếu địa chỉ slave là: 14:2:110007,0,7FFF....thỳ bạn phải nhập AT+LINK=14,2,110007
Sau khi kết nối các bạn có thể dùng C# để gửi dữ liệu vào MASTER....MASTER gửi tới SLAVE....điều khiển bluetooth
4. Lời kết
Trên đây là cách thiết lập thủ công để kết nối 2 module bluetooth vs nhau !!! Mình sẽ sớm phát triển ứng dụng C# để thiết lập SLAVE, MASTER và điều khiển Arduino thông qua bluetooth một cách nhanh chóng!! Chúc các bạn thành công!!!