Isi kandungan:

Bina ArduinoBoy: 8 Langkah
Bina ArduinoBoy: 8 Langkah

Video: Bina ArduinoBoy: 8 Langkah

Video: Bina ArduinoBoy: 8 Langkah
Video: Let's build a Game Boy Emulator on a Breadboard! 2024, September
Anonim
Bina ArduinoBoy
Bina ArduinoBoy
Bina ArduinoBoy
Bina ArduinoBoy

The GameBoy. Kemungkinan besar anda memiliki satu pada masa kecil anda. Dan walaupun anda tidak melakukannya, kemungkinan besar anda bermain dengan GameBoy sahabat anda, atau mungkin anda memiliki pesaing terdekatnya, Sega Game Gear atau Nomad. Peranti permainan kecil yang luar biasa, tetapi setelah anda semua dewasa, adakah anda telah memikirkan apa yang akan anda lakukan sekarang? Simpan di loteng untuk menggali dan menunjukkan kepada anak-anak anda bagaimana permainan pada abad ke-20? Jual ke pemungut? Kembalikan kenangan permainan dengan kembali melalui Legend of Zelda: Link's Awakening untuk kesekian kalinya?

Adakah anda pernah berfikir untuk mengubahnya menjadi alat muzik? Timothy "trash80" Lamb adalah komposer chiptune yang kini tinggal di Los Angeles, California. Penyusun chiptune adalah orang yang menggunakan IC penjana suara (litar bersepadu) yang terdapat di dalam konsol permainan video dan alat genggam untuk membuat muzik. Mr. Lamb juga pencipta peranti yang dikenali sebagai ArduinoBoy; gabungan perkakasan dan perisian sumber terbuka yang dapat mengubah mana-mana ahli keluarga GameBoy dengan slot kartrij dan port kabel pautan menjadi penjana bunyi MIDI. Sekarang harus diperhatikan bahawa sampah80 bukan yang pertama membuat sistem sedemikian. Dua aplikasi GameBoy homebrew besar yang digunakan oleh komposer chiptune profesional, Nanoloop dan Little Sound Disk Jockey, atau LSDJ, telah memiliki kemampuan MIDI untuk beberapa waktu. Masalahnya ialah kedua-dua aplikasi ini bergantung pada perkakasan Microchip PIC untuk menghantar dan menerima isyarat MIDI. Tidak ada rasa tidak hormat yang ditujukan kepada mikrokontroler standard industri kejuruteraan elektrik, tetapi PIC benar-benar merupakan perkakasan profesional dan boleh menakutkan bagi mereka yang tidak sering menggunakan elektronik secara berkala. Tidak banyak sokongan untuk pengguna sistem operasi yang kurang popular ketika memprogramkan peranti ini (satu-satunya rangkaian pengembangan PIC rasmi adalah untuk Windows, tanpa sokongan Linux atau Mac). Namun, dengan menggunakan platform Arduino yang jauh lebih sederhana, ArduinoBoy mengatasi batasan-batasan ini, menjadikannya lebih mudah bagi seorang komposer chiptune yang bakal membuat alat yang dia perlukan. Selain itu, sementara ArduinoBoy dibuat untuk bekerja dengan program penjana bunyi GameBoy homebrew trash80 sendiri, mGB, ia juga sesuai dengan Nanoloop dan LSDJ. Walaupun trash80 telah membagikan karyanya di laman web Google Code, dia tidak mempunyai petunjuk langkah demi langkah tentang bagaimana seseorang dapat membuatnya sendiri (ada dalam senarai tugasnya). Saya memutuskan untuk membantunya dalam hal ini. Walaupun tidak semestinya selangkah demi selangkah, Instructable ini harus memberi anda idea umum tentang apa yang harus dilakukan dan menunjukkan kepada anda beberapa perangkap saya agar anda dapat menghindarinya.

Langkah 1: Bahagian, Alat, dan Kod

Bahagian, Alat, dan Kod
Bahagian, Alat, dan Kod

Bahagian

  • Arduino, Arduino generik, atau bahagian untuk membuatnya sendiri. Saya secara peribadi menggunakan kit Dewan Peranti Bare Bone Moden Peranti Moden, yang boleh dipasang sama ada dan dilampirkan ke projek anda menggunakan soket pin papan litar wanita, atau kanibal untuk bahagian untuk menjadikan Arduino sebagai bahagian tetap projek.
  • Dua perintang 220Ω, tujuh 2KΩ, dan satu perintang 270Ω. Untuk projek ini, perintang 1/4 atau 1/8 watt sangat sesuai.
  • Satu pengasingan opto 6N138.
  • Satu diod isyarat kecil 1N914. Jangan terkejut jika anda hanya dapat membelinya dalam jumlah 10 atau lebih.
  • Satu butang tekan yang dihidupkan hanya apabila butang tertekan. Bagi mereka yang bercakap Jurutera, itu adalah butang tekan SPST.
  • Dua penyambung DIN 180 darjah wanita 5 pin. Pastikan anda mendapat penyambung tepat ini. Terdapat banyak reka bentuk yang berbeza untuk penyambung DIN, dan sedikit, jika ada, yang sesuai antara satu sama lain.
  • Empat blok terminal dua pin. Walaupun anda hanya boleh menyolder semua wayar anda terus ke PCB, menggunakan blok terminal atau bentuk penyambung lain akan menjadikan pemasangan, pembongkaran, dan kanibalisasi bahagian menjadi lebih mudah.
  • Satu papan PC tujuan umum.
  • Satu kabel pautan GameBoy.
  • Peranti yang dapat menyediakan MIDI, seperti papan kekunci atau komputer dengan perisian dan penyesuai yang diperlukan.
  • Satu kartrij GameBoy yang dapat diprogramkan.
  • Pateri.
  • Kawat tambahan. Padat untuk kerja papan roti dan pendawaian papan PC, terdampar untuk wayar yang anda jangkakan sering bergerak.
  • Kes untuk mengisi semuanya.
  • Tumpukan Miscellanea.

Alat

  • Besi pematerian.
  • Mentol penyahkodan, pam, atau sumbu. Sekiranya berlaku.
  • Membantu alat pematerian tangan.
  • Gogal keselamatan. Cermin mata anda tidak akan memotongnya.
  • Alat pemadam api, atau sekurang-kurangnya segelas air. Sekali lagi, sekiranya berlaku.
  • Pemotong wayar.
  • Pelucut wayar.
  • Playar mata jarum.
  • Papan roti tanpa solder.
  • Pengaturcaraan atau kabel USB untuk kedua-dua Arduino dan kartrij GameBoy yang dapat diprogramkan, jika berkenaan.
  • Alat putar dan / atau apa sahaja yang anda perlukan untuk memotong lubang dan slot dalam kes pilihan anda.

Kod Anda akan memerlukan dua bahagian kod yang berbeza untuk projek ini, kedua-duanya boleh didapati di halaman ArduinoBoy Google trash80. Mereka terdapat di sebelah kanan halaman di bawah tajuk Unduhan Pilihan. Anda akan memuatkan kod ArduinoBoy ke dalam Arduino, sementara mGB akan dimuat ke dalam kartrij permainan yang dapat diprogramkan.

Langkah 2: Mari Lihat Skema

Mari Lihat Skema
Mari Lihat Skema

Skema adalah, cukup mudah, dokumen apa pun yang menggambarkan bagaimana alat mekanikal atau elektrik digabungkan. Gambar-gambar traktor rumput anda dengan semua bahagian dibongkar dengan garis putus-putus yang menunjukkan bagaimana semuanya sesuai? Rangka tindakan kontraktor rumah atau apartmen anda begitu terobsesi? Skematik; mereka berdua.

Sejauh skema, skema trash80 untuk ArduinoBoy jauh lebih berwarna dan tidak mempunyai garis lurus, tetapi dapat dibaca dengan sempurna. Kecuali anda benar-benar analis mengenai konvensyen kejuruteraan, anda tidak akan menghadapi masalah. Anda mungkin mahu mencetaknya, kerana kami akan sering merujuknya.

Langkah 3: Ujian Breadboard

Ujian Papan Roti
Ujian Papan Roti

Sebelum sampai ke pembinaan sebenar ArduinoBoy yang sudah siap, pertama-tama kami ingin memastikan semua bahagian kami baik. Untuk itu, kami akan menggunakan papan roti tanpa solder kami, yang membolehkan kami membuat hubungan antara bahagian elektronik tanpa perlu menyoldernya bersama-sama. Ia mudah. Lihat sahaja skema dan sambungkan bahagian seperti yang ditunjukkan.

Ingat bahawa ada bahagian komen di setiap halaman. Sekiranya anda terjebak dengan sesuatu, hantar di bawah dan saya akan berusaha membantu anda dengan sebaik mungkin.

Langkah 4: Ujian Pertama

Sudah tiba masanya untuk dua ujian yang sangat penting: ujian asap dan ujian fungsi. Ujian pertama cukup mudah. Cukup sambungkan GameBoy anda ke peranti, hidupkan GameBoy, dan tonton LED ArduinoBoy. Sekiranya LED pin13 berkelip sebentar, diikuti dengan baki LED menyala mengikut urutan, menyapu dari pin tertinggi ke terendah dan belakang dua kali, diakhiri dengan dua kilatan dari LED sekaligus, maka kemungkinan besar ArduinoBoy anda berfungsi pesanan. Pastikan juga untuk menguji butang pilih mod. Semasa anda menekannya, LED yang sedang menyala akan mati dan yang seterusnya mengikut urutan akan menyala. Sekiranya, sebaliknya, lampu enggan menyala, bahagian terasa tidak panas apabila disentuh, anda melihat atau mencium asap, dan / atau mana-mana bahagian litar meletup atau terbakar, kemudian merujuk kembali ke skema, periksa semula semua sambungan dan pendawaian anda, ganti komponen yang rosak, dan lakukan ujian asap sekali lagi. Ujian kedua adalah sedikit lebih mengejutkan, terutamanya kerana jika ada yang salah di sini, bukan hanya Arduino yang akan menjadi roti bakar. Muatkan mGB ke dalam GameBoy anda, pasangkan ArduinoBoy ke dalam GameBoy anda, dan sambungkan MIDI dari peranti yang serasi dengan MIDI anda ke MIDI di ArduinoBoy yang dilapisi roti. Hidupkan GameBoy, kemudian peranti MIDI, pastikan alat pemadam api anda berada di dekatnya agar tidak berlaku apa-apa. Cuba mainkan beberapa nota pada peranti MIDI anda di saluran 1, 2, 3, 4, atau 5. Jika GameBoy anda mengeluarkan bunyi yang mengingatkan pada instrumen atau kesan bunyi, kemudian terus melompat keluar dari kerusi anda, sambil menatap ke arah langit, lengan terentang, sambil melaung "ITU HIDUP" sambil ketawa secara manual. Catatan mengenai pengujian dan penggunaan ArduinoBoy anda: ada laman web di luar sana yang menawarkan fail MIDI lagu popular, dan anda akan tergoda, sangat tergoda, untuk menggunakannya untuk kedua-dua ujian dan dalam sesi komposisi anda. Tahan godaan itu. Pertama, beberapa trek MIDI yang ditawarkan oleh laman web ini tidak dibuat dengan baik. Saya pernah menjumpai salinan MIDI dari "19-2000" Gorillaz, dan salah satu instrumen itu tidak habis atau luntur, jadi akhirnya, instrumen yang satu ini akan membanjiri seluruh instrumen sehingga anda menghentikan pemain dan memulakannya semula. Selain itu, menggunakan lagu-lagu yang sudah dibuat sebelumnya mendorong Anda untuk terus menggunakan lagu-lagu yang telah dibuat sebelumnya. Anda tidak akan membuat sesuatu yang asli. Anda lebih baik belajar bagaimana mengarang muzik anda sendiri dengan segera.

Langkah 5: Selesaikannya

Selesaikannya
Selesaikannya
Selesaikannya
Selesaikannya

Jadi, ArduinoBoy anda berfungsi. Bagus, sudah tiba masanya untuk memasangkannya ke papan prototaip litar bercetak. "Tunggu tunggu!" anda menjerit kepada diri sendiri. "Ini berfungsi dengan baik sekarang dan saya tahu saya akan berhati-hati dengannya. Mengapa berpotensi mengacaukannya? Mengapa mengganggu pematerian?" Baiklah kalau begitu. Tetapi fikirkan perkara ini sebentar: anda dan ArduinoBoy anda membuat muzik hebat. Begitu hebat, sebenarnya, anda akhirnya menjadikan chiptune menjadi bentuk muzik yang sah. Anda membawa chiptune ke arus perdana. Anda menjadi terkenal. Sangat terkenal, sebenarnya, anda dijemput untuk bermain di Wrigley Field sebelum Cubs turun padang. Anda masih menggunakan ArduinoBoy papan roti anda. Anda dan kru sedang menyiapkan semuanya dengan betul, sehingga salah seorang daripada anda menyedari alat muzik anda yang paling penting, ArduinoBoy, telah hilang. Anda akhirnya menemuinya di tangan seorang budak lelaki yang berjaya menyelinap melewati keselamatan. Dengan rasa ingin tahu, dia telah mengeluarkan semua komponen dari papan roti, dan malangnya, anda tidak mempunyai skema yang berguna. Dengan hanya 5 minit sebelum persembahan bermula, anda harus membatalkan persembahan anda. Orang ramai menjadi gila, dan dalam kemarahan mereka menghancurkan sebilangan besar stadium, menyebabkan permainan juga dibatalkan. The Cubs kehilangan permainan solekan dan tembakan mereka di Seri Dunia sekali lagi, dan mereka harus anda salahkan. Jangan biarkan senario yang sangat berbelit ini berlaku kepada anda: selalu menjadikan projek anda kekal. Pertama, setelah mengeluarkan semua bahagian dari papan roti tanpa pateri, letakkan di papan PC dan ketahui bagaimana anda akan memasangnya. Terdapat beberapa perkara yang harus anda ingat:

  • Cuba dapatkan semua IC anda dengan cara yang sama. Dengan cara itu, anda dapat mengetahui sekilas sama ada semuanya dipasang dengan betul.
  • Terminal skru, soket IC, dan penyambung wayar adalah rakan anda. Sekiranya ada yang pecah, anda boleh mengeluarkan dan mengganti bahagian dengan mudah. Juga, anda mungkin perlu mengibaskan ArduinoBoy anda di lain waktu untuk membina sesuatu yang lain. Menambah soket dan penyambung lain boleh membolehkan anda melakukannya dengan mudah.
  • Berhati-hatilah dengan ruang yang harus anda gunakan. Jauhkan bahagian dari lubang pemasangan sehingga anda boleh mendapatkan perkakasan dan alat pemasangan ke lokasi tersebut dengan mudah. Juga, jika anda memasang papan di ruang yang sangat kecil, seperti timah Altoids, anda perlu ingat bahagian ruang seperti butang mengambil. Anda mungkin perlu memastikan bahagian papan anda tidak bersih sehingga butang mempunyai ruang di dalam casing.

Setelah semuanya disatukan, adalah mudah untuk menggerudi dan memotong lubang yang sesuai dalam kes pilihan anda dan memasang papan litar di dalamnya. Sekiranya anda menggunakan casing logam seperti yang saya lakukan, pastikan anda menggunakan sehelai kertas atau sesuatu untuk melapisi bahagian bawah casing agar tidak menutup bahagian mana-mana litar. Pencuci getah juga merupakan idea yang baik.

Langkah 6: Menggunakan ArduinoBoy Anda

Menggunakan ArduinoBoy Anda
Menggunakan ArduinoBoy Anda

ArduinoBoy anda, jika dipasang dengan betul, tidak boleh berperilaku berbeza daripada peranti input MIDI lain. Apabila digunakan dengan mGB, ia akan mempunyai 5 saluran MIDI yang berasingan. Saluran 1 dan 2 adalah penjana nada yang stabil, 3 adalah penjana nada yang nampaknya mempunyai corak tiga nota dalam ujian terhad saya (timbre nota akan berubah setiap kali anda bermain di saluran ini, mengikuti corak), saluran 4 menyediakan bunyi bass (gunakan seperti gendang, gitar bass, atau synth), dan saluran 5 adalah bunyi bising (paling sering digunakan dalam permainan GameBoy untuk letupan dan air mengalir).

Pasang peranti MIDI anda ke port yang disambungkan ke opto-isolator, ArduinoBoy anda ke dalam GameBoy anda, dan kartrij yang dapat anda atur semula ke dalam GameBoy anda juga. Tetapkan mod ArduinoBoy anda ke mGB dengan menekan butang sehingga LED disambungkan ke digital 8 menyala. Mulai sekarang, anda boleh menggunakan GameBoy anda sebagai instrumen MIDI. Penyesuaian terhadap suara yang dihasilkan dapat dibuat di GameBoy menggunakan antara muka mGB, khususnya, timbre, octave, channel, dan note attack. Mod ArduinoBoy yang lain digunakan dengan program pembuatan chiptune GameBoy yang lain, khususnya, Nanoloop dan LSDJ dan berada di luar ruang lingkup Instructable ini.

Langkah 7: Perangkap yang Boleh Anda Elakkan

Perangkap yang Boleh Anda Elakkan
Perangkap yang Boleh Anda Elakkan
Perangkap yang Boleh Anda Elakkan
Perangkap yang Boleh Anda Elakkan
Perangkap yang Boleh Anda Elakkan
Perangkap yang Boleh Anda Elakkan

Semasa menyiapkan projek ini, saya membuat beberapa kesilapan reka bentuk dan pembinaan yang, walaupun tidak menjejaskan prestasi fungsi teras ArduinoBoy, mereka menjadikan pembinaan lebih mencabar dan persembahan terakhir sedikit ceroboh. Berikut adalah kesilapan saya dan beberapa kesalahan biasa, dan bagaimana anda dapat mengelakkan atau membetulkannya. Kerja Kes Logam Dari semua keputusan reka bentuk yang saya buat, keputusan untuk menggunakan timah pewarna Altoids sebagai kes mungkin merupakan yang paling buruk. Masalahnya bukan dengan timah itu sendiri, tetapi alat yang saya ada dalam menyiapkan casing dan fakta bahawa saya telah melakukan kerja yang sangat sedikit dengan logam lembaran nipis. Pertama, gunakan alat yang betul untuk pekerjaan itu. Tin snip, atau paling tidak yang saya gunakan, merobek logam daripada memotongnya dengan bersih, meninggalkan sukar untuk melepaskan tepi tajam yang tidak tetap rata ke casing. Gunakan nibbler sebagai gantinya. Juga, semasa menggerudi lubang, selalu gerudi dari sisi penamat, atau sisi yang paling sering anda lihat (di luar), bila mungkin. Semasa anda mengebor lubang, anda kemungkinan akan meninggalkan lubang pada logam dan menyebabkan logam membengkok ke lubang dari arah yang anda latih. Dengan menggerudi dari luar, anda membiarkan lubang di bahagian dalam casing, menjadikan bahagian luar lebih kemas dan lebih selamat untuk orang yang tidak berpikiran. Papan Prototaip Bahan murah tidak selalu terbaik untuk digunakan. Papan prototaip yang saya gunakan untuk membina ArduinoBoy saya berasal dari RadioShack dan, walaupun boleh digunakan dengan sempurna, mereka sukar dipatuhi oleh sifat mereka yang dibuat dengan harga murah. Tidak ada lubang bersalut, jadi pateri tidak disedut ke dalam lubang, sehingga gumpalan pateri besar di papan tidak menahan bahagian-bahagian yang dipateri dengan sempurna. Cuba yang terbaik untuk mencari papan dengan lubang berlapis. Sekiranya anda tidak dapat, saya telah mendengar bahawa sedikit fluks solder masuk ke dalam lubang sebelum pematerian akan menyumbat pateri cair ke dalam lubang, seolah-olah ia dilapisi. Mengenai papan proto yang murah, ingatlah bahawa kerana solder hanya akan terkumpul di bahagian atas, mereka boleh terdedah kepada… Seluar pendek Ketika saya selesai menyolder ArduinoBoy saya, saya perhatikan bahawa LED tidak menyala dengan betul. Masalahnya bukanlah pendawaian saya, yang sempurna, tetapi pematerian saya. Kecil dan hampir mustahil untuk melihat jumlah solder dan habuk menutup jurang di papan, menghalang beberapa LED menyala dan mengikat LED lain bersamaan. Sekiranya ini berlaku kepada anda, jalankan pisau pisau di antara sendi pateri dan bersihkan dengan betul menggunakan petua q, tuala kertas, dan alkohol gosok. Lem Super Cuba seperti yang anda mahukan, anda tidak boleh menggunakan gam super tanpa mengeluarkan jari. Hanya amaran umum untuk semua orang di luar sana. Jangan salah faham, ini adalah perkara yang baik apabila dua bahagian mesti melekat dan melekat dengan cepat, tetapi jangan sekali-kali menganggap bahawa anda boleh menggunakannya tanpa melekatkan jari anda.

Langkah 8: Ke Mana Saya Pergi Dari sini?

Di mana saya pergi dari sini?
Di mana saya pergi dari sini?

Menghadapi masalah untuk memulakan dengan menyusun keseluruhan chiptune? Perlukan inspirasi, petua, trik, dan tempat untuk mempamerkan lagu terbaru anda? Untuk semua perkara chiptunes, dan dengan permainan retro lanjutan, terdapat 8bitcollective.com. Mereka mempunyai komuniti komposer chiptune yang bersemangat yang bersedia membantu anda dalam karier anda.

Ingin mengembangkan keupayaan ArduinoBoy anda? ArduinoBoy anda mempunyai fungsi bawaan yang sebenarnya tidak digunakan oleh mGB: MIDI out, khususnya, sinkronisasi MIDI. Nanoloop dan LSDJ, bagaimanapun, tidak hanya serasi dengan perkakasan ArduinoBoy, tetapi mereka dapat menggunakan ciri yang tidak digunakan ini, yang membolehkan anda menyegerakkan suara GameBoy anda dengan instrumen MIDI yang dapat diprogramkan, seperti drum. Baiklah, anda sekarang adalah komposer dan penghibur chiptune yang berjaya, tetapi sekarang anda mempunyai banyak pertunjukan untuk pergi dan anda ingin meringankan beban sebanyak mungkin. Apa yang awak akan lakukan? Nah, selagi anda hanya menggunakan MIDI ArduinoBoy di port, anda boleh mengurangkan ukurannya dengan teruk. Cukup gunakan klon Arduino sekecil yang anda dapat mencari dan meninggalkan port keluar MIDI. Lagipun, nampaknya ia berfungsi untuk sampah80. Bagi saya, saya ingin membuat beberapa penambahbaikan pada prototaip saya dan pada masa yang sama belajar lebih banyak mengenai bagaimana ia berfungsi dan bagaimana saya dapat menyusun muzik sebenar dengannya. Saya sedang memikirkan untuk merancang beberapa PCB dalam Eagle CAD untuk dua versi yang berbeza: satu yang menggunakan komponen lubang dan IC paket DIP, seperti ini, dan yang lain yang menggunakan komponen pemasangan permukaan jika boleh jadi saya boleh mencuba reflow hotplate kaedah solder dan buat (semoga) ArduinoBoy penuh terkecil yang pernah dibuat. Yang paling penting, apa sahaja yang anda memutuskan untuk lakukan dengan ArduinoBoy anda, bersenang-senanglah. Sekiranya anda tidak bersenang-senang, tentu anda melakukan sesuatu yang salah. Ingatlah bahawa seperti semua perkara lain dalam hidup, menyusun chiptunes bukan mengenai mengalahkan orang lain. Ini mengenai mengalahkan diri sendiri, menjadikan setiap lagu yang anda buat lebih baik daripada yang terakhir. Tidak ada yang terkenal kerana melakukan sesuatu yang tidak mereka sukai. Soalan? Komen? Cadangan perkahwinan? Ancaman bunuh? Siarkan di bawah.

Disyorkan: