Mục lục:

Cách tải Trò chơi lên Arduboy và 500 Trò chơi lên Flash-cart: 8 bước
Cách tải Trò chơi lên Arduboy và 500 Trò chơi lên Flash-cart: 8 bước

Video: Cách tải Trò chơi lên Arduboy và 500 Trò chơi lên Flash-cart: 8 bước

Video: Cách tải Trò chơi lên Arduboy và 500 Trò chơi lên Flash-cart: 8 bước
Video: How to upload games to homemade Arduboy & 500 games to flash-cart 2024, Tháng bảy
Anonim
Cách tải Trò chơi lên Arduboy và 500 Trò chơi vào Flash-cart
Cách tải Trò chơi lên Arduboy và 500 Trò chơi vào Flash-cart

Tôi đã tạo một số Arduboy tự chế với bộ nhớ Serial Flash có thể lưu trữ tối đa 500 trò chơi để chơi trên đường. Tôi hy vọng có thể chia sẻ cách tải trò chơi vào nó, bao gồm cách lưu trữ trò chơi vào bộ nhớ flash nối tiếp và tạo gói trò chơi tổng hợp của riêng bạn để chơi trên đường.

Bạn có thể xem video youtube này để biết từ đầu đến cuối quá trình tạo và giải thích

Bước 1: Thiết lập Arduino IDE

Nếu bạn chưa quen với Arduino, hãy duyệt đến https://www.arduino.cc để tải xuống Arduino IDE cho hệ điều hành bạn đang sử dụng, ví dụ:windows 10 hoặc Mac OSX hoặc Linux.

Sau đó cài đặt nó.

Bước 2: Tạo cáp USBasp

Không giống như tải mã nhị phân / trò chơi vào bất kỳ bảng Arduino nào, việc lập trình bộ nạp khởi động không thể được thực hiện thông qua cổng USB.

Để ghi bộ nạp khởi động tùy chỉnh (Cathy3K) vào chip Atmega32U4, bạn cần có một lập trình viên USBasp. Tuy nhiên, tác phẩm của chúng tôi hoạt động ở 3.3V, chúng tôi cần phải sửa đổi thêm trình lập trình USBasp để hoạt động ở 3.3V.

Tham khảo dự án có hướng dẫn sau để sửa đổi bộ lập trình USBasp của bạn để hoạt động ở cả 3.3V hoặc 5V thông qua cài đặt jumper.

www.instructables.com/id/Modify-a-5V-USBasp-Arduino-Bootloader-Programmer-t/

Sau đó làm theo cách bố trí chân và video để tạo cáp chương trình USBasp to ArduBaby. cáp USBasp gốc đi kèm với USBasp có hai đầu nối, mỗi đầu 10 chân. Chúng tôi sẽ cắt đôi cáp này và kết nối đầu cắm đực 6 chân với một đầu trong khi vẫn giữ đầu kia kết nối với bảng USBasp ở 10 chân.

Đầu còn lại này sẽ kết nối các chân GND, VCC, MOSI, MISO, SCK, Reset từ USBasp đến các chân tương ứng của ATmega32U4 thông qua tiêu đề đực kết nối với sáu chân đầu tiên của tiêu đề cái trên Ardubaby (phiên bản của tôi Arduboy tự chế). Phiên bản của bạn có thể có bố cục ghim khác nhau. Bạn có thể tham khảo video của tôi để thay đổi thiết kế cho phù hợp với phiên bản Arduboy tự chế của bạn.

Để thực hiện chương trình hoặc ghi bộ nạp khởi động vào ATmega32U4, bạn sẽ tháo nút mũ và cắm vào cáp USBasp 6 chân này.

Đảm bảo bạn đánh dấu rõ ràng chân cắm nào là chân cắm trên đầu cáp để không kết nối sai. Khi tôi thiết kế bố trí chân cắm cho đầu mũ nút Ardubaby, tôi đã cố gắng sắp xếp các chân cắm sao cho ngay cả khi bạn đã hoán đổi chân số 1 với chân số 13, nguồn điện -ve sẽ không vô tình gặp nguồn điện + ve để tránh hư hỏng. Tuy nhiên, bạn không bao giờ biết được, những điều khác có thể xảy ra vẫn có thể làm hỏng bộ dụng cụ của bạn nếu bạn kết nối không đúng hướng.

Tôi sẽ đốt một lỗ nhỏ để đánh dấu nó trên tiêu đề bằng cách sử dụng đầu của sắt hàn.

Bước 3: Ghi Bootloader

MR. Blinky đã tạo gói Arduboy-homemade cho Arduboy tự chế.

Gói của anh ấy bao gồm các trình điều khiển bảng và thư viện Arduboy hoạt động với các phiên bản khác nhau của Arduboy gốc cũng như các phiên bản do anh ấy tự làm.

1. Duyệt đến thư mục MR. Blinky’s GitHub cho Arduboy tự chế. https://github.com/MrBlinky/Arduboy-homemade-package 2. Làm theo hướng dẫn trên GitHub để định cấu hình Arduino IDE của bạn với gói tự chế. 3. Đầu tiên sao chép url của “Trình quản lý bảng bổ sung” cho gói Arduboy tự chế.

4. Khởi động Arduino IDE. Nhấp vào Tùy chọn từ menu trên cùng của Arduino. Dán văn bản này vào “URL trình quản lý bảng bổ sung” Lưu ý: Nếu bạn đã có văn bản khác trên trường này, hãy chèn văn bản bổ sung này vào đầu, sau đó thêm dấu “,” và giữ nguyên văn bản khác. 5. Thoát Arduino IDE và khởi động lại IDE để thay đổi trên có hiệu lực. 6. Nhấp vào Công cụ -> Hội đồng quản trị: -> Quản lý hội đồng quản trị. Nhập tự chế để tìm kiếm. Chọn cài đặt gói Arduboy tự chế của Mr. Blinky. Sau đó bấm cập nhật để nhận phiên bản mới nhất. Gói này sẽ được thêm vào Arduino. 7. Bây giờ chọn Công cụ-> Bảng: “Arduboy nhà làm. và chọn các thông số sau cho Arduboy tự chế”Dựa trên:“SparkFun Pro Micro 5V - Dây tiêu chuẩn”Core:“Arduboy Optimized core”Bootloader:“Cathy3K”Lập trình viên: USBasp 8. Tắt Ardubaby và tháo nút mũ. 9. Đặt jumper trên USBasp thành 3.3V. Đảm bảo rằng bạn đang sử dụng USBasp đã sửa đổi hoạt động hoàn toàn ở 3.3V. 10. Kết nối USBasp với cổng USB của máy tính. Kết nối cáp USBasp với ArduBaby đặc biệt vào USBasp và đầu còn lại với đầu nút mũ của Ardubaby, xếp thẳng hàng chân 1 đến chân 1. Chỉ 6 chân đầu tiên của Ardubaby được sử dụng để ghi bộ nạp khởi động.

11. Ardubaby của bạn sẽ được bật ngay bây giờ thông qua nguồn 3,3V do USBasp cung cấp. 12. Nhấn nút đặt lại của ArduBaby một lần. 13. Nhấp vào nút Tools-> Boards-> Burn Bootloader trên Arduino IDE. 14. Kiểm tra thông báo để xem quá trình ghi bộ nạp khởi động có thành công hay không. 15. Nếu không, hãy kiểm tra cáp và đảm bảo bạn kết nối các chân theo đúng hướng và xếp thẳng hàng chân 1 với chân 1. Đôi khi, Ardubaby sẽ bắt đầu chơi trò chơi trước đó nếu menu khởi động hết thời gian. Vì vậy, bạn cần nhấp nhanh vào nút Burn bootloader ngay sau khi bạn nhấn nút đặt lại để đặt Ardubaby ở chế độ chờ flash. 16. Nếu mọi thứ đều tốt, ArduBaby sẽ khởi động lại và bạn sẽ thấy menu khởi động hoặc trò chơi trước đó bạn đã tải vào ArduBaby.

Bước 4: Biên dịch và tải lên các trò chơi đơn lẻ lên Arduboy

Trò chơi cho Arduboy có thể được tải xuống từ các nguồn sau:

Diễn đàn cộng đồng Arduboy dành cho trò chơi:

Tìm kiếm GitHub trên "trò chơi Arduboy" https://github.com/topics/arduboy-game hoặc chỉ cần tìm kiếm "trò chơi arduboy GitHub" trên google.

Bộ sưu tập trò chơi được chia sẻ bởi những người khác. ví dụ. Bộ sưu tập Arduboy của Erwin

arduboy.ried.cl/

Bạn có thể tải mã nguồn của trò chơi mà bạn tải lên Arduino và tải lên Arduboy. Xem video về cách điều này được thực hiện.

hoặc chỉ là tệp hex (tệp nhị phân được biên dịch nhưng được trình bày dưới dạng số Hex in ra tệp văn bản thay vì tệp nhị phân).

Đối với mã nguồn, chỉ cần mở mã nguồn trong Arduino IDE.

Mã nguồn, ví dụ: picovaders.ino cần được lưu trữ trong một thư mục cùng tên, ví dụ: picovader

Các thư viện Arduboy2 bắt buộc phải được cài đặt ở bước trước, nơi chúng tôi tải trình quản lý bảng cho gói Arduboy tự chế.

Chỉ cần kết nối Arduboy với cổng USB của máy tính của bạn.

Bật nó lên, sau đó nhấp vào nút Tải lên trên Arduino IDE để biên dịch và tải mã lên Arduboy để chơi trò chơi.

Bước 5: Tải lên các tệp Hex đơn

Tệp Hex là một tệp văn bản chứa các mã nhị phân là kết quả của việc biên dịch chương trình Arduino của bạn (bản phác thảo), nhưng được biểu diễn ở định dạng tệp văn bản sử dụng hai chữ số thập lục phân 0-9, A-F.

Bạn có thể lấy các tệp hex này theo nhiều cách khác nhau.

1. Chúng tôi có thể tải xuống tệp hex từ các nguồn khác nhau mà chúng tôi đã giải thích ở trên:

community.arduboy.com/c/games Bộ sưu tập trò chơi Arduboy của Erwin

Tìm kiếm "trò chơi Arduboy" trên GitHub.com hoặc trên google.com

Lưu các tệp hex này thành các tệp có phần mở rộng là.hex.

2. Ngoài ra, bạn có thể tạo tệp hex của riêng mình.

Trong Arduino IDE, chọn Sketch> Export Compiled Binary. Bản phác thảo của bạn sẽ được biên dịch, sau đó một bản sao của tệp.hex đã biên dịch sẽ được xuất vào thư mục của bản phác thảo của bạn. Duyệt đến thư mục phác thảo hoặc trong IDE, chọn Sketch> Show Sketch Folder để xem tệp hex. Nếu bạn đã cài đặt gói tự chế của MR. Blinky, hai phiên bản của tệp.hex sẽ được tạo. Ví dụ: nếu bạn biên dịch xiên picovaders.ino, hai tệp.hex sau sẽ được tạo.

picovaders.ino-arduboy-promicro-ssd1306.hex picovaders.ino with_bootloader-arduboy-promicro-ssd1306.hex

Chúng tôi sẽ sử dụng tệp đầu tiên: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Để tải tệp hex lên Arduboy, bạn cần sử dụng trình tải lên. Có rất nhiều trên internet. Tôi thích sử dụng trình tải lên của MR. Blinky vì nó đơn giản để sử dụng.

Duyệt đến https://github.com/MrBlinky/Arduboy-Python-Utilities và làm theo hướng dẫn ở đó để cài đặt các tiện ích Arduboy Python của MR. Blinky. Nếu bạn chưa cài đặt python, trước tiên bạn cần làm theo hướng dẫn để cài đặt python và các mô-đun python được yêu cầu.

4. Kết nối Arduboy với cổng USB của máy tính của bạn. Bật Arduboy.

5. Khởi động chương trình shell trong hệ điều hành của bạn, ví dụ: ứng dụng đầu cuối trong Mac OSX hoặc dấu nhắc lệnh trong cửa sổ để nhập các lệnh sau để tải tệp hex lên Arduboy. Lấy picovaders.ino phác thảo trước của chúng tôi làm ví dụ.

python uploader.py picovaders.ino-arduboy-promicro-ssd1306.hex

6. Sau khi trò chơi được tải lên, Arduboy sẽ thiết lập lại và bắt đầu trò chơi.

Bước 6: Viết trò chơi vào Serial Flash

1. Để ghi tệp trò chơi tổng hợp vào flash nối tiếp, bạn cần sử dụng lại Arduboy Python Utilities của MR. Blinky. Bạn nên cài đặt cái này nếu bạn làm theo bước trước đó.

Nếu không, hãy duyệt đến https://github.com/MrBlinky/Arduboy-Python-Utilities và làm theo hướng dẫn ở đó để cài đặt các tiện ích Arduboy Python của MR. Blinky. Nếu bạn chưa cài đặt python, trước tiên bạn cần làm theo hướng dẫn để cài đặt python và các mô-đun python được yêu cầu.

2. Tạo tệp chỉ mục cho tệp hình ảnh trò chơi tổng hợp để chứa tối đa 500 trò chơi.

Chúng tôi sẽ sử dụng tập lệnh Use the flashcart-builder.py để tạo tệp hình ảnh trò chơi tổng hợp cho tất cả các trò chơi bạn muốn lưu trữ vào flash nối tiếp của Arduboy. Một đèn flash nối tiếp 16MB có thể chứa tới 500 trò chơi. Tập lệnh này xây dựng một hình ảnh flash nhị phân từ một tệp chỉ mục (.csv) và 2 tệp sau cho mỗi trò chơi: a. Các tệp.hex là tệp văn bản chứa các mã thập lục phân của các hình ảnh nhị phân của các trò chơi Arduboy đã biên dịch. Tham khảo cú pháp Ví dụ: Xem tệp example-flashcart / flashcart-index.csv. Tệp này được bao gồm trong gói nếu bạn nhấp vào Sao chép hoặc Tải xuống. NS. Các tệp hình ảnh đồ họa-p.webp

Video trên youtube cũng giải thích cách đặt mọi thứ vào đúng vị trí của tệp chỉ mục.csv này. Một điều cần lưu ý, tệp.csv ví dụ từ GitHub của MR. Blinky được sử dụng trong Windows PC, dấu gạch chéo ngược "\" được sử dụng trong tên đường dẫn. Nếu bạn đang sử dụng hệ thống liunx hoặc MAC OSX, bạn cần thay đổi nó thành "/".

Để bắt đầu nhanh, bạn có thể tải xuống gói 63 trò chơi của tôi từ https://github.com/cheungbx/ArduBaby 63games.zip

Gói này chứa các tệp hex và tệp-p.webp

Bạn có thể thêm nhiều trò chơi hơn vào games.csv và tạo tệp hình ảnh nhị phân trò chơi tổng hợp của riêng bạn để ghi vào flash nối tiếp. Bạn có thể đặt tối đa 500 trò chơi trên đèn flash nối tiếp 16M.

Tôi sẽ giải thích cách tạo tệp.csv bằng games.csv mà bạn có thể tải xuống từ biểu mẫu GitHub của tôi.

Mặc dù tệp.csv có thể được mở bằng excel. KHÔNG sử dụng excel để mở tệp. Nó sẽ làm hỏng tệp. Vui lòng chỉ sử dụng một trình soạn thảo văn bản thuần túy. Bạn có thể sử dụng notepad trong windows. Tôi đã sử dụng textEdit trong MAC và nhấp vào "Định dạng" -> "Tạo Văn bản thuần túy".

Dòng đầu tiên của tệp.csv là tiêu đề bạn có thể bỏ qua. Danh sách; Mô tả; Màn hình tiêu đề; Tệp Hex

Dòng thứ hai trỏ đến tệp hình ảnh đồ họa (phải là 128x64 pixel ở định dạng tệp png) cho màn hình manu của trình tải khởi động. 0; Bộ nạp khởi động; arduboy_loader.png;;;

Các trò chơi được cấu hình bắt đầu từ dòng thứ ba. Trò chơi được sắp xếp thành các nhóm trong menu bootloader được gọi là các danh mục. Dòng này là tiêu đề nhóm của danh sách các trò chơi cho nhóm đó, ví dụ: Trò chơi hành đông. Nó cũng trỏ đến tệp hình ảnh đồ họa cho nhóm trò chơi. Chữ "1" ở đầu biểu thị nhóm số 1. Tất cả các trò chơi theo sau nhóm này sẽ bắt đầu bằng số này. 1; Trò chơi hành động; danh mục-màn hình / Action.png;;;

Sau đó, bạn thêm một dòng cho mỗi trò chơi trong nhóm đó. Bắt đầu với nhóm số 1, tên trò chơi và đường dẫn của tệp đồ họa cho ảnh chụp nhanh màn hình và đường dẫn của tệp hex. Tất cả được phân tách bằng dấu ";". Thêm một dấu ";" để bỏ qua tham số cho tệp lưu. 1; 1943; Arcade / Nineteen43.png; Arcade / Nineteen43.hex;; 1; 2048; Arcade / 2048.png; Arcade / 2048.hex;;

Sau khi hoàn thành nhóm trò chơi đầu tiên, bạn có thể thêm nhóm trò chơi thứ hai, v.v. ví dụ.

9; Demo & Test; demo / demotest.png;;; 9; Bơ nóng; trình diễn / HotButter_AB.png; trình diễn / HotButter_AB.hex;; 9; Flashcart test; demo / flashcart-test / flashcart-test-title.png; demos / flashcart-test / flashcart-test.hex; demo / flashcart-test / badapple-frames.bin;

Dòng cuối cùng có tệp lưu trong tham số là phim hoạt hình.

3. Để tạo tệp hình ảnh trò chơi hợp nhất, hãy nhập lệnh, trong đó games.csv là tệp chỉ mục trò chơi của bạn.

python flashcart-builder.py games.csv

Thao tác này sẽ tạo một tệp có tên games-image.bin

4. Ghi tệp hình ảnh trò chơi hợp nhất vào Arduboy.

Chúng tôi sử dụng tập lệnh flashcart-writer.py của MR. Blinky để ghi tệp hình ảnh trò chơi tổng hợp vào bộ nhớ flash nối tiếp của Arduboy.

Nếu bạn đang sử dụng tệp games-image.bin mẫu của tôi, bạn có thể nhập lệnh này.

python flashcart-writer.py games-image.bin

Nếu bạn đang sử dụng màn hình OLED SSD1309 thay vì SSD1306 OLED trên bản dựng tiêu chuẩn, bạn có thể nhanh chóng vá trình điều khiển màn hình. Để tự động áp dụng bản vá SSD1309 cho hình ảnh đã tải lên, hãy tạo một bản sao của flashcart-writer.py và đổi tên nó thành flashcart-writer-1309.py. Sau đó gõ

python flashcart-writer-1309.py games-image.bin

Bước 7: Chơi trò chơi từ Flash nối tiếp

Để chơi trò chơi từ đèn flash nối tiếp, hãy bật Arduboy.

Nếu bạn đã tải một trò chơi, trò chơi sẽ tự động bắt đầu. Nhấn nút đặt lại trên đầu Ardubaby một lần để chuyển đến menu bộ nạp khởi động.

Menu bộ nạp khởi động sẽ được hiển thị. Đèn LED RGB sẽ sáng theo trình tự.

Nếu bạn nhìn thấy biểu tượng giống như cổng USB được hiển thị thay thế, điều đó có nghĩa là chip bộ nhớ flash nối tiếp của bạn không hoạt động. Xin vui lòng kiểm tra hệ thống dây điện.

Nếu bạn không nhấn bất kỳ phím nào trong vòng 12 giây, trò chơi đã được lưu trữ trong bộ nhớ flash trong của ATMega32U4 sẽ được chạy.

Để quay lại từ một trò chơi về menu bộ nạp khởi động, chỉ cần nhấn nút Đặt lại một lần.

Bạn có thể nhấn nút trái hoặc phải để cuộn qua các danh mục (nhóm) trò chơi khác nhau. Nhấn nút xuống hoặc nút lên để cuộn qua các trò chơi trong một danh mục (nhóm). Nhấn nút "B" để sao chép trò chơi từ bộ nhớ flash nối tiếp vào bộ nhớ Flash bên trong của ATMega32U4. Trò chơi sẽ bắt đầu trong vòng một giây.

Bây giờ bạn có một bảng điều khiển trò chơi nhỏ để bạn có thể chơi trên đường.

Tôi thách thức bạn thu thập và tải lên 16M đèn flash nối tiếp của bạn với 500 trò chơi. Tôi chưa thấy bất kỳ ai đã làm điều đó để lấp đầy đèn flash nối tiếp. Nếu bạn có thể làm được điều đó, hãy chia sẻ tệp trò chơi tổng hợp đó với chúng tôi.

Bước 8: Tham khảo

Hướng dẫn đầy đủ về điều này sẽ được xuất bản trong liên kết này của Guiductables.comTBD

Video Youtube trình diễn bảng điều khiển trò chơi ArduBaby

Video trên Youtube về việc sửa đổi 3.3V của bộ lập trình bộ nạp khởi động USBasp.

Các tệp trò chơi và sơ đồ của mạch trong video này có thể được tìm thấy tại liên kết GitHub này

Sơ đồ

Liên kết GitHub của MR. Blinky cho gói Arduboy home made

Liên kết GitHub của MR. Blinky cho các tiện ích python để tải lên trò chơi và các hoạt động bộ nhớ flash nối tiếp

Bộ sưu tập trò chơi Arduboy của Erwin

Tín dụng cho người sáng tạo (Kevin Bates), Arduboy là một bảng điều khiển trò chơi 8 bit rất thành công. Đã có hàng nghìn trò chơi được viết bởi người có sở thích này đã được chia sẻ miễn phí trên diễn đàn cộng đồng của Arduboy để nhiều người có thể học cách viết mã.

Tín dụng cho MR. Blinky để tạo gói tự chế, flashcart và các tiện ích python.

Đề xuất: