Mục lục:

Sử dụng Arduino với bộ điều khiển N64: 5 bước (có hình ảnh)
Sử dụng Arduino với bộ điều khiển N64: 5 bước (có hình ảnh)

Video: Sử dụng Arduino với bộ điều khiển N64: 5 bước (có hình ảnh)

Video: Sử dụng Arduino với bộ điều khiển N64: 5 bước (có hình ảnh)
Video: Tự học Arduino cơ bản | Bài 3 Sử dụng Driver L298N điều khiển động cơ DC 2024, Tháng sáu
Anonim
Sử dụng Arduino với bộ điều khiển N64
Sử dụng Arduino với bộ điều khiển N64

Có những hướng dẫn sử dụng bộ điều khiển NES với Arduino, nhưng việc sử dụng bộ điều khiển N64 phức tạp hơn và cần điều khiển tương tự của nó có một sức hấp dẫn nhất định. Nếu bạn có Arduino xung quanh và không muốn mua Adaptoid, hướng dẫn này sẽ giúp bạn có thể chơi các trò chơi giả lập trong Dự án 64 với Ardunio và bộ điều khiển N64. Điều này có khó không? / Nó có làm hỏng đồ của tôi không? Điều này sẽ không sửa đổi bộ điều khiển của bạn theo bất kỳ cách nào và hệ thống dây điện cực kỳ đơn giản, vì vậy nếu bạn làm mọi thứ cẩn thận sẽ không có rủi ro cho bộ điều khiển của bạn và bạn có thể tháo nó ra bất cứ lúc nào để sử dụng với bảng điều khiển N64. Cần: Arduino - $ 30 Xử lý 1.0 - miễn phí Phần mềmrduino - miễn phí 3 đoạn dây - miễn phí (tôi hy vọng) cáp USB

Bước 1: Đấu dây Bộ điều khiển

Đấu dây Bộ điều khiển
Đấu dây Bộ điều khiển
Đấu dây Bộ điều khiển
Đấu dây Bộ điều khiển
Đấu dây Bộ điều khiển
Đấu dây Bộ điều khiển

Điều đầu tiên bạn cần làm là kết nối Arduino của bạn với bộ điều khiển Bộ điều khiển chỉ sử dụng ba dây dẫn: + 3.3V, tín hiệu và nối đất. Nhìn thẳng vào phích cắm, mặt đất ở xa nhất bên trái, tín hiệu ở giữa và + 3.3V ở bên phải. Sử dụng dây, kết nối đất và + 3.3V với các chân tương ứng trên Arduino và kết nối dây dẫn tín hiệu với chân Kỹ thuật số 2 trên Ardunio. LƯU Ý: Nếu bạn có mã khác trên Arduino, bạn nên ngắt kết nối bộ điều khiển và tải lên mã mới từ trang tiếp theo đến Arduino trước khi cấp nguồn với bộ điều khiển đi kèm. Kết nối Arduino Kết nối cáp USB và Arduino sẽ có nguồn.

Bước 2: Giải nén và chạy mã

Đoạn mã này do tôi viết, với các phần của tệp N64_Arduino dựa trên mã lắp ráp được viết bởi Andrew Brown. ZIP Archives: Hai tệp Zip bên dưới chứa mã cần thiết để chạy Arduino và sau đó để diễn giải dữ liệu mà nó gửi đến máy tính. Tệp N64_Arduino cần được biên dịch trong Arduino IDE và N64_Controller chạy trong Xử lý 1.0. N64_Arduino Tệp PDE này sẽ tải lên Arduino của bạn và chạy mà không gặp trở ngại nào nếu bạn đã kết nối mọi thứ đúng cách. Nó chỉ đơn giản là truy vấn bộ điều khiển N64 để tìm dữ liệu trên các nút và thanh Analog và gửi nó trở lại máy tính qua cổng nối tiếp. Nó đủ dễ dàng để sửa đổi, chẳng hạn, bạn có thể sử dụng các phương thức từ tệp này để truy vấn bộ điều khiển và sử dụng dữ liệu để chạy rô bốt Arduino thay vì truyền nó trở lại máy tính. N64_Controller Đây là dự án Xử lý 1.0 sử dụng dữ liệu được Arduino truyền và chuyển nó thành các phím bấm mà bạn có thể ánh xạ tới một trình giả lập như Project 64. Bạn có thể cần thay đổi dòng String portName = Serial.list () [1]; để khớp với Arduino của bạn, nó phải là Serial.list () [0]; Serial.list () [1]; hoặc Serial.list () [2]; CHỈNH SỬA: Thêm "nhập java.awt. Robot;" "nhập java.awt. AWTException;" "import java.awt.event. InputEvent;" vào mã nếu bạn đang sử dụng Xử lý 1.1N64_Controller_mouse Điều này giống với N64_Controller, ngoại trừ thanh tương tự điều khiển chuột của bạn chứ không phải các phím mũi tên. A và B lần lượt là nhấp chuột phải và trái. Để kích hoạt chuột, hãy nhấn nút bắt đầu trên bộ điều khiển của bạn.

Bước 3: Thiết lập Dự án 64

Thiết lập dự án 64
Thiết lập dự án 64

Trước khi bạn có thể sử dụng bộ điều khiển, Arduino cần được kết nối và chạy mã bạn đã tải xuống ở bước cuối cùng và Xử lý 1.0 cần được mở với chương trình N64_Controller đang chạy. Kiểm tra nó trong Notepad, nhấn nút A sẽ nhập A, B nên nhập B, v.v. Vì vậy, bây giờ bạn có một bộ điều khiển hoạt động (hy vọng) và bạn muốn chơi một số trò chơi. -emu.com/downloads/Set Key Mappings Bắt đầu PJ 64 và mở menu cài đặt trước (Ctrl + T). Thay đổi bộ điều khiển đầu vào thành đầu vào trực tiếp của N-Rage. Mở menu "Định cấu hình Trình cắm bộ điều khiển" và thiết lập ánh xạ bằng bộ điều khiển. Bắt đầu chơi! Bạn đã sẵn sàng để bắt đầu ngay bây giờ! Tải xuống một số ROM và bắt đầu thưởng thức bộ điều hợp N64 homebrew của bạn.

Bước 4: Độ sâu mã Arduino

Độ sâu của mã Arduino
Độ sâu của mã Arduino

Giao thức N64 Các bit được gửi đến và đi từ bộ điều khiển N64 trên giao diện một dây được mã hóa thành xung rộng 4 µs. A '0' thấp 3 µs và cao 1 µs. A '1' thấp 1 µs và cao 3 µs. Mã Arduino trong các phương thức N64_send hoặc N64_receive sử dụng mã lắp ráp theo thời gian rất cẩn thận được viết bởi Andrew Brown để bit-đập dòng dữ liệu để giao tiếp với bộ điều khiển. các khối nop được sử dụng để đợi số lượng µs thích hợp trước khi thăm dò dòng gửi dữ liệu. Khi khởi động, 0x00 được gửi đến bộ điều khiển và sau đó lệnh duy nhất được sử dụng là 0x01 để truy vấn trạng thái của bộ điều khiển. thông tin về phím điều khiển tương tự. Dữ liệu sẽ có dạng 44000000000000400044440044000444. Định dạng của các bit là: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 bit analog vị trí dính. Phương thức translate_raw_data () đi qua 32 bit, chèn chúng vào struct N64_status. 16 bit đầu tiên là 1 hoặc 0 đơn giản, nhưng 16 bit cuối cùng được dịch thành một số nguyên xấp xỉ trong phạm vi (-80, 80) bởi for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16 + i]? (0x80 >> i): 0; } Sau khi dữ liệu ở dạng đơn giản này, bạn có thể dễ dàng làm bất cứ điều gì bạn muốn với nó. Trong trường hợp này, nó chỉ được gửi qua cổng nối tiếp trong phương thức loop () dưới dạng một chuỗi dữ liệu nhị phân với hai số nguyên cho các giá trị x và y. Dữ liệu được gửi qua cổng nối tiếp có thể trông giống như: 0400000000000400 63 -67 có nghĩa là hai nút được nhấn và thanh điều khiển ở 63, -67.

Bước 5: Tham khảo

Người giới thiệu
Người giới thiệu

Dự án của Andrew Brown để tạo bộ điều hợp gamecube sang N64 với Arduino là vô giá khi viết mã cho dự án này:

Các sơ đồ hữu ích có thể được tìm thấy tại đây: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php Thông tin về giao thức độc quyền của bộ điều khiển N64 có thể được tìm thấy tại đây:

Đề xuất: