CHƯƠNG 4 TÍNH TỐN, THIẾT KẾ MƠ HÌNH LÁI XE
4.5 Xây dựng bộ điều khiển mơ hình lái xe
4.5.1 Ghép nối mạch điều khiển và phần mềm mô phỏng
- Phần mềm và phần cứng cần ghép nối ở đây là phần mềm TVN Volants và mạch điều khiển Arduino Leonardo. Nguyên lý làm việc giữa phần cứng và phần mềm: khi cho khởi chạy một trò chơi đua xe đã được kết nối với TVN Volants, trạng thái của chiếc xe trong game chính là tín hiệu đầu vào đưa vào phần mềm TVN Volants. Từ các tín hiệu đầu vào này, TVN Volants sẽ phân tích, tính tốn dựa trên những cài đặt từ trước để nhận được tín hiệu, các lực cần mơ phỏng, sau đó gửi các tín hiệu này đến mạch điều khiển Arduino qua cổng USB.
- Chúng ta cần chuẩn bị thêm một số linh kiện, và đấu nối chúng vào board mạch như sau :
Chân số 2, 3 lần lượt nối với kênh A và kênh B encoder, để làm volant (chân nào cũng được, khi test bị ngược chiều thì đảo lại).
Chân A0, A1, A2 lần lượt nối với chân giữa của mỗi biến trở để làm các bàn đạp ga, côn, phanh (biến trở tầm 20k).
Chân số từ 4 đến 12 và chân A3, A4, A5 sẽ nối vào lần lượt mỗi chân của contact bấm, dùng cho đèn, cịi, cam, hộp số... tất cả có 12 chân, nối được cho 12 contact.
Chân cấp nguồn + của encoder, một chân ngoài của mỗi biến trở (chân ngoài nào cũng được, khi test bị ngược chiều thì đảo lại), nhập làm một mối, nối đến chân 5V trên board.
Chân GND của encoder, chân còn lại của các biến trở, chân còn lại của các contact bấm, tất cả nhập làm một mối, nối đến chân GND trên board.
- Cần nối đủ encoder và 3 biến trở. Riêng các contact để sau cũng được, cần đến đâu nối đến đó.
83 Encoder.
Biến trở. Contact bấm.
- Quy trình thực hiện:
Bước 1: Cắm board vào cổng USB, cài đặt Driver cho board Arduino: Vào thư mục UnojoyWin chạy UnoJoyDriverInstaller.exe.
- Rồi khởi động trình Arduino IDE đã tải ở trên (chạy file Arduino.exe).
Bước 2: Xác định cổng COM nào đã kết nối trên PC: Trên windows > vào Device Manager > Ports (Com & LPT) > Arduino (COM…); ví dụ: là Arduino (COM1) có nghĩa là board Arduino đang nối vào cổng COM1 trên PC.
Bước 3: Chọn cổng COM tương ứng cho Arduino IDE: Trên IDE > Tools > Serial Port > COM1.
Bước 4: Chọn đúng dòng board Arduino trên Arduino IDE: Trên IDE > Tools > Board > Arduino Uno.
Bước 5: Mở file code trên Arduino IDE: Trên IDE > File > Open > chọn mở file code đã tải về ở trên, tại đường dẫn: UnojoyWin \ UnoJoyArduinoSample \ UnoJoyArduinoSample.ino.
Bước 6: Nạp code cho board mạch : trên Arduino IDE > Bấm dấu check (verify) để biên dịch > rồi bấm Upload (biểu tượng mũi tên nằm ngang, thứ 2 từ bên trái) để nạp. Khi nạp xong sẽ có thơng báo (lưu ý, bước này là nạp file hex cho chip ứng dụng ATmega328).
- Đối với một ứng dụng thông thường, dùng board Arduino để điều khiển trực tiếp các thiết bị ngoại vi khác (động cơ, LCD, mạch wifi ...) thì qua 6 bước như vậy là xong.
- Nhưng với ứng dụng này, chúng ta muốn dùng Arduino giao tiếp với PC, cần PC nhận nó là một gamepad thì phải qua thêm một bước nữa.
84
- Có thể hiểu board Arduino bao gồm phần cứng và phần mềm, và giờ ta thay phần mềm khác cho nó, bản thân Arduino trở thành một thiết bị khác, làm nhiệm vụ khác.
Bước 7: Thay file hex khác cho chip giao tiếp Atmega 16u trên board Arduino:
- Dùng dây dẫn điện cho chạm chân GDN lên chân Reset, tại cụm đầu nối ICSP1 (2 chân đánh dấu đỏ), gọi là set mode DFU cho board mạch Arduino.
- Vào thư mục UnoJoyWin đã tải về, chạy file TurnIntoAJoystick.bat để nạp file hex mới cho chip giao tiếp.
- Sau khi nạp xong, bạn rút và cắm lại dây USB, lúc này PC sẽ nhận board Arduino là một Gamepad.
4.5.1.1 Liên kết và quản lý game trên phần mềm TVN Volants. [7]
- Trước tiên, để có thể thực hiện được q trình mơ phỏng, cần phải cài đặt game đua xe cho phép liên kết với phần mềm TVN Volants và kết nối với phần mềm. Phần mềm TVN Volants là một phần mềm mơ phỏng đa năng, có thể mơ phỏng được nhiều ứng dụng trong đó có thể kể tới các ứng dụng thu hút nhiều người quan tâm như Race 07, Racing room, Live for speed, Dirt, Euro Truck Simulator 2,. . . Trong phần này, nhóm đồ án sẽ sử dụng ứng Euro Truck
85