Isi kandungan:
- Langkah 1: Apa Yang Anda Perlu?
- Langkah 2: Prototaip Cepat
- Langkah 3: Membuat Selongsong
- Langkah 4: Membuat Matriks LED
- Langkah 5: Menulis Kod Permainan dan Perkakasan Debug
- Langkah 6: Menggabungkan Semuanya
Video: Permainan Stackers Arcade: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Hai kawan-kawan, hari ini saya ingin berkongsi dengan anda permainan arked hebat ini yang boleh anda buat dengan banyak LED Ws2812b dan mikrokontroler / FPGA. Lihatlah Stack Overflow - pelaksanaan perkakasan kami dari permainan arcade klasik. Apa yang dimulakan sebagai projek sekolah dengan cepat menjadi tenaga cinta kerana kami mulai menghabiskan lebih banyak masa untuk mengembangkan permainan kami dan belajar lebih banyak daripadanya (dan mengabaikan kajian kami dalam proses xD). Pada akhirnya, permainan kami dibina dengan baik dan diterima dengan baik oleh sekolah kami sehingga disita (sebagai bahan demo untuk kumpulan pelajar seterusnya). Kita boleh membina yang kedua. Mari kita mulakan!
Versi permainan dalam talian:
Langkah 1: Apa Yang Anda Perlu?
Bahan:
1. Microcontroller / Microcomputer / FPGA - FPGA digunakan untuk melaksanakan logik permainan kami. Pilih papan anda, untuk projek kami, kami dikehendaki menggunakan papan Mojo FPGA. Bagi yang belum tahu, ini adalah jenis papan yang menggunakan perkakasan untuk melaksanakan fungsinya dan bukannya kod. Oleh itu, saya akan mengatakan tahapnya agak rendah dan sama sekali berbeza daripada jika anda menggunakan Arduino atau Pi. Sekiranya anda menggunakan papan lain, anda mesti menulis kod anda sendiri, tetapi permainan ini cukup mudah untuk dikod dan hei! Sekarang anda boleh belajar pengekodan juga!
2. LED Ws2812b - Di sini kita menggunakan LED untuk membina paparan untuk permainan kita. Tidak boleh menjadi pembuat jika anda belum menyentuh Ws2812b sebelum xD. Ini bermaksud satu alamat yang boleh anda aturkan bahawa anda boleh memotong LED tunggal dan menyisipkannya ke dalam bentuk yang anda suka. RGB bermaksud anda boleh mengeluarkan warna yang anda suka. Selanjutnya, FastLED - perpustakaan Arduino untuk mengawal Ws2812b sangat maju. Saya akan mengesyorkan orang menggunakan Arduino sebagai ganti FPGA jika anda tidak memilikinya. Anda boleh membeli LED dari Taobao / Amazon tetapi kami membeli LED dari menara Sim Lim di Singapura.
3. Kayu - Untuk selongsong luaran kami menggunakan papan lapis setebal 1cm dan untuk matriks LED kami menggunakan papan lapis setebal 0.3cm. Kami menemui bekalan kayu buangan dari makmal fab sekolah kami.
4. Akrilik penyebar cahaya - Untuk skrin kami, kami mencuba pelbagai jenis akrilik dan kami dapati akrilik buram ini yang disebut PL-422 yang sangat bagus untuk menyebarkan cahaya. Sekiranya anda tidak dapat mencari model yang tepat, cuba cari akrilik buram. Kami membeli barang kami di Dama Plastics di Singapura.
5. Papan Buih - Untuk memisahkan setiap piksel cahaya, kami memerlukan struktur grid dan busa ini adalah bahan yang sesuai untuk melakukannya. Kami membeli papan busa setebal 0.5cm di kedai buku sekolah kami.
6. Butang Merah Besar - Ok, tidak perlu bagi kita untuk memiliki butang merah yang besar tetapi selalu bagus untuk mempunyai butang untuk orang membanting! xD Kami membelinya di menara Sim Lim di Singapura.
Alat:
1. Gam Kayu
2. Besi Pematerian
3. Pateri
4. Wayar. Yang terbaik jika anda mempunyai wayar lembut berbanding dengan kabel yang lebih kaku. Dan teras tunggal berbanding multicore.
5. Pelucut wayar
6. Pemotong wayar
7. Gerudi dengan bit gerudi 1mm
8. Gulung gergaji
9. Gergaji pita
Menyahpepijat:
1. Unit Bekalan Kuasa Pembolehubah
2. Osiloskop
Langkah 2: Prototaip Cepat
Untuk projek kami, kami menggunakan prototaip cepat sebelum membina matriks LED kami dan memprogramkan permainan kami. Sebab untuk melakukannya adalah bahawa kita tidak mahu membina matriks LED hanya untuk menyedari bahawa kod kita tidak berfungsi atau logik permainan kita cacat adalah beberapa cara.
Dari segi perkakasan, pada peringkat pertama kami baru saja menguji logik kami untuk menukar corak cahaya pada matriks LED sederhana kami sendiri. Setelah kami menguji logiknya dengan baik, kami kemudian memotong jalur LED 5 Ws2812b hanya untuk menguji logik permainan kami dengan baris yang berbeza. Setelah berjaya, kami kemudian membuat fabrikasi matriks LED pada skala penuh.
Kami juga menguji pelbagai sampel akrilik dengan LED sebelum menetapkan PL-422 sebagai penyebar cahaya terbaik. Dan untuk struktur pemisah, kami juga menguji ketinggian yang berbeza agar LED dapat meresap sepenuhnya. Pada akhirnya kami menyedari 3cm * 3cm persegi dengan ketinggian 4cm menjadi yang terbaik untuk penyebaran. Berdasarkan ukuran optimum ini, kami juga memutuskan berapakah ukuran papan lapis yang diperlukan untuk matriks LED 5 x 11 dengan meninggalkan jurang 0.5cm untuk buih di antara kotak..
Dari sisi perisian, kami berusaha sekodular mungkin - kami menguji terlebih dahulu sama ada LED boleh menyala sebelum meneruskan untuk menambahkan fungsi shift, dan kemudian yang lain. Hasilnya boleh menjadi bencana jika anda tidak melakukan ini. Kami mempelajarinya dengan cara yang sukar kerana kami mencuba membuat coding keseluruhan permainan dalam jumlah besar sebelum menyedari bahawa kami tidak dapat melakukan debug. Aduh!
Langkah 3: Membuat Selongsong
Untuk selongsong kami, kami pergi dengan rasa dan rupa mesin arked klasik. Pertama, kami memotong beberapa papan lapis nipis untuk memprotaip bentuk dengan cepat kerana lebih mudah dan cepat memotong papan lapis nipis dan diuji. Setelah berpuas hati dengan dimensi dan bentuknya, kami mula menggunakan papan lapis tebal untuk membina selongsong. Kami menggunakan gergaji besi untuk memotong papan lapis yang lebih tebal dan gergaji tatal untuk memotong yang lebih nipis. Selepas itu, kami menggunakan gam kayu untuk merekatkannya bersama.
Untuk bahagian belakang papan lapis, kami ingin mengakses elektronik di dalamnya dengan mudah, oleh itu kami menjadikannya sebagai bahagian kunci di tempat yang boleh anda keluarkan dengan mudah bila-bila masa yang anda mahukan.
Untuk melampirkan butang, pertama-tama kami melukis bulatan dengan ukuran diameter microswitch (bahagian panjang bawah butang). Kami kemudian menggerudi lubang di dekat pinggir dan menggunakan gergaji tatal untuk melihat bulatan melalui. Kemudian kami meletakkan butang dan memasukkannya ke dalam.
Kami juga memotong sekeping papan lapis nipis sebagai asas matriks LED kami mengikut ukuran yang kami kira sebelumnya.
Catatan: Saya meminta maaf kerana kekurangan proses langkah demi langkah. Kami tidak mendokumentasikan langkahnya sepanjang jalan dan pada saat kami menyedari bahawa kami perlu mendokumentasikan langkahnya, selongsong sudah selesai. Gambarajah juga bukan dimensi akhir.
Langkah 4: Membuat Matriks LED
Dengan menggunakan potongan nipis yang telah kita potong sebelumnya, pertama-tama kita menandakan kedudukan setiap LED dengan melukis sebuah segi empat tepat berdasarkan struktur busa kita dan melukis sebuah salib di tengah alun-alun sebagai tempat kita harus meletakkan LED. Kemudian kami juga menggerudi 3 lubang kecil di setiap sisi LED untuk wayar masuk dan menyoldernya ke setiap LED.
Kami rantai daisy setiap baris LED dengan pin Data In dan Data Out mereka dan kami menyolder setiap GND dan VCC ke wayar biasa. Data In yang terkemuka akan menghasilkan corak cahaya untuk setiap baris dan kami menghubungkannya ke pinout mikrokontroler / FPGA. Anda juga boleh menyisipkan Data terakhir dari satu baris ke Data In yang terdahulu dari baris yang lain. Cara kerja Ws2812b LED adalah bahawa setiap LED mengandungi IC yang akan mengambil data yang diperlukan dari wayar dan meneruskan selebihnya ke rantai. Kami mendasarkan LED kami pada Instructables hebat lain (Sebenarnya, kami menyalinnya dengan tepat! XD)
Di sini kami juga ingin menekankan pentingnya penggunaan wayar lembut. Sekiranya anda menggunakan wayar keras dan keras untuk pin Data In yang terkemuka, apa yang berlaku adalah setiap kali anda menarik wayar, ia mungkin mengeluarkan pelindung tembaga pada Ws2812b anda yang akan menghancurkannya. Dalam projek ini, sebelum kita menukar ke wayar lembut, kita memusnahkan sebanyak 40 LED yang merupakan 1/3 daripada LED yang diperlukan untuk projek kita.
Boleh diajar:
Langkah 5: Menulis Kod Permainan dan Perkakasan Debug
Mojo menggunakan Lucid HDL, yang bukan merupakan bahasa yang paling popular di luar sana. Kami tidak dapat mencari perpustakaan Ws2812b LED di Lucid, oleh itu kami terpaksa menulis perpustakaan kami sendiri, yang merupakan pengalaman yang sangat menarik. Untuk melakukan itu, pertama-tama kami menganalisis isyarat yang dikeluarkan dengan menggunakan perpustakaan FastLED Arduino dan menulis kod untuk menirunya. Berikut adalah tip debug perkakasan, osiloskop sangat berguna untuk menganalisis isyarat, sama ada menyahpepijat isyarat anda sendiri yang anda tidak pasti atau memeriksa dan menyalin isyarat lain.
Setelah menulis perpustakaan untuk Ws2812b, kami kemudian meneruskan kod untuk permainan, kami menggunakan fungsi pergeseran Bit untuk memindahkan setiap blok ke kiri dan ke kanan dan menggunakan kotak Bitwise DAN ke DAN setiap baris ke baris sebelumnya. Anda juga boleh memikirkan untuk melaksanakannya di Arduino, yang seharusnya tidak begitu sukar. Kami bahkan mengkod skrin permainan untuk keseronokannya!
Permainan kami mempunyai 2 tingkat, yaitu permainan susun yang terlihat (Hijau) dan permainan susun tak terlihat tingkat kedua (Biru).
Walaupun kita mempunyai kod kerja dan matriks LED yang berfungsi, kadang-kadang kita masih menghadapi masalah seperti lampu berkelip atau lampu menyala ketika tidak seharusnya. Masalahnya biasanya disebabkan oleh pembumian, tahap bekalan kuasa atau gangguan yang tidak betul. Di sinilah anda memerlukan alat debug perkakasan lain seperti unit bekalan kuasa berubah-ubah untuk memeriksa sama ada bekalan kuasa Mojo / Arduino mencukupi atau terlalu tinggi. Menurut pengalaman saya, Ws2812b mempunyai voltan kerja yang cukup luas dari 2.8v - 5v. Di sini saya mempunyai video yang menunjukkan lampu akan menjadi semakin gila setelah saya meningkatkan kuasa.
Namun, pemeriksaan lebih lanjut menunjukkan bahawa kami mempunyai beberapa solder yang tidak betul, setelah menyoldernya sekali lagi, masalah kami diselesaikan. Mungkin juga ada masalah dengan gangguan atau percakapan silang, tapi syukurlah, kami tidak pernah menghadapi masalah tersebut.
Kod Github:
Arduino Bitwise Shift:
Arduino Bitwise DAN:
Langkah 6: Menggabungkan Semuanya
Anda mempunyai casing dan matriks LED. Sekarang masanya untuk menyatukan semuanya. Mula-mula kita letakkan busa di bahagian depan dan matriks LED di belakangnya dan sesuaikan kedudukannya. Kerana busa mempunyai geseran yang sangat tinggi, ia hanya dipasang geseran sedangkan matriks LED terpaku panas di tempatnya. Selepas itu kami meletakkan skrin di hadapan grid. Kami kemudian memasang pin setiap baris ke mikrokontroler dan mula bermain!: D
Satu perkara yang saya sukai dalam projek ini adalah fleksibiliti, anda selalu dapat memprogramkan semula mikrokontroler untuk menjadi sebahagian daripada permainan lain dan mencuba sesuatu seperti membuat animasi atau permainan reaksi. Semoga anda menikmati membuat ini dan belajar sesuatu untuk membuatnya. GgEz!
Disyorkan:
Permainan Dinosaur Hack Permainan Google Chrome: 9 Langkah
Permainan Dinosaur Hack Google Chrome Games: chrome t-rex run adalah permainan yang sangat menyeronokkan. Di sini kita akan menjadikannya lebih menghiburkan dengan menggunakan Arduino. Permainan dino ini tidak akan muncul di laman sambungan internet. Anda juga boleh melakukannya dengan menggunakan raspberry pi di sini kita membandingkan kedua papan secara terperinci Arduino
Pengawal Permainan DIY Berasaskan Arduino - Pengawal Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengawal Permainan DIY Berasaskan Arduino | Pengawal Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Hai kawan-kawan, bermain permainan selalu menyeronokkan tetapi bermain dengan permainan peribadi DIY Controller anda lebih menggembirakan. Oleh itu, kami akan menjadikan Pengawal permainan menggunakan arduino pro micro dalam arahan ini
Konsol Permainan Mini Ardubaby Dengan 500 Permainan: 10 Langkah
Ardubaby Mini Game Console Dengan 500 Permainan: Kredit kepada pencipta (Kevin Bates), Arduboy adalah konsol permainan 8 bit yang sangat berjaya. Terdapat beribu-ribu permainan yang ditulis oleh penggemar yang membagikannya secara bebas di forum komuniti Arduboy sehingga lebih banyak orang dapat belajar bagaimana membuat kod. Perisian
Kotak Permainan Arduino Arcade Lego: 19 Langkah (dengan Gambar)
Kotak Permainan Arduino Arcade Lego: Sekiranya anda mempunyai anak, anda mungkin menghadapi masalah yang sama seperti yang kami lakukan dengan set Lego yang anda beli untuk mereka. Mereka berkumpul dan bermain dengan mereka tetapi selepas beberapa ketika set berubah menjadi timbunan batu bata. Anak-anak membesar dan anda tidak tahu apa yang harus
Mesin Permainan Arcade Dengan Raspberry Pi: 7 Langkah (dengan Gambar)
Mesin Permainan Arcade Dengan Raspberry Pi: Membuat cerita: Mesin permainan Arcade dengan pi retro (raspberry pi3)