Isi kandungan:

Cara Memuat Naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart: 8 Langkah
Cara Memuat Naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart: 8 Langkah

Video: Cara Memuat Naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart: 8 Langkah

Video: Cara Memuat Naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart: 8 Langkah
Video: 'MEMROGRAM MOTOR DC MENGGUNAKAN ARDUINO DAGU ATMEGA 168' (KULIAH DARING ZAMAN COVID-19 TAHUN 2020)-2 2024, November
Anonim
Cara Memuat naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart
Cara Memuat naik Permainan ke Arduboy dan 500 Permainan ke Flash-cart

Saya membuat beberapa Arduboy buatan sendiri dengan memori Serial Flash yang dapat menyimpan maksimum 500 permainan untuk dimainkan di jalan raya. Saya harap dapat berkongsi cara memuat permainan ke dalamnya, termasuk cara menyimpan permainan ke dalam memori kilat bersiri dan membuat pakej permainan gabungan anda sendiri untuk dimainkan di jalan raya.

Anda boleh melihat video youtube ini untuk proses dan penjelasan penghasilan akhir hingga akhir

Langkah 1: Siapkan Arduino IDE

Sekiranya anda baru menggunakan Arduino, layari https://www.arduino.cc untuk memuat turun Arduino IDE untuk sistem operasi yang anda gunakan mis. Windows 10 atau Mac OSX atau Linux.

Kemudian pasangkannya.

Langkah 2: Buat Kabel USBasp

Tidak seperti memuatkan kod binari / permainan ke papan Arduino mana pun, pengaturcaraan bootloader tidak dapat dilakukan melalui port USB.

Untuk membakar pemuat but khusus (Cathy3K) ke cip Atmega32U4, anda perlu mendapatkan pengaturcara USBasp. Walau bagaimanapun, ciptaan kami berfungsi pada 3.3V, kita perlu mengubah suai programmer USBasp agar berfungsi dalam 3.3V.

Rujuk kepada projek berikut yang dapat diarahkan untuk mengubahsuai programmer USBasp anda agar berfungsi pada kedua-dua 3.3V atau 5V melalui tetapan pelompat.

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

Kemudian ikuti susun atur pin dan video untuk membuat kabel program USBasp to ArduBaby. kabel USBasp asli yang disertakan dengan USBasp mempunyai dua penyambung, masing-masing 10 pin. Kami akan memotong kabel ini menjadi dua, dan menyambungkan header lelaki 6 pin ke satu hujung sambil mengekalkan ujung lain yang bersambung dengan papan USBasp pada 10pin.

Hujung ini akan menghubungkan pin GND, VCC, MOSI, MISO, SCK, Reset dari USBasp ke pin yang sesuai dari ATmega32U4 melalui header lelaki yang menghubungkan ke enam pin pertama header wanita di Ardubaby (versi saya dari Arduboy buatan sendiri). Versi anda mungkin mempunyai susun atur pin yang berbeza. Anda boleh merujuk video saya untuk mengubah reka bentuk agar sesuai dengan versi buatan sendiri dari Arduboy.

Untuk melakukan program atau menyalakan bootloader ke ATmega32U4, anda akan melepaskan topi butang dan pasangkan kabel USBasp 6-pin ini.

Pastikan anda menandakan pin mana satu pin dengan jelas pada tajuk kabel sehingga tidak akan membuat sambungan yang salah. Semasa saya merancang susun atur pin untuk tajuk topi butang Ardubaby, saya cuba mengatur pin sehingga walaupun anda menukar pin 1 dengan pin 13, bekalan kuasa -ve tidak akan bertemu dengan bekalan kuasa + ve secara tidak sengaja untuk mengelakkan kerosakan. Namun, anda tidak pernah tahu, perkara lain mungkin berlaku yang masih boleh merosakkan kit anda jika anda menyambung ke arah yang salah.

Saya akan membakar lubang kecil untuk menandakan bahawa pada kepala menggunakan hujung besi pateri.

Langkah 3: Bakar Bootloader

MR. Blinky membuat pakej Arduboy-homemade untuk Arduboy buatan sendiri.

Pakejnya termasuk pemandu papan dan perpustakaan Arduboy yang berfungsi dengan versi Arduboy yang asli dan juga buatannya.

1. Semak imbas ke folder GitHub MR. Blinky untuk Arduboy buatan sendiri. https://github.com/MrBlinky/Arduboy-homemade-package 2. Ikuti arahan di GitHub untuk mengkonfigurasi Arduino IDE anda dengan pakej buatan sendiri. 3. Salin url pertama "Pengurus papan tambahan" untuk pakej buatan sendiri Arduboy.

4. Mulakan Arduino IDE. Klik Pilihan dari menu atas Arduino. Tempelkan teks ini ke dalam "URL Pengurus Papan Tambahan" Catatan: Jika anda sudah memiliki teks lain di bidang ini, masukkan teks tambahan ini di awal, kemudian tambahkan tanda "," dan jaga agar teks yang lain tetap utuh. 5. Keluar dari Arduino IDE dan mulakan IDE sekali lagi untuk melaksanakan perubahan di atas. 6. Klik Alat -> Papan: -> Pengurus Lembaga. Masukkan buatan sendiri untuk mencari. Pilih untuk memasang pakej buatan sendiri Arduboy oleh Mr. Blinky. Kemudian klik kemas kini untuk mendapatkan versi terkini. Pakej akan ditambah ke Arduino. 7. Sekarang pilih Tools-> Board: “Arduboy buatan rumah. dan pilih parameter berikut untuk Homemade Arduboy”Berdasarkan:“SparkFun Pro Micro 5V - Standard wiring”Core:“Arduboy Optimized core”Bootloader:“Cathy3K”Programmer: USBasp 8. Matikan Ardubaby dan lepaskan topi butang. 9. Tetapkan pelompat pada USBasp ke 3.3V. Pastikan anda menggunakan USBasp yang diubahsuai yang berfungsi sepenuhnya dalam 3.3V. 10. Sambungkan USBasp ke port USB komputer anda. Sambungkan kabel USBasp khas ke ArduBaby ke USBasp, dan hujung yang lain ke tajuk topi butang Ardubaby, gariskan pin 1 hingga pin 1. Hanya 6 pin pertama Ardubaby yang digunakan untuk pembakar bootloader.

11. Ardubaby anda harus dihidupkan sekarang melalui kuasa 3.3V yang dibekalkan oleh USBasp. 12. Tekan butang reset ArduBaby sekali. 13. Klink butang Tools-> Boards-> Burn Bootloader pada Arduino IDE. 14. Periksa mesej untuk melihat apakah pembakar bootloader berjaya. 15. Jika tidak, periksa kabel dan pastikan anda menyambungkan pin ke arah yang betul dan menyusun pin 1 dengan pin 1. Kadang-kadang, Ardubaby akan mula bermain permainan sebelumnya jika menu but habis. Oleh itu, anda perlu mengklik butang Burn bootloader dengan cepat tepat setelah anda menekan butang reset untuk meletakkan Ardubaby pada mod menunggu flash. 16. Sekiranya semuanya baik, ArduBaby akan reboot dan anda akan melihat menu boot up, atau permainan sebelumnya yang telah anda muatkan ke ArduBaby.

Langkah 4: Susun dan Muat Naik Permainan Tunggal ke Arduboy

Permainan untuk Arduboy boleh dimuat turun dari sumber berikut:

Forum komuniti Arduboy untuk permainan:

Carian GitHub di "Arduboy games" https://github.com/topics/arduboy-game atau hanya cari "GitHub arduboy games" di google.

Koleksi permainan yang dikongsi oleh orang lain. cth. Koleksi Arwin dari Erwin

arduboy.ried.cl/

Anda boleh memuat turun kod sumber permainan yang anda muatkan ke Arduino dan muat naik ke Arduboy. Lihat video mengenai bagaimana ini dilakukan.

atau hanya fail hex (fail binari yang disusun tetapi ditunjukkan dalam nombor Hex mencetak ke fail teks dan bukannya fail binari).

Untuk sumber kod, buka kod sumber dalam Arduino IDE.

Kod sumber cth. picovaders.ino perlu disimpan dalam folder dengan nama yang sama mis. picovader

Perpustakaan Arduboy2 yang diperlukan harus sudah dipasang pada langkah sebelumnya di mana kami memuatkan pengurus papan untuk pakej buatan sendiri Arduboy.

Sambungkan Arduboy ke port USB komputer anda.

Hidupkannya, kemudian klik butang Upload pada Arduino IDE untuk menyusun dan memuat naik kod ke Arduboy untuk bermain permainan.

Langkah 5: Muat Naik Fail Heks Tunggal

Fail hex adalah fail teks yang mengandungi kod binari yang dihasilkan dari penyusunan program Arduino (sketsa) anda, tetapi diwakili dalam format fail teks menggunakan dua digit nombor heksadesimal 0-9, A-F.

Anda boleh mendapatkan fail hex ini dengan cara yang berbeza.

1. Kami boleh memuat turun fail hex dari pelbagai sumber yang kami jelaskan di atas:

community.arduboy.com/c/games Koleksi Permainan Arduboy Erwin

Cari "permainan Arduboy" di GitHub.com atau di google.com

Simpan fail hex ini ke dalam fail dengan lanjutan.hex.

2. Sebagai alternatif, anda boleh membuat fail hex anda sendiri.

Dalam Arduino IDE pilih Sketch> Export Compiled Binary. Sketsa anda akan disusun, kemudian salinan file.hex yang disusun akan dikeluarkan ke direktori lakaran anda. Lihat ke folder sketsa atau di IDE pilih Sketch> Show Sketch Folder untuk melihat fail hex. Sekiranya anda memasang pakej buatan sendiri MR. Blinky, dua versi fail.hex akan dibuat. Sebagai contoh, jika anda menyusun sketh picovaders.ino, dua fail.hex berikut akan dibuat.

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

Kami akan menggunakan fail pertama: picovaders.ino-arduboy-promicro-ssd1306.hex

3. Untuk memuat naik fail hex ke Arduboy, anda perlu menggunakan pemuat naik. Terdapat banyak di internet. Saya suka menggunakan pemuat naik MR. Blinky kerana senang digunakan.

Semak imbas ke https://github.com/MrBlinky/Arduboy-Python-Utilities dan ikuti arahan di sana untuk memasang utiliti MR. Blinky's Arduboy Python. Sekiranya anda tidak memasang python, anda perlu mengikuti arahan untuk memasang python dan modul python yang diperlukan terlebih dahulu.

4. Sambungkan Arduboy ke port USB komputer anda. Hidupkan Arduboy.

5. Mulakan program shell dalam sistem operasi anda mis. aplikasi terminal di Mac OSX atau command prompt di windows untuk menaip arahan berikut untuk memuat naik fail hex ke Arduboy. Mengambil contoh sketsa picovaders.ino kami sebelumnya.

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

6. Setelah permainan dimuat, Arduboy akan menetapkan semula dan memulakan permainan.

Langkah 6: Tulis Permainan ke Serial Flash

1. Untuk menulis fail permainan gabungan ke flash bersiri, anda perlu menggunakan MR. Blinky's Arduboy Python Utilities sekali lagi. Anda harus memasangnya jika anda mengikuti langkah sebelumnya.

Jika tidak, layari https://github.com/MrBlinky/Arduboy-Python-Utilities dan ikuti arahan di sana untuk memasang utiliti MR. Blinky's Arduboy Python. Sekiranya anda tidak memasang python, anda perlu mengikuti arahan untuk memasang python dan modul python yang diperlukan terlebih dahulu.

2. Buat fail indeks untuk fail gambar permainan gabungan untuk memuat sebanyak 500 permainan.

Kami akan menggunakan skrip Use the flashcart-builder.py untuk membina fail gambar permainan gabungan untuk semua permainan yang ingin anda simpan ke dalam flash bersiri Arduboy. Kilat bersiri 16MB boleh memuatkan sebanyak 500 permainan. Skrip ini membina imej flash binari dari fail indeks (.csv) dan 2 fail berikut untuk setiap permainan: a. fail.hex yang merupakan fail teks yang mengandungi kod heksadesimal gambar binari permainan Arduboy yang disusun. Rujuk ke fail See the example-flashcart / flashcart-index.csv misalnya sintaks. Fail ini termasuk dalam pakej jika anda mengklik Klon atau Muat turun. b.-p.webp

Video youtube juga menerangkan cara meletakkan perkara di tempat yang betul dari fail indeks.csv ini. Satu perkara yang perlu diperhatikan, contoh fail.csv dari MR. Blinky's GitHub digunakan dalam Windows PC, backslash "\" digunakan dalam nama jalan. Sekiranya anda menggunakan sistem liunx atau MAC OSX, anda perlu mengubahnya menjadi "/".

Untuk memulakan dengan pantas, anda boleh memuat turun pakej 63 permainan saya dari https://github.com/cheungbx/ArduBaby 63games.zip

Pakej ini mengandungi fail hex dan-p.webp

Anda boleh menambahkan lebih banyak permainan ke dalam games.csv dan membina fail gambar binari permainan gabungan anda sendiri untuk ditulis ke kilat bersiri. Anda boleh meletakkan maksimum 500 permainan pada kilat bersiri 16M.

Saya akan menerangkan cara membuat fail.csv menggunakan games.csv yang boleh anda muat turun dari GitHub saya.

Walaupun fail.csv dapat dibuka menggunakan excel. JANGAN gunakan excel untuk membuka fail. Ia akan merosakkan fail. Sila gunakan editor teks biasa sahaja. Anda boleh menggunakan notepad di tingkap. Saya menggunakan textEdit di MAC dan klik "Format" -> "Make Plain Text".

Baris pertama fail.csv adalah tajuk yang boleh anda abaikan. Senarai; Diskripsi; Skrin tajuk; Fail hex

Titik baris kedua ke fail gambar grafik (mesti berukuran 128x64 piksel dalam format fail png) untuk layar manu boot loader. 0; Bootloader; arduboy_loader.png;;;

Permainan dikonfigurasi bermula dari baris ketiga. Permainan disusun mengikut kumpulan dalam menu bootloader yang disebut kategori. Garis ini adalah tajuk kumpulan senarai permainan untuk kumpulan tersebut mis. Permainan Aksi. Ia juga menunjukkan fail gambar grafik untuk kumpulan permainan. "1" pada awalnya menunjukkan nombor kumpulan 1. Semua permainan yang mengikuti kumpulan ini akan dimulakan dengan nombor ini. 1; Permainan Aksi; skrin-kategori / Action.png;;;

Kemudian anda menambah satu baris untuk setiap permainan dalam kumpulan itu. Bermula dengan nombor kumpulan 1, nama permainan, dan jalur fail grafik untuk gambar skrin, dan jalan fail hex. Semua dipisahkan dengan ";". Tambah satu lagi ";" untuk melangkau parameter untuk menyimpan fail. 1; 1943; Arcade / Nineteen43.png; Arcade / Nineteen43.hex;; 1; 2048; Arked / 2048.png; Arked / 2048. hex;;

Setelah menamatkan kumpulan permainan pertama, anda boleh menambahkan kumpulan permainan kedua dan seterusnya. cth.

9; Demo & Uji; demo / demotest.png;;; 9; Mentega panas; demo / HotButter_AB.png; demo / HotButter_AB.hex;; 9; Ujian flashcart; demo / flashcart-test / flashcart-test-title.png; demo / flashcart-test / flashcart-test.hex; demo / flashcart-test / badapple-frames.bin;

Baris terakhir mempunyai fail simpan dalam parameter yang merupakan filem kartun.

3. Untuk membina fail gambar permainan gabungan, ketik perintah, di mana games.csv adalah fail indeks permainan anda.

python flashcart-builder.py games.csv

Ini akan membuat fail bernama game-image.bin

4. Tulis fail gambar permainan gabungan kepada Arduboy.

Kami menggunakan skrip flashcart-writer.py MR. Blinky untuk menulis fail gambar permainan gabungan ke memori kilat bersiri Arduboy.

Sekiranya anda menggunakan fail contoh game-image.bin saya, anda boleh menaip perintah ini.

python flashcart-writer.py games-image.bin

Sekiranya anda menggunakan skrin OLED SSD1309 dan bukan OLED SSD1306 pada binaan standard, anda boleh menambal pemacu skrin dengan cepat. Untuk menerapkan patch SSD1309 secara automatik pada gambar yang dimuat naik, buat salinan flashcart-writer.py dan namakan semula menjadi flashcart-writer-1309.py. Kemudian taip

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

Langkah 7: Main Permainan Dari Serial Flash

Untuk bermain permainan dari kilat bersiri, hidupkan Arduboy.

Sekiranya anda sudah memuat permainan, permainan akan dimulakan secara automatik. Tekan butang reset di bahagian atas Ardubaby sekali untuk pergi ke menu pemuat but.

Menu pemuat but akan dipaparkan. LED RGB akan menyala mengikut urutan.

Sekiranya anda melihat ikon yang kelihatan seperti port USB yang dipaparkan, itu bermaksud cip memori kilat bersiri anda tidak berfungsi. Sila periksa pendawaian.

Sekiranya anda tidak menekan sebarang kekunci dalam masa 12 saat, permainan yang sudah disimpan dalam memori kilat dalaman ATMega32U4 akan dijalankan.

Untuk kembali dari permainan ke menu pemuat but, tekan sahaja butang Reset sekali.

Anda boleh menekan butang kiri atau kanan untuk meninjau kategori (kumpulan) permainan yang berbeza. Tekan butang bawah atau atas untuk menatal permainan dalam kategori (kumpulan). Tekan butang "B" untuk menyalin permainan dari memori kilat bersiri ke memori Flash dalaman ATMega32U4. Permainan akan dimulakan dalam beberapa saat.

Sekarang anda mempunyai konsol permainan kecil yang boleh anda mainkan di jalan raya.

Saya mencabar anda untuk mengumpulkan dan memuatkan flash Serial 16M anda dengan 500 permainan. Saya belum melihat orang yang melakukan itu untuk mengisi kilat bersiri. Sekiranya anda dapat melakukannya, kongsi fail permainan gabungan itu dengan kami.

Langkah 8: Rujukan

Arahan lengkap mengenai ini akan diterbitkan dalam pautan Instructables.comTBD ini

Video Youtube untuk demonstrasi konsol permainan ArduBaby

Video Youtube untuk pengubahsuaian 3.3V pengaturcara bootloader USBasp.

Fail permainan dan skema litar dalam video ini boleh didapati di pautan GitHub ini

Skematik

Pautan MR. Blinky GitHub untuk pakej buatan rumah Arduboy

Pautan MR. Blinky GitHub untuk utiliti python untuk muat naik permainan dan operasi memori kilat bersiri

Koleksi Permainan Erwin's Arduboy

Kredit kepada pencipta (Kevin Bates), Arduboy adalah konsol permainan 8 bit yang sangat berjaya. Terdapat ribuan permainan yang ditulis oleh penggemar yang membagikannya secara bebas di forum komuniti Arduboy sehingga lebih banyak orang dapat belajar bagaimana membuat kod.

Kredit ke MR. Blinky untuk membuat pakej buatan sendiri, flashcart, dan utiliti python.

Disyorkan: