Mục lục:

Bộ điều khiển trò chơi chèo thuyền USB: 7 bước (có hình ảnh)
Bộ điều khiển trò chơi chèo thuyền USB: 7 bước (có hình ảnh)

Video: Bộ điều khiển trò chơi chèo thuyền USB: 7 bước (có hình ảnh)

Video: Bộ điều khiển trò chơi chèo thuyền USB: 7 bước (có hình ảnh)
Video: Xe máy xúc chạy 2024, Tháng mười hai
Anonim
Bộ điều khiển trò chơi chèo thuyền USB
Bộ điều khiển trò chơi chèo thuyền USB
Bộ điều khiển trò chơi chèo thuyền USB
Bộ điều khiển trò chơi chèo thuyền USB
Bộ điều khiển trò chơi chèo thuyền USB
Bộ điều khiển trò chơi chèo thuyền USB

Con trai tôi đã có một đêm chơi trò chơi điện tử cổ điển cho ngày sinh nhật của nó và vào buổi sáng của ngày hôm đó, tôi quyết định xem liệu tôi có thể tạo một cặp bộ điều khiển trò chơi chèo thuyền USB cho Pong với sự trợ giúp của máy in 3D và thiết bị điện tử từ cửa hàng của tôi hay không. Mặc dù tôi đã xoay sở để chúng hoạt động đúng lúc, nhưng cuối cùng thì mọi người lại quá bận rộn với những trò chơi khác dành cho Pong.

Bộ điều khiển có thể được sử dụng cho Pong với trình giả lập cấp mạch DICE hoặc với phiên bản pygame khá chính xác của tôi, cho các trò chơi Atari 2600 với trình giả lập và cho chức năng giống như Etch-a-Sketch với chương trình vẽ tranh như Tux Paint.

Có ba chế độ có thể chuyển đổi:

  • Mô phỏng paddle Stelladaptor: chúng phải hoạt động với tất cả phần mềm mô phỏng Atari 2600 hỗ trợ Stelladaptor; ở chế độ Stelladaptor, mái chèo hoạt động như cần điều khiển hai nút hai trục, mỗi mái chèo điều khiển một trục và một nút
  • giả lập cần điều khiển kép: mỗi mái chèo hoạt động như một cần điều khiển với một nút (với chuyển động của mái chèo chuyển thành chuyển động trên cả hai trục của cần điều khiển)
  • chuột: mỗi paddle điều khiển một hướng chuyển động cho một con chuột tuyệt đối và các nút là các nút chuột; cùng với chương trình vẽ tranh, bạn có thể có được một thiết bị công nghệ cao tương tự như Etch-a-Sketch.

Quân nhu

Bạn sẽ cần:

  • stm32f103c8t6 viên thuốc màu xanh lam
  • Chiết áp tuyến tính 2x (tôi khuyên bạn nên dùng 20K-100K)
  • Công tắc hiển vi chiều rộng 2x 12mm có nút
  • máy in 3D
  • không sợi (dây tóc, dây điện, thuốc hàn, mỏ hàn, keo nóng)

Bước 1: Chuẩn bị Board và Môi trường Arduino

Chuẩn bị bảng và môi trường Arduino
Chuẩn bị bảng và môi trường Arduino
Chuẩn bị Board và Môi trường Arduino
Chuẩn bị Board và Môi trường Arduino
  1. Hàn sáu chân tiêu đề vào giữa bảng stm32f103c8t6 của bạn.
  2. Kiểm tra điện trở giữa A12 và 3,3V. Nó phải là 1,5K để tương thích với USB đầy đủ hơn. Nhiều bảng có 10K thay thế. Nếu bạn là một trong số đó, lý tưởng nhất là hàn điện trở 1,8K từ A12 đến 3,3V, mặc dù bạn có thể may mắn và máy tính của bạn hoạt động với 10K.
  3. Cài đặt bộ nạp khởi động. Có hướng dẫn trong Bước 2 của Hướng dẫn này. Một điều cần lưu ý là kích thước flash được Trình trình diễn STM báo cáo là như thế nào. Nếu là 32K, bạn có stm32f103c8 giả, có thể là stm32f103c6 được gắn nhãn lại. Dự án này vẫn sẽ hoạt động với điều đó, nhưng hãy lưu ý rằng bạn có bảng giả cho một bước trong tương lai.
  4. Cài đặt Arduino, Arduino Zero và lõi dựa trên libmaple của Roger theo hướng dẫn trong Bước 3 của Hướng dẫn mà bạn đã sử dụng ở bước trước. Bỏ qua hướng dẫn thư viện trong bước đó.
  5. Tải xuống bản phát hành mới nhất của thư viện USB Composite của tôi và giải nén nó trong thư mục Arduino / Libraries của bạn.
  6. Tải xuống bản phác thảo paddlecontrollers của tôi và giải nén nó trong thư mục Arduino của bạn.
  7. Trong Arduino, đi tới Công cụ | Ban | Dòng Generic STM32F103C, trừ khi bạn có bo mạch c6 giả, trong trường hợp này, hãy chọn Generic STM32F103C6 / fake STM32F103C8 để thay thế. Nếu bạn không chắc mình có cái nào, chọn tùy chọn giả thực sự an toàn hơn.

Bước 2: Tải lên

Tải lên
Tải lên

Cắm bo mạch vào bộ điều hợp USB của máy tính, tải bản phác thảo bộ điều khiển mái chèo và nhấp vào nút Tải lên (mũi tên trỏ sang phải). Nếu mọi việc suôn sẻ, bản phác thảo sẽ được tải lên và bảng sẽ hiển thị trên máy tính của bạn dưới dạng cần điều khiển hai nút hai trục có tên "Stelladaptor". Trong Windows, bạn có thể xác minh điều này bằng Windows-R, joy.cpl [enter].

Tất nhiên, điều này sẽ không hiệu quả cho đến khi bạn lắp ráp phần cứng còn lại.

Bước 3: In

In
In
  1. Tải xuống tệp stl và / hoặc scad từ trang Thingiverse của tôi cho dự án này. Xin lưu ý rằng núm cánh khuấy được sửa đổi từ đây.
  2. Nếu chiều rộng vỏ microwitch của bạn khác 12mm, bạn sẽ cần điều chỉnh thông số chiều rộng nút trong tệp paddlemain-standalone.scad. Bạn có thể làm điều đó trong OpenSCAD hoặc trong Thingiverse Customizer.
  3. Bạn có thể cần điều chỉnh các phép đo trong tệp paddleknob.scad để phù hợp với chiết áp của mình.
  4. In các tệp này (chỉ tạo một bản sao của tệp "2x" nếu bạn chỉ muốn một paddle). Tôi đã sử dụng PLA, nhưng ABS cũng sẽ hoạt động tốt.

    • 2x paddlemain.stl
    • 2x paddleknob.stl
    • 1x paddleconverter.stl
    • 1x pcbholdernarrower.stl
    • 2x buttoncap110.stl (tùy chọn)
    • 1x 12.stl (tùy chọn; in màu khác và dán keo để dán nhãn cho hai mái chèo)

Bước 4: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây

Bạn sẽ cần chạy bốn dây từ bảng stm32f103c đến mỗi bộ điều khiển mái chèo. Bạn có thể sử dụng dây USB cũ cho những dây này. Tôi tình cờ có được những sợi dây độc lập đẹp đẽ từ cáp ethernet mà tôi đã buộc lại với nhau bằng màng bọc co lại.

Mỗi cánh khuấy có một microwitch và một chiết áp. Sử dụng đồng hồ vạn năng để xác định một cặp chân liền kề (không phải đường chéo) trên microwitch được kết nối / ngắt kết nối bằng cách nhấn nút. Tôi sẽ gắn nhãn các chân S1 và S2 này trong sơ đồ. Ba chân trên chiết áp tôi đã dán nhãn P1, P2 và P3 từ trên xuống dưới, nhìn từ mặt dưới của chiết áp, với các chân hướng sang phải.

Đẩy bốn dây từ bảng qua lỗ ở mặt bên của vỏ mái chèo (paddlemain.stl).

Khi kết nối dây với microwitch, trước tiên hãy đẩy dây qua các lỗ ở mặt bên của vỏ cánh khuấy và hàn vào công tắc trong khi công tắc nằm ở bên ngoài vỏ. Sau đó, kéo công tắc vào vỏ, làm cho các chân và dây kèm theo nằm gọn trong các lỗ. Tôi cắt bỏ những ghim không cần thiết.

Cả hai mái chèo:

  • P1 đến S1
  • P1 lên bảng 3.3V (3.3)
  • P3 để lên GND (G)

Chèo 1:

  • P2 lên A1
  • S2 lên bảng A2

Chèo 2:

  • P2 lên A3
  • S2 lên bảng A4

Bây giờ hãy kiểm tra các kết nối bằng cách kết nối với máy tính của bạn và sử dụng chương trình kiểm tra cần điều khiển. Trên windows, Windows-R, joy.cpl [enter], chọn Stelladaptor, nhấp vào Thuộc tính. Paddle 1 nên điều khiển trục X và nút đầu tiên; paddle 2 sẽ điều khiển trục Y và nút thứ hai.

Bước 5: Lắp ráp cuối cùng

Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng

Các microwitch có thể được dán (keo nóng đã làm công việc cho tôi) ở vị trí của chúng ở mặt bên của hộp cánh khuấy. Nắp nút có thể được bắt vào, với một chút keo nóng để tạo sự ổn định.

Chiết áp gắn vào lỗ lớn trên đầu hộp cánh khuấy. Núm vặn sẽ trượt và bám vào. Mở rộng lỗ bằng máy khoan nếu cần. Đẩy nắp dưới lên, thêm một chút keo nóng nếu bạn thích.

Bảng thuốc màu xanh dương nằm gọn bên trong nắp trượt PCB, sau đó được vặn vào đáy hộp chuyển đổi, cũng có nắp đậy có thể đậy lên.

Tôi đã thêm một chút Shoe Goo nơi dây nối với vỏ để bảo vệ dây. Và tôi dán nhãn "1" và "2" trên mái chèo.

Bước 6: Phương thức hoạt động

Phương thức hoạt đông
Phương thức hoạt đông
Phương thức hoạt đông
Phương thức hoạt đông

Các mái chèo có ba chế độ hoạt động. Bạn có thể chuyển đổi chế độ hoạt động bằng cách nhấn một tổ hợp các nút cụ thể trong khi cắm chúng vào cổng USB, nhả ra khi đèn LED của bảng ngừng nhấp nháy. Sau khi bạn chuyển đổi chế độ hoạt động, nó sẽ được lưu vào bộ nhớ flash và sẽ ở lại cho đến khi bạn thay đổi nó lần sau. (Vì vậy, nếu bạn không muốn thay đổi chế độ, đừng nhấn bất kỳ nút nào trong khi cắm mái chèo vào cổng USB.) Dưới đây là các tùy chọn:

  • Chỉ nút cánh khuấy bên trái: Một phím điều khiển hai nút hai trục, với mỗi trục và nút được điều khiển bởi một cánh khuấy. Hơn nữa, các mái chèo xác định là một Stelladaptor, một bộ điều hợp USB đã ngừng hoạt động cho bộ điều khiển Atari 2600 và do đó, các trình giả lập Atari 2600 như Stella và Z26 tương thích với Stelladapter sẽ hoạt động hoàn hảo.
  • Cả hai nút paddle: Mỗi paddle hiển thị một cần điều khiển riêng biệt. Cần điều khiển có một nút hoạt động và việc xoay cánh khuấy sẽ di chuyển cần điều khiển theo đường chéo, do đó trục X hoặc trục Y hoạt động đối với cánh khuấy.
  • Chỉ nút paddle bên phải: Các paddle hiển thị dưới dạng chuột tuyệt đối hai nút. Bây giờ bạn có thể sử dụng nó tương tự như Etch-a-Sketch với một chương trình vẽ.

Bước 7: Pong

Pong
Pong
Pong
Pong

Pong là trò chơi chèo thuyền tuyệt vời ban đầu. Tôi khuyên bạn nên sử dụng phiên bản gốc, vì bản sao thường không bao gồm tất cả các chức năng tinh tế đáng yêu, như thay đổi tốc độ với các cú đánh lặp lại, góc thay đổi tùy thuộc vào phần mái chèo đánh bóng hoặc vị trí tinh tế nhưng không dễ đoán trước của cú giao bóng sau khi bỏ lỡ. Để có một phân tích kỹ lưỡng về bản gốc, hãy xem tại đây.

Một trong những cách tốt nhất để chơi Pong là sử dụng trình giả lập cấp mạch DICE nếu máy tính của bạn đủ nhanh để sử dụng nó ở tốc độ tối đa. (Máy tính xách tay Windows của tôi là vậy, nhưng Raspberry PI 3+ quá chậm.) Tôi khuyên bạn nên sử dụng phiên bản 0.8.

Nếu bạn sử dụng chế độ Stelladaptor trong các mái chèo, hãy đi tới Cài đặt | Định cấu hình Đầu vào… trong DICE và chọn Cần điều khiển 1 và Tuyệt đối cho Tay chèo của Người chơi 1, và đặt cả Ngang và Dọc thành Joy 1 X-Axis. Sau đó, làm tương tự cho Người chơi 2 mái chèo, ngoại trừ với trục Y.

Nếu máy tính của bạn quá chậm đối với DICE, tôi đã tạo một phiên bản Python3 + pygame có thời gian và chức năng rất gần với phiên bản gốc của Pong (Tôi rất biết ơn sự giúp đỡ của Tiến sĩ Hugo Holden về vấn đề này).

Đề xuất: