Spisu treści:

Jak wgrać gry do Arduboy i 500 gier do koszyka Flash: 8 kroków
Jak wgrać gry do Arduboy i 500 gier do koszyka Flash: 8 kroków

Wideo: Jak wgrać gry do Arduboy i 500 gier do koszyka Flash: 8 kroków

Wideo: Jak wgrać gry do Arduboy i 500 gier do koszyka Flash: 8 kroków
Wideo: 🔴 ArduBoy – Stwórzmy własną grę! Meet and Code 2021 (Część 1) 2024, Grudzień
Anonim
Jak wgrać gry do Arduboy i 500 gier do Flash-cart
Jak wgrać gry do Arduboy i 500 gier do Flash-cart

Zrobiłem domowej roboty Arduboy z pamięcią Serial Flash, która może przechowywać maksymalnie 500 gier do grania w trasie. Mam nadzieję, że podzielę się tym, jak ładować do niego gry, w tym jak przechowywać gry w szeregowej pamięci flash i tworzyć własny, skonsolidowany pakiet gier do grania w podróży.

Możesz obejrzeć ten film na youtube, aby zapoznać się z procesem tworzenia od końca do końca i wyjaśnieniem

Krok 1: Skonfiguruj Arduino IDE

Jeśli jesteś nowy w Arduino, przejdź do https://www.arduino.cc, aby pobrać Arduino IDE dla używanego systemu operacyjnego, np. Windows 10, Mac OSX lub Linux.

Następnie zainstaluj go.

Krok 2: Zrób kabel USBasp

W przeciwieństwie do ładowania kodów/gier binarnych na dowolną płytkę Arduino, programowanie bootloadera nie może odbywać się przez port USB.

Aby nagrać niestandardowy bootloader (Cathy3K) na układ Atmega32U4, należy zaopatrzyć się w programator USBasp. Jednak nasza kreacja działa na 3,3V, musimy dodatkowo zmodyfikować programator USBasp, aby działał w 3,3V.

Zapoznaj się z następującym instruktażowym projektem, aby zmodyfikować programator USBasp do pracy zarówno przy napięciu 3,3 V, jak i 5 V poprzez ustawienia zworek.

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

Następnie postępuj zgodnie z układem pinów i wideo, aby wykonać kabel programowy USBasp do ArduBaby. oryginalny kabel USBasp dołączony do USBasp ma dwa złącza, każde po 10 pinów. Przetniemy ten kabel na pół i podłączymy 6-pinowe złącze męskie do jednego końca, zachowując drugi koniec, który łączy się z płytą USBasp na 10pin.

Ten drugi koniec połączy piny GND, VCC, MOSI, MISO, SCK, Reset z USBasp do odpowiednich pinów ATmega32U4 przez męskie złącze, które łączy się z pierwszymi sześcioma pinami żeńskiego złącza na Ardubaby (moja wersja domowej roboty Arduboy). Twoja wersja może mieć inny układ pinów. Możesz odwołać się do mojego wideo, aby zmienić projekt, aby pasował do twojej wersji domowej roboty Arduboy.

Aby wykonać program lub wypalić bootloader do ATmega32U4, zdejmiesz osłonę przycisku i podłączysz ten 6-pinowy kabel USBasp.

Upewnij się, że zaznaczyłeś, który pin jest pinem jeden, wyraźnie na nagłówku kabla, aby nie spowodować nieprawidłowego połączenia. Kiedy projektuję układ pinów dla nagłówków z przyciskami Ardubaby, starałem się rozmieścić piny tak, aby nawet po zamianie pinu 1 na pin 13, zasilacz -ve nie spotkał się przypadkowo z zasilaczem +ve, aby uniknąć uszkodzeń. Jednak nigdy nie wiadomo, mogą się zdarzyć inne rzeczy, które mogą uszkodzić zestaw, jeśli połączysz się w niewłaściwym kierunku.

Wypalę mały otwór, aby zaznaczyć to na główce za pomocą końcówki lutownicy.

Krok 3: Nagraj bootloader

MR. Blinky stworzył pakiet Arduboy-domowej roboty dla domowej roboty Arduboy.

Jego pakiet zawiera sterowniki płyty głównej i bibliotekę Arduboy, która współpracuje z różnymi wersjami oryginalnego Arduboya, a także z własnymi.

1. Przejdź do folderu GitHub firmy MR. Blinky, aby znaleźć domowej roboty Arduboy. https://github.com/MrBlinky/Arduboy-homemade-package 2. Postępuj zgodnie z instrukcjami na GitHub, aby skonfigurować Arduino IDE z pakietem domowej roboty. 3. Najpierw skopiuj adres URL „Additional board manager” dla pakietu domowej roboty Arduboy.

4. Uruchom Arduino IDE. Kliknij Preferencje w górnym menu Arduino. Wklej ten tekst do „Additional Boards Manager URLs” Uwaga: Jeśli masz już inny tekst w tym polu, wstaw ten dodatkowy tekst na początku, a następnie dodaj „,” i pozostaw pozostały tekst bez zmian. 5. Wyjdź z Arduino IDE i ponownie uruchom IDE, aby zastosować powyższą zmianę. 6. Kliknij Narzędzia -> Tablica: -> Menedżer tablicy. Wpisz domowe, aby wyszukać. Wybierz, aby zainstalować pakiet domowej roboty Arduboy autorstwa Mr. Blinky. Następnie kliknij uaktualnij, aby uzyskać najnowszą wersję. Pakiet zostanie dodany do Arduino. 7. Teraz wybierz Narzędzia-> Tablica: „Domowy Arduboy. i wybierz następujące parametry dla Homemade Arduboy” Na podstawie: „SparkFun Pro Micro 5V - Standardowe okablowanie” Rdzeń: „Arduboy Optimized core” Bootloader: „Cathy3K” Programator: USBasp 8. Wyłącz Ardubaby i zdejmij osłonę przycisku. 9. Ustaw zworkę na USBasp na 3,3V. Upewnij się, że używasz zmodyfikowanego USBasp, który działa całkowicie w 3,3V. 10. Podłącz USBasp do portu USB komputera. Podłącz specjalny kabel USBasp do ArduBaby do USBasp, a drugi koniec do nagłówka nasadki przycisku Ardubaby, dopasuj pin 1 do pinu 1. Tylko pierwsze 6 pinów Ardubaby jest używanych do nagrywania bootloadera.

11. Twój Ardubaby powinien być teraz zasilany przez zasilanie 3,3 V dostarczane przez USBasp. 12. Naciśnij raz przycisk resetowania ArduBaby. 13. Kliknij przycisk Tools->Boards->Burn Bootloader na Arduino IDE. 14. Sprawdź komunikat, aby sprawdzić, czy nagranie bootloadera powiodło się. 15. Jeśli nie, sprawdź kabel i upewnij się, że styki zostały podłączone we właściwym kierunku i dopasuj styk 1 do styku 1. Czasami Ardubaby rozpocznie grę w poprzednią grę, jeśli menu startowe przekroczy limit czasu. Musisz więc szybko kliknąć przycisk Burn bootloader zaraz po naciśnięciu przycisku resetowania, aby ustawić Ardubaby w trybie oczekiwania na flash. 16. Jeśli wszystko jest w porządku, ArduBaby uruchomi się ponownie i zobaczysz menu startowe lub poprzednią grę załadowaną do ArduBaby.

Krok 4: Skompiluj i prześlij pojedyncze gry do Arduboy

Gry na Arduboy można pobrać z następujących źródeł:

Forum społeczności Arduboy dla gier:

Przeszukaj GitHub w „Gry Arduboy” https://github.com/topics/arduboy-game lub po prostu wyszukaj „GitHub arduboy games” w Google.

Kolekcje gier udostępniane przez innych. np. Kolekcje Erwina Arduboy

arduboy.ried.cl/

Możesz pobrać kod źródłowy gry, którą ładujesz samochodem do Arduino i przesyłasz do Arduboy. Zobacz wideo, jak to się robi.

lub po prostu plik szesnastkowy (skompilowany plik binarny, ale przedstawiony w postaci liczby szesnastkowej jest wypisywany do pliku tekstowego zamiast pliku binarnego).

Aby uzyskać kod źródłowy, wystarczy otworzyć kod źródłowy w Arduino IDE.

Kod źródłowy m.in. picovaders.ino należy przechowywać w folderze o tej samej nazwie, np. pikowaderzy

Wymagane biblioteki Arduboy2 powinny być już zainstalowane w poprzednim kroku, w którym ładujemy menedżera płyty dla pakietu domowej roboty Arduboy.

Wystarczy podłączyć Arduboy do portu USB komputera.

Włącz go, a następnie kliknij przycisk Prześlij na Arduino IDE, aby skompilować i przesłać kod do Arduboy, aby zagrać w grę.

Krok 5: Prześlij pliki z pojedynczym szesnastką

Plik szesnastkowy to plik tekstowy zawierający kody binarne powstałe w wyniku kompilacji programu Arduino (szkic), ale reprezentowany w formacie pliku tekstowego za pomocą dwucyfrowych liczb szesnastkowych 0-9, A-F.

Możesz uzyskać ten plik szesnastkowy na różne sposoby.

1. Możemy pobrać pliki hex z różnych źródeł, które wyjaśniliśmy powyżej:

community.arduboy.com/c/games Kolekcje gier Arduboy Erwina

Wyszukaj „Gry Arduboy” na GitHub.com lub na google.com

Zapisz te pliki szesnastkowe w plikach z rozszerzeniem.hex.

2. Alternatywnie możesz stworzyć własny plik szesnastkowy.

W Arduino IDE wybierz Szkic > Eksportuj skompilowany plik binarny. Twój szkic zostanie skompilowany, a następnie kopia skompilowanego pliku.hex zostanie wyprowadzona do katalogu twojego szkicu. Przejdź do folderu szkicu lub w IDE wybierz Szkic > Pokaż folder szkicu, aby zobaczyć plik szesnastkowy. Jeśli zainstalowałeś domowy pakiet MR. Blinky'ego, zostaną utworzone dwie wersje pliku.hex. Na przykład, jeśli skompilujesz sketh picovaders.ino, zostaną utworzone następujące dwa pliki.hex.

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

Wykorzystamy pierwszy plik: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Aby przesłać plik hex do Arduboy, musisz użyć programu do przesyłania. W Internecie jest ich wiele. Lubię używać uploadera MR. Blinky, ponieważ jest prosty w użyciu.

Przejdź do https://github.com/MrBlinky/Arduboy-Python-Utilities i postępuj zgodnie z instrukcjami, aby zainstalować narzędzia Arduboy Python MR. Blinky. Jeśli nie masz zainstalowanego Pythona, musisz najpierw postępować zgodnie z instrukcjami, aby zainstalować Pythona i wymagane moduły Pythona.

4. Podłącz Arduboy do portu USB komputera. Włącz Arduboya.

5. Uruchom program powłoki w swoim systemie operacyjnym, np. aplikację terminala w systemie Mac OSX lub wiersz polecenia w systemie Windows, aby wpisać następujące polecenia, aby przesłać plik szesnastkowy do Arduboy. Na przykładzie naszego poprzedniego szkicu picovaders.ino.

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

6. Po przesłaniu gry Arduboy zresetuje się i uruchomi grę.

Krok 6: Napisz gry do Serial Flash

1. Aby zapisać skonsolidowany plik gry na Serial Flash, musisz ponownie użyć Arduboy Python Utilities firmy MR. Blinky. Powinieneś mieć to już zainstalowane, jeśli wykonasz poprzedni krok.

W przeciwnym razie przejdź do https://github.com/MrBlinky/Arduboy-Python-Utilities i postępuj zgodnie z instrukcjami, aby zainstalować narzędzia Arduboy Python MR. Blinky. Jeśli nie masz zainstalowanego Pythona, musisz najpierw postępować zgodnie z instrukcjami, aby zainstalować Pythona i wymagane moduły Pythona.

2. Utwórz plik indeksu dla skonsolidowanego pliku obrazu gry, aby pomieścić do 500 gier.

Użyjemy skryptu Użyj flashcart-builder.py do zbudowania skonsolidowanych plików graficznych gry dla wszystkich gier, które chcesz przechowywać w seryjnym flashu Arduboy. Szeregowy flash 16 MB może pomieścić do 500 gier. Ten skrypt tworzy binarny obraz flash z pliku indeksu (.csv) i następujących 2 plików dla każdej gry: Pliki.hex, czyli plik tekstowy zawierający kody szesnastkowe obrazów binarnych skompilowanych gier Arduboy. Zobacz przykładowy plik flashcart\flashcart-index.csv, aby zapoznać się z przykładową składnią. Ten plik jest dołączony do pakietu, jeśli klikniesz Klonuj lub Pobierz. b. Graficzne pliki graficzne.png, które mają być wyświetlane w menu bootloadera na Arduboy, dzięki czemu wiesz, którą grę wybierzesz. Niektóre repozytoria gier będą zawierały ten plik graficzny wraz z plikiem źródłowym gry lub plikiem szesnastkowym. Jeśli nie możesz go znaleźć, możesz stworzyć własną, uruchamiając grę na emulatorze Arduboy (https://felipemanga.github.io/ProjectABE/) i wykonując zrzut ekranu. Lub po prostu wpisz nazwę gry na kufrze mocy, a następnie zrób zrzut ekranu. Następnie przechwycone/utworzone grafiki do 128x64 pikseli przy użyciu pędzla w systemie Windows lub podgląd w systemie Mac OSX.

Film z YouTube wyjaśnia również, jak umieścić rzeczy we właściwym miejscu tego pliku indeksu.csv. Należy zauważyć, że przykładowy plik.csv z GitHub firmy MR. Blinky jest używany na komputerze z systemem Windows, w nazwach ścieżek używany jest ukośnik odwrotny "\". Jeśli używasz systemu liunx lub MAC OSX, musisz zmienić go na "/".

Aby szybko rozpocząć, możesz pobrać mój pakiet 63 gier z https://github.com/cheungbx/ArduBaby 63games.zip

Ten pakiet zawiera pliki hex i pliki-p.webp

Możesz dodać więcej gier do games.csv i zbudować własny, skonsolidowany plik binarnego obrazu gry, który zostanie zapisany w pamięci szeregowej flash. Możesz umieścić maksymalnie 500 gier na seryjnym flashu 16M.

Wyjaśnię, jak zrobić plik.csv za pomocą games.csv, które można pobrać z mojego GitHub.

Mimo że plik.csv można otworzyć za pomocą programu Excel. NIE używaj programu Excel do otwierania pliku. Uszkodzi plik. Proszę używać tylko zwykłego edytora tekstu. Możesz używać notatnika w systemie Windows. Użyłem textEdit w MAC i kliknąłem "Format" -> "Make Plain Text".

Pierwszy wiersz pliku.csv to nagłówek, który możesz zignorować. Lista;Opis;Ekran tytułowy;Plik szesnastkowy

Druga linia wskazuje na graficzny plik obrazu (musi mieć 128x64 piksele w formacie pliku png) dla ekranu ręcznego programu ładującego. 0;Bootloader;arduboy_loader.png;;;

Gry są konfigurowane począwszy od trzeciej linii. Gry są zorganizowane w grupy w menu programu ładującego zwane kategoriami. Ten wiersz to tytuł grupy listy gier dla tej grupy, np. Gra akcji. Wskazuje również na graficzny plik graficzny dla grupy gier. Cyfra 1 na początku oznacza grupę numer 1. Wszystkie gry, które następują po tej grupie, rozpoczynają się od tego numeru. 1;Gry akcji;kategorie-ekrany\Akcja.png;;;

Następnie dodajesz jedną linię dla każdej gry w tej grupie. Zaczynając od grupy numer 1, nazwy gry i ścieżki do pliku graficznego dla zrzutu ekranu oraz ścieżki do pliku szesnastkowego. Wszystkie oddzielone „;”. Dodaj jeszcze jeden ";" aby pominąć parametr dla pliku zapisu. 1;1943;Arcade/Nineteen43.png;Arcade/Nineteen43.hex;; 1;2048;Arcade/2048.png;Arcade/2048.hex;;

Po ukończeniu pierwszej grupy gier możesz dodać drugą grupę gier i tak dalej. np.

9;Demo i testy;dema/demotest.png;;; 9;Hot butter;dema/HotButter_AB.png;dema/HotButter_AB.hex;; 9;Test Flashcart;dema/flashcart-test/flashcart-test-title.png;demos/flashcart-test/flashcart-test.hex;dema/flashcart-test/badapple-frames.bin;

Ostatnia linia zawiera w parametrze plik zapisu, który jest filmem animowanym.

3. Aby utworzyć skonsolidowany plik obrazu gry, wpisz polecenie, gdzie games.csv to plik indeksu gier.

python flashcart-builder.py gry.csv

Spowoduje to utworzenie pliku o nazwie games-image.bin

4. Zapisz skonsolidowany plik obrazu gry do Arduboy.

Używamy skryptu flashcart-writer.py firmy MR. Blinky, aby zapisać skonsolidowany plik obrazu gry w szeregowej pamięci flash Arduboya.

Jeśli używasz mojego przykładowego pliku games-image.bin, możesz wpisać to polecenie.

python flashcart-writer.py gry-image.bin

Jeśli używasz ekranu OLED SSD1309 zamiast SSD1306 OLED w wersji standardowej, możesz na bieżąco aktualizować sterownik ekranu. Aby automatycznie zastosować poprawkę SSD1309 do przesłanego obrazu, utwórz kopię pliku flashcart-writer.py i zmień jego nazwę na flashcart-writer-1309.py. Następnie wpisz

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

Krok 7: Graj w gry z Serial Flash

Aby grać w gry z seryjnym flashem, włącz Arduboy.

Jeśli masz już załadowaną grę, gra uruchomi się automatycznie. Naciśnij raz przycisk resetowania na górze Ardubaby, aby przejść do menu bootloadera.

Wyświetlone zostanie menu bootloadera. Dioda LED RGB zaświeci się po kolei.

Jeśli zamiast tego zobaczysz ikonę, która wygląda jak port USB, oznacza to, że twój szeregowy układ pamięci flash nie działa. Pls sprawdź okablowanie.

Jeśli nie naciśniesz żadnego klawisza w ciągu 12 sekund, uruchomiona zostanie gra już zapisana w wewnętrznej pamięci flash ATMega32U4.

Aby wrócić z gry do menu bootloadera, wystarczy raz nacisnąć przycisk Reset.

Możesz nacisnąć lewy lub prawy przycisk, aby przewinąć różne kategorie (grupy) gier. Naciśnij przycisk w dół lub w górę, aby przewijać gry w ramach kategorii (grupy). Naciśnij przycisk „B”, aby skopiować grę z szeregowej pamięci flash do wewnętrznej pamięci Flash ATMega32U4. Gra rozpocznie się za sekundę.

Teraz masz małą konsolę do gier, w którą możesz grać w drodze.

Wzywam cię do zebrania i załadowania pamięci flash 16M Serial z 500 grami. Nie widziałem jeszcze nikogo, kto by to zrobił, żeby zapełnić seryjny flash. Jeśli możesz to zrobić, udostępnij nam ten skonsolidowany plik gry.

Krok 8: Referencje

Pełna instrukcja na ten temat zostanie opublikowana w tym linku Instructables.comTBD

Film z YouTube do demonstracji konsoli do gier ArduBaby

Film z YouTube przedstawiający modyfikację 3.3V programatora bootloadera USBasp.

Pliki gry i schematy obwodu w tym filmie można znaleźć pod tym linkiem GitHub

Schematy

MR. Blinky's GitHub link do domowego pakietu Arduboy

Łącze GitHub firmy MR. Blinky do narzędzi Pythona do przesyłania gier i operacji na szeregowej pamięci flash

Kolekcje gier Arduboy Erwina

Podziękowania dla twórcy (Kevina Batesa), Arduboy to bardzo udana 8-bitowa konsola do gier. Były tysiące gier napisanych przez hobbystę, który udostępnił je swobodnie na forum społeczności Arduboy, aby więcej osób mogło nauczyć się kodować.

Kredyty dla MR. Blinky za stworzenie pakietu domowej roboty, flashcarta i narzędzi Pythona.

Zalecana: