Mục lục:

Bộ điều khiển trò chơi lapcade: 6 bước (có hình ảnh)
Bộ điều khiển trò chơi lapcade: 6 bước (có hình ảnh)

Video: Bộ điều khiển trò chơi lapcade: 6 bước (có hình ảnh)

Video: Bộ điều khiển trò chơi lapcade: 6 bước (có hình ảnh)
Video: Sự Tiến Hoá của Zombie 2024, Tháng sáu
Anonim
Bộ điều khiển trò chơi điện tử
Bộ điều khiển trò chơi điện tử

Tôi không phải là một game thủ. Khi tôi còn là một đứa trẻ, tôi thích xem chúng hoạt động như thế nào hơn là chơi chúng. Tôi có thể đếm trên một mặt số lượng trò chơi điện tử mà tôi thường xuyên chơi. Nói như vậy, sẽ rất dễ để ai đó cảm thấy kỳ quặc khi tôi dành thời gian để chế tạo một bộ điều khiển arcade. Tuy nhiên, nó là một trong những dự án yêu thích của tôi cho đến nay. Ngoài thách thức về thiết kế, viết mã và xây dựng, nó còn là lời nhắc nhở về một thời kỳ đã qua của những nút bấm và cần điều khiển cơ học vững chắc.

Thời của Arcade đã qua rồi nhưng bạn vẫn có thể có cảm giác của một game arcade cổ điển ngay trong phòng khách của chính mình. Vì vậy, ở đây tôi giới thiệu cho bạn Lapcade. Nếu bạn giống tôi và thích xây dựng công cụ hơn là chơi, bạn có thể thích công trình này. Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào không có trong phần "ý tưởng cho phiên bản 2" bên dưới, vui lòng để lại bình luận.

Bước 1: Tổng quan

Tổng quat
Tổng quat
Tổng quat
Tổng quat

Đây là thứ gì?

Trước tiên, hãy lưu ý những gì không phải là Lapcade:

  • Nó không phải là một máy chơi game.
  • Nó không có trò chơi cũng như không có khả năng tải và chơi trò chơi.
  • Nó không kết nối với TV hoặc màn hình.

Lapcade là một bàn phím Bluetooth. Không hơn không kém.

Tôi đưa ra điều này bởi vì đã có một số nhầm lẫn xung quanh điểm này. Tôi đã có rất nhiều câu hỏi về những trò chơi nào có thể được tải trên nó và loại giao diện video mà nó sử dụng - nó không thể và không! Nó hoàn toàn phụ thuộc vào PC mà bạn kết nối với nó và về mặt đó, bầu trời là giới hạn. Nếu thiết bị của bạn có thể chấp nhận bàn phím Bluetooth, thì Lapcade sẽ hoạt động với bàn phím đó. Tôi chưa thử nhưng tôi đã thấy các dự án khác đã sử dụng EZ-Key (được mô tả bên dưới) được kết nối với các thiết bị cầm tay. Vì vậy, về mặt lý thuyết, bạn có thể kết nối thiết bị này với bất kỳ máy tính nào chạy Windows, Linux, ChromeOS, MAC, v.v. cũng như Raspberry Pi, Android, iOS và các máy khác hỗ trợ Bluetooth v2.1. Tuy nhiên, việc sửa đổi mã khóa có thể được yêu cầu.

Phiên bản trước 1

Ban đầu, tôi tìm thấy một sản phẩm có tên Adafruit Bluefruit EZ-Key bluetooth HID (Thiết bị giao diện người - bàn phím nghĩ) cho phép tôi kết nối các nút clicky quen thuộc và gửi các tổ hợp phím giống như bàn phím. Khi lần đầu tiên tôi tạo ra một bộ điều khiển dựa trên EZ-Key, tôi đã làm theo một số hướng dẫn để xây dựng một bộ điều khiển đơn giản và thẳng thắn và nó hoạt động rất tốt. Tôi đã sử dụng bộ điều khiển trong một khung gỗ nặng mà không có vấn đề gì trong vài tháng. Tuy nhiên, bạn bị giới hạn ở 12 đầu vào và không có cách nào để thay đổi mã khóa do thiết bị truyền đi mà không lập trình lại các chân đầu vào EZ-Key.

Khi tôi đang sử dụng trung tâm đa phương tiện Kodi của mình để hiển thị các trò chơi đã cài đặt, tôi muốn chuyển đổi giữa điều khiển trung tâm đa phương tiện và chơi trò chơi mà không cần phải sử dụng nhiều bộ điều khiển / điều khiển từ xa. Tôi cũng muốn điều chỉnh thiết bị để con trai thuận tay trái của tôi có thể sử dụng nó theo ý muốn.

Tôi cũng đang sử dụng 4 pin AA để cấp nguồn cho thiết bị và khi ra khỏi hộp, nó dường như không có chế độ năng lượng thấp. Pin sẽ bị hút khô trong một hoặc hai ngày ngay cả khi nó không được sử dụng.

Vì vậy, theo sự thúc giục của một người bạn của tôi, tôi quyết định xây dựng một phiên bản có thể lập trình của cùng một bộ điều khiển có thể thay đổi chế độ nhanh chóng, cho phép tôi sử dụng cùng một thiết bị để điều khiển nhiều ứng dụng, cũng có thể được "lật" cho tay trái. sử dụng và trong một hộp đựng máy tính xách tay ít hơn nhiều so với giải pháp 10 lb hiện tại của tôi.

Đã đến lúc nâng cấp.

Mục tiêu của DesignProject Phiên bản 1:

  • Linh hoạt
  • Có thể sạc lại
  • Đối với những người thuận chân và chính nghĩa
  • Không có dây
  • Trọng lượng nhẹ

Tôi muốn thiết kế mới này phải linh hoạt. Các điều khiển cần có thể thay đổi nhanh chóng mà không cần phải lập trình lại các thành phần mỗi khi cần thực hiện kiểm tra hoặc thay đổi. Điều này có nghĩa là cần phải có một giao diện trên bộ điều khiển để chọn "chế độ" hoạt động. Mỗi nút và vị trí cần điều khiển sẽ cần có các mã phím khác nhau được liên kết với nó. Những điều khiển tương tự cũng sẽ cần được sử dụng để chọn các chế độ khác nhau.

EZ-Key không thể lập trình trực tiếp trong thời gian thực nên giải pháp tiếp theo sẽ là sử dụng bộ điều khiển như Arduino để quản lý chức năng. EZ-Key sẽ chỉ được sử dụng để truyền các mã khóa tới PC qua Bluetooth. Tôi đã chọn Arduino Pro Mini do nó tương thích trực tiếp với UNO (mà tôi đã có kinh nghiệm) và do kích thước nhỏ gọn của nó.

Tôi không muốn xử lý pin với hộp mới này giống như tôi đã làm với người tiền nhiệm của Lapcade, vì vậy, tôi đã chọn sử dụng pin sạc Lithium Polymer và bộ sạc / bảng cung cấp. Điều này có nghĩa là tôi chỉ có thể sử dụng bộ sạc USB tiêu chuẩn. Điều đó cũng có nghĩa là tôi sẽ không phải mở vỏ mỗi khi pin hết. Cả EZ-Key và PowerBoost 500C đều có các chỉ báo cần được chuyển lên đầu bộ điều khiển để biết trạng thái ghép nối và chỉ báo pin yếu. Tôi đã thêm một số đèn LED vào thiết kế để tôi có thể phản ánh các chỉ báo trạng thái hữu ích này cho người dùng trong quá trình vận hành.

Khi quá trình thử nghiệm thiết kế của tôi chín muồi, tôi phát hiện ra rằng một số ý tưởng ban đầu của tôi không như tôi mong đợi. Ví dụ: chỉ báo LBO trên PowerBoost không hoạt động như mong đợi khi được gắn với bộ vi điều khiển. Nó sẽ cho phép dòng điện đi qua điểm chung từ pin trong khi thiết bị "tắt" hoặc bị vô hiệu hóa, đèn LBO sẽ sáng và vẫn sáng. Những người khác trong diễn đàn Adafruit cũng gặp phải vấn đề này và đưa ra giải pháp tốt hơn trong việc lấy mẫu điện áp pin trực tiếp trên đầu vào tương tự. Một khi điện áp giảm xuống một mức nhất định, đó là thời điểm để cho người dùng biết rằng pin sắp ngừng hoạt động.

Bước 2: Những gì bạn cần

Danh sách bộ phận điện tử

Điều này trở thành một bản dựng khá phức tạp. Bạn không nhất thiết phải sử dụng các bộ phận giống như tôi đã làm nhưng nếu bạn sử dụng một bộ phận thay thế, hãy đảm bảo rằng bạn hiểu cách nó sẽ tương tác với các mạch và mã khác. Mặc dù tôi sẵn lòng đưa ra các đề xuất, nhưng tôi không thể giúp gỡ rối mã hoặc sự cố cho các cấu hình khác nhau.

1 Arduino Pro Mini 5V - Tôi thích Pro vì nó nhỏ gọn. Bạn có thể sử dụng bất kỳ bảng tương thích pin / ngắt Uno nào với mã được cung cấp

1 Adafruit Bluefruit EZ-Key bluetooth HID - Như đã mô tả ở trên, đây là bluetooth HID cho phép truyền mã khóa đến máy tính chủ.

1 MCP23017 - Bộ mở rộng cổng vào / ra i2c 16 - Chip này được sử dụng để thêm 16 đầu vào khác cho Arduino thông qua giao thức truyền thông I2C

1 Adafruit PowerBoost 500 + Charger - Đây là bảng điều khiển nguồn để cấp nguồn cho Lapcade và sạc LiPo

1 pin Litium Polymer (Tôi đã sử dụng 2500mAh, nhưng bạn có thể sử dụng dung lượng cao hơn / thấp hơn)

1 Cần điều khiển trò chơi 8 chiều - Vui lòng xem phần "suy nghĩ cho phiên bản 2" bên dưới liên quan đến các cần điều khiển

9 Nút đẩy Arcade - Các loại màu và bản in màn hình

2 Nút nhấn thoáng qua được chiếu sáng - Tôi đã sử dụng 2 nút này cho các nút Trung tâm 4 và 5 và là từ Adafruit: Đỏ (Trung tâm 4), Xanh lam (Trung tâm 5)

1 Nút nhấn chốt được chiếu sáng Tôi đã sử dụng nút này cho nút nguồn từ Adafruit: Màu xanh lá cây

2 đèn LED Được sử dụng để tham chiếu tín hiệu ghép nối và pin yếu. Tôi đã sử dụng hai phần RadioShack 2760270 và 2760271

1 màn hình LCD 16 x 2

1 ba lô I2C / SPI LCD - Được sử dụng để giao tiếp I2C với màn hình 16x2.

1 Cáp mở rộng USB Mount Panel - Được sử dụng để mở rộng đầu nối USB micro-b của PowerBoost vào tường tủ.

1 PCB Breadboard kích thước đầy đủ Adafruit Perma-Proto - Không cần thiết nhưng giúp việc gắn cố định trở nên dễ dàng hơn rất nhiều.

5 Điện trở 220 Ohm

7 điện trở 1K Ohm

2 Điện trở 2,2K Ohm

1 Điện trở 4,7K Ohm

18 # 10 Đầu nối Spade dành cho Nữ - Để kết nối với các điểm tiếp xúc của nút arcade. Nên hàn quá kỹ vì các nút cuối cùng sẽ bị mòn.

Dây hookup 22 khổ - Tôi đã sử dụng dây hookup chắc chắn thay vì mắc kẹt để quản lý dây đứng tự do. Điều này hoàn toàn dành cho mục đích trình diễn và không được khuyến khích vì dây rắn giòn và dễ bị đứt.

Các mục sau không bắt buộc nhưng sẽ giúp việc thay thế đơn giản hơn và trong trường hợp bạn nâng cấp linh kiện, hãy thay thế dễ dàng hơn:

  • Ổ cắm IC - dành cho chip 28 chân 0,3"
  • Ổ cắm IC - cho chip 28 chân 0,6"
  • Tiêu đề 0,1 "dành cho nữ (ít nhất 1 tiêu đề 36 pin)

Bộ phận tủ:

  • 3 tấm bạch dương 12 x 24 1/8 inch
  • 1 bảng điều khiển acrylic trong suốt 12 x 24 1/8 inch

Các tập tin:

  • Lapcade V1.xlsx - Bảng tính được đề cập bên dưới có các kết nối mạch.
  • LapcadeV1-code.zip - Tệp zip chứa mã Arduino được viết cho dự án này.
  • Lapcade_v1.zip - Tệp zip chứa các bản vẽ svg cho tủ.
  • LapcadeV1-Circuit_Diagram_Large.zip - Tệp zip chứa phiên bản độ phân giải cao của sơ đồ mạch fritzing được hiển thị bên dưới.

Liên kết đến các tài nguyên khác:

  • Tài liệu EZ-Key Adafruit Bluefruit
  • Tài liệu Adafruit PowerBoost 500 +
  • Tài liệu về Ba lô LCD I2C / SPI
  • Tài liệu về bộ mở rộng cổng I2C MCP23017
  • Thư viện Arduino Adafruit MCP23017

Bước 3: Lắp ráp - Tủ

Assembly - Nội các
Assembly - Nội các
Assembly - Nội các
Assembly - Nội các
Assembly - Nội các
Assembly - Nội các
Assembly - Nội các
Assembly - Nội các

Tôi muốn có một hộp trọng lượng rất nhẹ mà cũng có thể đập. Không quá kỳ lạ với các vật liệu, nhẹ tương đương với mỏng và mỏng thường tương đương với giòn. Người dùng chính của Lapcade có thể là cậu con trai nhỏ của tôi, người thích "nhấn" các nút và "điều hướng" phím điều khiển với sự nhiệt tình tột độ. Mặc dù anh ấy giỏi về việc không làm rơi mọi thứ, nhưng anh ấy đã cố gắng làm mòn các công tắc vi mô công nghiệp trong một cần điều khiển trong vòng vài tháng.

Để khắc phục vấn đề này và vì Lapcade rộng 20 , thiết kế của tôi đã thêm hai đường gân dọc giữ chặt các cạnh trên và trái và phải. Trong quá trình lắp đặt khô, thiết kế có thể chịu được 70 lbs sách đặt trên đó. Sau khi được dán, Hộp trở nên bền hơn nữa. Sau khi nhận các vật liệu đã cắt, ban đầu tôi tháo lắp tất cả các tấm lại với nhau để đảm bảo chúng hoạt động tốt. Sau đó tôi chà nhám nhẹ chúng và phủi bụi trong không khí. Tôi dùng keo dán gỗ để gắn các mảnh lại với nhau.

Những cuốn sách trong các bức ảnh dưới đây được đặt để tạo áp lực lên các miếng mới dán cho đến khi chúng se lại. Sau khi keo đóng rắn, tôi chà nhám các cạnh. Thiết kế của tôi cố ý bù đắp các tấm để chúng nhô ra một chút ở các góc. Điều này sẽ cho phép tôi làm tròn các góc trong quá trình chà nhám mà không bị dính quá nhiều vào khớp.

Sau khi làm sạch bề mặt, sau đó tôi phủ một số lớp polyurethane - để bảo dưỡng giữa các lớp sơn. Kết quả là một hộp gỗ nhẹ với nắp đáy bằng acrylic. Ban đầu tôi muốn có một chiếc hộp hoàn toàn trong suốt nhưng khi anh ấy gửi cho tôi các bộ phận "thử nghiệm" của bạch dương, tôi ngay lập tức đổi ý. Nó không chỉ nhẹ hơn mà còn là một sự bổ sung tuyệt vời cho ý tưởng chơi game nội các. Các tệp svg ở bên dưới.

Xin lưu ý: Đây là bản vẽ nhiều lớp và mỗi lớp đại diện cho một tập hợp các vết cắt trên một tấm vật liệu. Khi gửi bản in đến máy cắt của bạn, hãy đảm bảo rằng tất cả các lớp khác được ẩn trước khi cắt.

Một lưu ý khác: Khi tôi vẽ vùng cho màn hình LCD, tôi đã sử dụng màn hình mà tôi có trên tay để đo. Giữa thời gian tôi tạo bản vẽ và sau đó lắp các bộ phận trong vỏ máy, tôi đã sử dụng màn hình LCD ban đầu trong một dự án khác và yêu cầu thay thế. Hóa ra, các lỗ lắp của cái thứ hai hơi khác so với cái ban đầu và quấn không thành hàng. Vì vậy, hãy cẩn thận trước khi cắt vật liệu của bạn để kiểm tra lại xem các bộ phận bạn có vừa với các lỗ trong bản vẽ.

Lưu ý thứ ba: Tôi đã không bao gồm phần cắt cho dây sạc USB trong bản vẽ ban đầu chỉ đơn giản vì tôi không chắc mình muốn đặt nó ở đâu để nó không ảnh hưởng đến việc sử dụng. Sau đó, tôi đã cắt các lỗ cho nó ở phía bên trái rất gần nơi bạn nhìn thấy từ "Lapcade" trong các hình ảnh bên dưới. Phiên bản 2 sẽ có cổng sạc ở một vị trí khác.:)

Bước 4: Lắp ráp - Điện tử

Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử
Lắp ráp - Điện tử

Đầu tiên chúng ta hãy nhìn vào sơ đồ đấu dây ở trên.

Điều đầu tiên cần lưu ý ở đây là nguồn điện và đường ray nối đất của breadboard. Các thanh ray có vạch màu xanh là mặt đất (-) và các thanh ray có vạch đỏ là công suất (+). Đây là tiêu chuẩn nhưng tôi đang lưu ý vì đường dây chung của cần điều khiển (dây đen) được kết nối với nguồn chứ không phải nối đất. Trong Fritzing, tôi đã sử dụng màu dây của cần điều khiển thay vì màu quy ước và nghĩ rằng điều đó có thể gây ra một số nhầm lẫn - vì vậy tốt nhất hãy loại bỏ điều đó.

Kết nối thành phần

Thay vì cố gắng trình bày mọi kết nối ở dạng dài ở đây (chân 0 tương tự Arduino đi qua điện trở 220 ohm đến chân PowerBoost Bat), tôi đã tạo một bảng tính chứa tất cả các kết nối theo quan điểm của thành phần. Vì vậy, trên tab Arduino của bảng tính, bạn sẽ thấy APM A0 -> 2.2K OHM -> PB Bat và trên tab PowerBoost, bạn sẽ thấy PB BAT -> 2.2K OHM -> APM A0. Vui lòng xem phần tài nguyên bên dưới để biết tất cả các tệp được liên kết với dự án này.

Một lưu ý khác về bảng tính là một số thiết bị hiển thị hai cột kết nối. Điều này là để hiển thị nhiều hơn một kết nối với một pin. Ví dụ: mỗi kết nối cần điều khiển ngoại trừ dây chung sử dụng một điện trở kéo xuống để đảm bảo rằng bộ mở rộng cổng nhận được tín hiệu cao hoặc thấp chắc chắn. Để hiển thị điều này cho Cần điều khiển 2, bạn sẽ thấy hai cột cho kết nối, một cột dành cho dây cần điều khiển đến chân MCP 21 và cột còn lại cho kết nối từ chân 21 qua một điện trở nối đất. Tôi chắc rằng có nhiều cách tốt hơn để ghi lại vấn đề này nhưng tôi e rằng bạn đang mắc kẹt với những cách làm của tôi về vấn đề này.:)

Mỗi nút arcade có một tiếp điểm chung (com), một tiếp điểm thường mở (không) và thường đóng (nc). Đối với mỗi nút này, tôi đang sử dụng kết nối com và nc.

Bước 5: Mã

Mã số
Mã số

Đầu tiên và quan trọng nhất, tôi cần cung cấp tín dụng khi nó đến hạn. Tôi dựa rất nhiều vào bài viết sau để viết mã Lapcade:

learn.adafruit.com/convert-your-model-m-keyboard-to-bl Bluetooth-with-bluefruit-ez-key-hid Đặc biệt cảm ơn Benjamin Gould vì một dự án được viết và tài liệu tốt!

Vì vậy, trung tâm của dự án này là một bàn phím. Theo quan điểm của PC, Lapcade chỉ đơn giản là một bàn phím kết nối qua bluetooth, đây là điều mà EZ-Key rất giỏi. Nó sử dụng các giao thức, thời gian và mã Bluetooth phức tạp và đóng gói chúng để tất cả những gì tôi cần làm với arduino là gửi mã khóa cho nó. Để làm điều đó, tôi đã sử dụng các bản đồ mã trong dự án ở trên và các mảng của riêng tôi để tạo các chế độ hoạt động. Mỗi chế độ sẽ thay đổi những gì mà các thao tác nhấn nút tương tự thực hiện trên Lapcade và những gì được gửi đến PC. Có ba chế độ hoạt động "cài sẵn" và tất cả các chế độ sau đó là chế độ ứng dụng.

Chế độ hoạt động

Sau đây tóm tắt các chế độ hoạt động của Lapcade:

  1. Khởi động - Chế độ này kiểm tra kết nối với PC và đặt các biến khởi động. Nếu EZ-Key không được ghép nối với PC thì nó sẽ chuyển sang Chế độ ghép nối
  2. Ghép nối - Trong chế độ này, EZ-Key đang chờ được ghép nối với PC.
  3. Chọn chế độ - Chế độ này cho phép người dùng chọn chế độ ứng dụng để sử dụng. Không có mã khóa nào được gửi đến PC ở chế độ này. Ngoài ra còn có các lựa chọn chế độ nhanh dựa trên chế độ ứng dụng trước đó. Ví dụ nhấn chế độ và sau đó nhấn nút hai trình phát khi ở chế độ Mame player 1 chỉ cần chuyển chế độ mà không cần phải tìm kiếm và chọn Mame Player 2 trên màn hình.

Chế độ ứng dụng

Các chế độ ứng dụng được sử dụng để gửi các mã khóa thích hợp đến máy tính dựa trên ứng dụng mà người dùng đang sử dụng. Ví dụ: ở chế độ Kodi, phím hành động 2 sẽ gửi "P", phím này đang tạm dừng. Trong Mame, nút tương tự sẽ gửi phím Alt bên trái. Nếu ai đó muốn sử dụng bộ điều khiển để chơi Minecraft cho PC, thì tất cả những gì cần làm là thêm các bản đồ mảng thích hợp.

Mỗi ứng dụng cần được xác định trong 4 mảng dữ liệu.

  • mode - Mảng này chứa văn bản sẽ được hiển thị trên màn hình cho mỗi chế độ. Để sử dụng dòng thứ hai của màn hình, chỉ cần đặt dấu ~ trong mảng làm dấu ngắt dòng.
  • keyModes [14] - Mảng ma trận này chứa các mã khóa được gửi đến PC. Mỗi dòng gồm 14 phần tử đại diện cho các nút riêng lẻ để ánh xạ mã khóa.
  • keyModifier [14] - Mảng ma trận này chứa các công cụ sửa đổi mã khóa cho mỗi lần nhấn phím chẳng hạn như giữ phím shift.
  • quickMode [3] - Mảng ma trận này chứa mẫu lựa chọn chế độ nhanh cho chế độ hiện tại.

Hoạt động cơ bản

Khi hệ thống được bật, nó sẽ chuyển sang chế độ khởi động, nơi trạng thái của kết nối Bluetooth được kiểm tra và hiển thị cho người dùng. Arduino nhận trạng thái của EZ-Key từ việc đếm và định thời gian cho các xung từ chân L1 của EZ-Key. Có bốn trạng thái phụ cho chế độ khởi động:

  • Ghép nối - EZ-Key đang ở chế độ ghép nối tích cực chờ gắn vào thiết bị.
  • Đã được ghép nối nhưng chưa được kết nối - EZ-Key đã được ghép nối trước đây nhưng hiện không được kết nối với thiết bị chủ.
  • Đã ghép nối và kết nối - EZ-Key được ghép nối và kết nối đã được thiết lập với máy chủ. Lúc này, hệ thống sẽ chuyển sang chế độ Chọn.
  • Trạng thái không xác định - EZ-Key đang trả về mã không xác định hoặc có nhiễu tín hiệu đang tạo ra dạng tín hiệu không xác định. Hệ thống sẽ giữ và thông báo cho người dùng. Phải khởi động lại nếu điều này xảy ra.

Nếu hệ thống được ghép nối nhưng không thể kết nối với PC, hệ thống sẽ ở trạng thái kết nối ở chế độ khởi động. Nếu người dùng giữ nút thoát trong khi bật thiết bị, nó sẽ bỏ qua kiểm tra kết nối Bluetooth và chuyển sang Chọn chế độ.

Nếu hệ thống chưa được ghép nối trước đó, thì Chế độ khởi động sẽ thành công bằng Chế độ ghép nối. Ở trạng thái này, hệ thống sẽ thông báo rằng nó có sẵn để ghép nối. Sau khi được máy chủ phát hiện và gắn vào, nó sẽ chuyển sang Chế độ Chọn. Có thể hủy ghép nối thiết bị trong Chọn chế độ bằng cách nhấn nút Hành động 1.

Trong Chọn chế độ, các thao tác trên phím điều khiển lên và xuống sẽ di chuyển bạn qua các chế độ ứng dụng có sẵn trên màn hình LCD. Để chọn một trong các chế độ, nhấn nút enter (giữa 5).

Khi ở chế độ ứng dụng, mỗi nút và cần điều khiển sẽ gửi các mã khóa theo sơ đồ bàn phím được chỉ định trong bốn mảng như mô tả ở trên.

Chế độ nhanh

Khi Chế độ ứng dụng đã được chọn, định nghĩa chế độ nhanh của nó sẽ được thiết lập. Nói một cách đơn giản, Chế độ nhanh là Chế độ ứng dụng có thể chọn bằng ba nút trung tâm đầu tiên (Trung tâm 1-3). Ba nút này tương ứng với phần tử mảng trong ma trận.

Ví dụ: trong cấu hình hiện tại, khi sử dụng Mame ở chế độ trình phát 1 (Chế độ 4 hoặc chế độ thứ năm được xác định), sau đó nhấn nút chế độ và sau đó nút trình phát hai tải phần tử mảng quickmode [4] [1] (Arduino sử dụng 0 lập chỉ mục mảng cơ sở) là 5. Sau đó, hệ thống chuyển sang Chế độ ứng dụng 5 là Mame, người chơi 2.

Bước 6: Ý tưởng cho Phiên bản 2

Hiển thị nút - Tôi đoán bạn không thể lên kế hoạch cho mọi thứ nhưng có một ý tưởng thiết kế mà tôi ước mình có sớm cho phiên bản một - bảng LCD nút riêng lẻ. Rõ ràng rất nhanh sau khi xây dựng rằng chỉ biết bạn đang ở chế độ nào không có nghĩa là bạn nhớ từng nút làm gì - đặc biệt là sau khi bạn rời khỏi nó trong vài ngày hoặc vài tháng. Tôi thực sự ước mình đã thêm một số loại màn hình nhỏ trên hoặc trên mỗi nút hiển thị hành động hiện tại của nó. Cái này nằm ở đầu danh sách của tôi cho phiên bản 2.

Cần điều khiển 4 chiều so với 8 chiều - Một điều khác trở nên rõ ràng khi tôi bắt đầu sử dụng cần điều khiển là các trò chơi cũ hơn không có nghĩa là sử dụng cần điều khiển 8 chiều. Trường hợp điển hình là pac-man. Kể từ khi xây dựng bộ điều khiển này, tôi đã phát hiện ra rằng có những cần điều khiển có khả năng chuyển đổi cơ học từ 4 chiều sang 8 hướng. Đúng, trò chơi đó có trong danh sách và nếu bạn đang có kế hoạch chơi các trò chơi thùng cổ điển, thì chỉ cần bỏ qua trò chơi có thể thay đổi được. Tất nhiên, hãy đảm bảo rằng bạn tính đến những thay đổi trong hệ thống dây điện và lập trình dựa trên cần điều khiển mà bạn sử dụng. Dưới đây là một số nhà cung cấp các điều khiển arcade cổ điển:

  • https://www.ultimarc.com/controls.html
  • https://groovygamegear.com/webstore/index.php?main…

Các nút "Flipper" bên phải & bên trái - Phiên bản 2 sẽ thêm một nút vào mỗi bên trái và phải của tủ. Một cách sử dụng có thể là dành cho chân chèo pinball.

Các điều khiển khác - Tôi đang xem xét khả năng tồn tại của việc thêm các điều khiển phổ biến khác như bi xoay và / hoặc con quay vào phiên bản tiếp theo. Vì EZ-Key có khả năng truyền tọa độ chuột nên điều này không quá khó.

Lập trình trên bo mạch - Phiên bản tiếp theo phải có khả năng thêm cấu hình mới mà không cần mở thùng máy. Tôi muốn thêm cái này vào phiên bản 1 nhưng nó đòi hỏi nhiều thời gian và tài nguyên hơn tôi có.

Cuộc thi không dây
Cuộc thi không dây
Cuộc thi không dây
Cuộc thi không dây

Giải nhì cuộc thi không dây

Đề xuất: