Mật khẩu này được bảo vệ bằng điều khiển từ xa dựa trên bluetooth hoạt động ở tần số 2,4 GHz có thể được sử dụng để điều khiển robot, thiết bị gia dụng, máy móc, v.v. Ở đây chúng tôi đã sử dụng điều khiển từ xa an toàn để điều khiển một robot chiến tranh có ba động cơ, một trong số đó được sử dụng để nâng đồ vật hoặc vũ khí như dao cắt (hoặc kiếm). Bài viết mô tả cấu hình của hệ thống điều khiển từ xa và không đề cập chi tiết đến việc xây dựng và làm việc của robot do không gian trống.
Mạch và làm việc
Dự án bao gồm hai cặp mô-đun Arduino và Bluetooth HC-05, một trong số đó được sử dụng trong đơn vị phát và một trong các đơn vị thu. Mô-đun Bluetooth ở phía máy phát được định cấu hình là chính, trong khi mô-đun ở phía máy thu được định cấu hình là phụ. Các nguyên mẫu của tác giả cho đơn vị phát và đơn vị thu được hiển thị trong Hình 1 và 2, tương ứng.
Hình 1: Nguyên mẫu của đơn vị truyền phát
Quảng cáo
Hình 2: Nguyên mẫu của đơn vị thu
Đơn vị phát
Sơ đồ mạch của bộ phát được hiển thị trong Hình 3. Nguyên mẫu sử dụng sáu nút nhấn / công tắc (S1 đến S6), được kết nối với bảng Arduino (Board1) bằng dây nhảy. Tất cả các công tắc này được sử dụng để điều khiển các động cơ cho các chuyển động khác nhau của robot. Mô-đun Bluetooth HC-05 (BT1) cũng được kết nối với Board1 như trong Hình 3.
Hình 3: Sơ đồ mạch của bộ truyền
Đơn vị thu
Sơ đồ mạch của bộ thu được hiển thị trong Hình 4. Nó bao gồm bo mạch Arduino (Board2), mô-đun Bluetooth HC-05 (BT2), sáu rơle 12V, 1CO (RL1 đến RL6), ba động cơ DC (M1, M2 và M3), sáu bóng bán dẫn điều khiển rơle 2N2222 (T1 đến T6) và một vài thành phần khác. Nguyên mẫu của tác giả sử dụng thẻ chuyển tiếp 4 kênh cho bánh xe bên phải và bên trái của robot và thẻ chuyển tiếp 2 kênh để điều khiển động cơ nâng vật. BT2 được kết nối với Board2 bằng dây nhảy. Tất cả các thẻ chuyển tiếp được kết nối với Board2.
Hình 4: Sơ đồ mạch của đơn vị thu
Thẻ chuyển tiếp nên được thực hiện theo yêu cầu của bạn. Trong hướng dẫn này, mạch được sử dụng để điều khiển robot sử dụng động cơ DC. Vì vậy, hai rơle được sử dụng để chạy một động cơ theo cả hai hướng.
Chuyển S1 sang S6 trong thiết bị phát hoạt động như các nút điều khiển từ xa, sẽ gửi tín hiệu kỹ thuật số đến thiết bị thu thông qua Board1 và BT1.
Các tín hiệu từ đơn vị phát được BT2 nhận trong đơn vị thu và chuyển tiếp đến Board2 để xử lý. Vì các bảng chuyển tiếp được kết nối với các chân đầu ra kỹ thuật số của Board2, nên rơle tăng cường hoặc giảm năng lượng theo trạng thái tín hiệu có sẵn trên các chân đầu ra kỹ thuật số.
Rơle
Rơle ở phía máy thu được sử dụng để điều khiển động cơ theo các hướng mong muốn thông qua Arduino Board2. Các trình điều khiển rơle bao gồm sự kết hợp của một bóng bán dẫn và một diode như trong hình 4. Bạn có thể sử dụng các rơle đánh giá công suất cao hơn để lái các động cơ DC nặng. Trong nguyên mẫu, tác giả đã sử dụng rơle điện DC DC, 8 chân JQX-30F bằng cách loại bỏ rơle PCB hình khối đường ra khỏi thẻ rơle. Sự kết hợp đúng đắn của rơle và tiếp điểm làm cho động cơ chạy theo các hướng mong muốn.
Ghép nối các mô-đun Bluetooth
Các mô-đun HC-05 của máy phát và máy thu phải được ghép nối trước khi sử dụng chúng trong dự án. Quá trình định cấu hình các mô-đun HC-05 được giải thích bên dưới.
Để ghép hai mô-đun HC-05, bạn cần có bo mạch Arduino và bộ chuyển đổi USB-UART như bộ chuyển đổi CP2102. Một mô-đun HC-05 có thể được cấu hình để hoạt động ở chế độ phụ hoặc chế độ chính.
Cấu hình mô đun nô lệ. Các kết nối giữa HC-05 và Arduino được hiển thị bên dưới:
HC-05 (BT2) | Arduino (Ban 2) |
Rx | Rx |
Tx | Tx |
GND | GND |
Vcc | Vcc |
Chìa khóa | 3,3V |
Để vào chế độ lệnh 'chú ý' (AT) của HC-05, cần có chương trình null trong bảng Arduino. (Các lệnh AT là tập lệnh Hayes thường được sử dụng trong giao tiếp modem và nối tiếp.) Chốt khóa của HC-05 phải được kết nối với 3.3V để vào chế độ lệnh AT.
Sau khi kết nối đúng, kiểm tra tốc độ truyền của mô-đun HC-05 của bạn. Định cấu hình tốc độ baud thành 38400. Tải chương trình null sau lên bảng Arduino:
void setup ()
{
{
}
vòng lặp void ()
{
}
{
}
Sau khi tải lên chương trình, bắt đầu 'Màn hình nối tiếp' trong Arduino IDE. Chọn 'Cả NL & CR' và 'Tốc độ truyền là 38400' trong cửa sổ 'Trình giám sát nối tiếp'.
Để biết chi tiết về thiết bị HC-05 hiện tại, chỉ cần nhập AT + NAME vào hộp chỉnh sửa trong 'Màn hình nối tiếp'. Để thay đổi thiết bị thành tên mong muốn, giả sử Tej Patel, nhập AT + NAME = Tej Patel
Để thay đổi mật khẩu của mô-đun, nhập lệnh sau:
Tại + PSWD = *****
Trong đó ***** có thể là bất kỳ chuỗi ký tự nào, giả sử, efy12
Để định cấu hình mô-đun ở chế độ phụ, nhập AT + ROLE = 0
Mỗi mô-đun Bluetooth có địa chỉ riêng. Để biết địa chỉ thiết bị hiện tại, nhập AT + ADDR
Ở đây, địa chỉ là 98d3: 31: 305f7b
Thay dấu hai chấm bằng dấu phẩy như được đưa ra dưới đây:
AT + LINK = 98d3,31,305f7b
AT + LINK = 98d3,31,305f7b
Và ghi lại địa chỉ này vì bạn sẽ cần điều này sau này trong khi định cấu hình mô đun chủ (BT1). Bây giờ, bạn có thể ngắt kết nối nguồn và rút chốt khóa khỏi mô-đun.
Cấp nguồn cho mô-đun một lần nữa. Mô-đun Slave (BT2) đã sẵn sàng để sử dụng ngay bây giờ.
Cấu hình mô đun chủ
Đối với điều này, bạn cần một bộ chuyển đổi CP2102 (USB-to-UART) và cả phần mềm đầu cuối. Tác giả đã sử dụng phần mềm Tera Term, có thể tải xuống miễn phí và dễ dàng từ Internet.
Bạn cần các kết nối dây sau đây giữa mô-đun HC-05 và bộ chuyển đổi CP2102:
HC-05 (BT1) | CP2102 |
Vcc | + 5V |
GND | GND |
Tx | Rx |
Rx | Tx |
Chìa khóa | 3,3V |
Sau khi kết nối, hãy cắm mô-đun CP2102 vào cổng USB của PC. Mở phần mềm Tera Term từ PC của bạn và tiến hành như sau:
Bước 1
Chọn tùy chọn 'Nối tiếp', theo sau là cổng COM mà bộ chuyển đổi CP2102 được kết nối
Bước 2
Chọn Cài đặt-> Cổng nối tiếp-> Baudrate-> 38400
Tốc độ truyền mặc định cho HC-05 là 38400 cho chế độ lệnh
Bước 3
Trong menu cài đặt, chọn thiết bị đầu cuối là 'CR + LF' cho Truyền. Cũng đánh dấu tiếng vang địa phương. Vì vậy, bạn có thể thấy bất cứ điều gì bạn đã gõ hoặc nhập trong cửa sổ
Bước 4
Nhập 'AT + RMAAD' để xóa tất cả các thiết bị được kết nối trước đó.
Đặt mật khẩu giống như cho nô lệ bằng cách nhập các lệnh sau trong cửa sổ chỉnh sửa của Tera Term:
AT + PSWD = *****
AT + ROLE = 1. Ở đây '1' dành cho chế độ chính
AT + CMODE = 1 cho phép mô-đun kết nối với bất kỳ địa chỉ
AT + INIT nào. Gõ lệnh này để bắt đầu cổng nối tiếp. Nếu bạn thấy lỗi 17, đừng lo lắng, điều đó có nghĩa là bạn đã bắt đầu SPP
AT + INQ. Nhập cái này để tìm các thiết bị gần mô đun chủ. Sau một thời gian, bạn sẽ nhận được một danh sách các thiết bị. Để ghép nối với mô đun nô lệ, gõ:
AT + LINK = Đăng địa chỉ bằng dấu phẩy
Tại đây, AT + LINK = 98d3,31,305f7b
Đặt mật khẩu giống như cho nô lệ bằng cách nhập các lệnh sau trong cửa sổ chỉnh sửa của Tera Term:
AT + PSWD = *****
AT + ROLE = 1. Ở đây '1' dành cho chế độ chính
AT + CMODE = 1 cho phép mô-đun kết nối với bất kỳ địa chỉ
AT + INIT nào. Gõ lệnh này để bắt đầu cổng nối tiếp. Nếu bạn thấy lỗi 17, đừng lo lắng, điều đó có nghĩa là bạn đã bắt đầu SPP
AT + INQ. Nhập cái này để tìm các thiết bị gần mô đun chủ. Sau một thời gian, bạn sẽ nhận được một danh sách các thiết bị. Để ghép nối với mô đun nô lệ, gõ:
AT + LINK = Đăng địa chỉ bằng dấu phẩy
Tại đây, AT + LINK = 98d3,31,305f7b
Mô đun chủ (BT1) được cấu hình ngay bây giờ.
Bật cả hai mô-đun BT1 và BT2 và xem các đèn LED trạng thái trên cả hai mô-đun phụ và chính. Cả hai mô-đun sẽ tự động kết nối với nhau. Nếu cả hai đèn LED bắt đầu nhấp nháy hai lần trong một giây, cả hai thiết bị được kết nối với nhau và sẽ nhớ nhau ngay cả khi tắt nguồn.
Bây giờ thiết lập đã hoàn tất và điều khiển từ xa không dây đã sẵn sàng để sử dụng.
Chương trình phần mềm
Ba chương trình (HC-05_config.slave.ino, TX-rem-cont.ino và RX-rem-cont.ino) được sử dụng trong dự án này.
HC-05_config.slave.ino được sử dụng để định cấu hình mô đun nô lệ Bluetooth, TX-rem-cont.ino được sử dụng cho máy phát Arduino và RX-rem-cont.ino được sử dụng cho Arduino máy thu.
Bạn cần phần mềm Arduino IDE để biên dịch và tải các mã này vào các bảng Arduino tương ứng của chúng.
Các chức năng chính của mã Arduino được giải thích dưới đây:
pinMode ()
Định cấu hình pin được chỉ định để hoạt động như đầu vào hoặc đầu ra. Xem mô tả pin kỹ thuật số cho các chức năng pin chi tiết.
Viết kỹ thuật số( )
Nếu chân được cấu hình là OUTPUT với pinMode (), điện áp của nó sẽ được đặt thành giá trị tương ứng: 5V (hoặc 3,3V trên bảng 3,3V) ở mức CAO, 0V (nối đất) ở mức THẤP.
kỹ thuật số ()
Đọc giá trị từ một pin kỹ thuật số được chỉ định, CAO hoặc THẤP.
có sẵn ()
Lấy số byte (ký tự) có sẵn để đọc từ cổng nối tiếp. Đây là dữ liệu đã đến và được lưu trữ trong bộ đệm nhận nối tiếp (chứa 64 byte). có sẵn () kế thừa từ lớp tiện ích Stream.
bắt đầu ()
Đặt tốc độ dữ liệu theo bit trên giây (baud) để truyền dữ liệu nối tiếp. Để liên lạc với máy tính, hãy sử dụng một trong các mức sau: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 hoặc 115200. Tuy nhiên, bạn có thể chỉ định các mức giá khác. Ví dụ, để giao tiếp qua các chân kỹ thuật số 0 và 1 của Arduino yêu cầu tốc độ truyền cụ thể.
println ()
In dữ liệu sang cổng nối tiếp dưới dạng văn bản ASCII có thể đọc được của con người, theo sau là ký tự trả về vận chuyển.
Tải mã nguồn
Xây dựng và thử nghiệm
Bố trí PCB của thiết bị phát được hiển thị trong Hình 5 và bố trí các thành phần của nó trong Hình 6. Tương tự, bố trí PCB của thiết bị thu được hiển thị trong Hình 7 và bố trí các thành phần của nó trong Hình 8.
Hình 5: Bố trí PCB của thiết bị phát
Hình 7: Bố trí các thành phần cho PCB trong Hình 5
Hình 7: Bố trí PCB của bộ thu
Hình 8: Bố trí các thành phần cho PCB trong Hình 7
Tải xuống PCB và bố cục thành phần PDF: bấm vào đây
Sử dụng hai động cơ DC 50 vòng / phút cho các bánh xe của robot, một cho bánh xe bên phải và một cho bánh xe bên trái. Một bánh xe thầu dầu có thể được sử dụng làm bánh trước của robot. Sử dụng một động cơ DC 50 vòng / phút khác cho cánh tay nâng vật.
Kết nối pin 9V với cả hai bộ phát và bộ thu. Kết nối pin 12V cho động cơ DC trong bộ thu.
Bật cả hai bộ phát và bộ thu. Nếu đèn LED trạng thái của cả BT1 và BT2 bắt đầu nhấp nháy hai lần mỗi giây, điều đó có nghĩa là cả hai thiết bị được kết nối với nhau. Bây giờ bạn có thể nhấn bất kỳ công tắc nào trên bộ phát để điều khiển robot. Switch S6 được sử dụng để nâng hoặc cắt đối tượng. Công tắc S1 đến S5 được sử dụng cho các chuyển động khác nhau của robot.