Daftar Isi:

LED Matrix Game of Life 32 X 32: 8 Langkah
LED Matrix Game of Life 32 X 32: 8 Langkah

Video: LED Matrix Game of Life 32 X 32: 8 Langkah

Video: LED Matrix Game of Life 32 X 32: 8 Langkah
Video: TEENSY 3 running a 32x32 LED Matrix 2024, Juni
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Saya terinspirasi oleh Jptrsn's16 x16 Game of Life tetapi akhirnya menjadi empat kali lebih besar. Saya menemukan beberapa MAX7219 Dot Matrix Module 4-in-1 Display Untuk papan Arduino di Bangood.com seharga £3,50 ketika mereka tiba ternyata cukup sulit untuk memisahkannya dan menggunakannya dalam kotak 16x16 seperti yang saya rencanakan, jadi saya memutuskan untuk membuat kotak 32x32. Saat itulah segalanya menjadi rumit, karena Anda tidak bisa hanya meningkatkan kode.

Langkah 1: Bagian

Saya mendapatkan bagian saya dari BangGood tetapi Anda dapat mencarinya di mana saja. 1. Arduino Nano (~£2) 2. 4 Matriks Led 1x4 (~£3,50 x 4) atau cari multipak yang terkadang lebih murah 3. Beberapa kabel 4. Soket mikro USB (< £1) 5. USB catu daya (<£5)6. Bingkai foto kotak berukuran 6"x6" /15cmx15cm (~£4) dari toko kerajinan lokal

Langkah 2: Alat

1. Pistol lem panas

2. Besi solder

3. Penari telanjang kawat

4. Pisau tajam

Langkah 3: Pembuatan Papan Tempat memotong roti

Pembuatan papan tempat memotong roti
Pembuatan papan tempat memotong roti

Satu hal yang saya pelajari pada saat ini adalah bahwa nano (dan mungkin Arduino lainnya) tidak dapat memberikan daya yang cukup untuk menjalankan semua 4 matriks tanpa membakar catu daya! diperingatkan

Ketika papan saya tiba, mereka hanya mendapat pin di ujung input dan pin output longgar di dalam tas, atau dalam satu kasus macet di bawah layar yang membuat pin keluar. Ternyata tidak baik untuk menampilkan ini (pekerjaan baik saya membeli 6). Anda harus menyolder pin keluaran ke dua matriks LED jika tidak dipasang pada Anda.

Tata letaknya cukup mudah, Anda dapat membuat rantai daisy dua matriks bersama-sama untuk membentuk dua rantai hanya dengan menghubungkan pin output ke pin input yang cocok. Anda tidak dapat merangkai semuanya dalam satu proses karena pustaka LedControl terbatas pada 8 tampilan sekaligus.

Kemudian colokkan DataIn ke pin 12, muat (atau CS) ke pin 11 dan Clock (atau CLK) ke pin 10 dan untuk rantai lainnya ke 5, 4 & 3. Atau, Anda dapat memilih pin digital yang Anda suka hanya ingat untuk mengubah kode untuk mencerminkan pilihan Anda. Kemudian tambahkan soket USB ke papan tempat memotong roti. Kemudian hubungkan v+ dan pin ground ke rel papan tempat memotong roti. Kemudian Anda perlu mencolokkan kabel daya dari 2 rantai ke +ve dan ground dan mengikat ground Arduino ke ground. Setelah kami selesai memprogram papan, Anda dapat menautkan Arduino vin ke v+ dan tidak pernah mencolokkan USB Aurdino lagi.

Langkah 4: Kode

Pada awalnya, saya pikir yang perlu saya lakukan hanyalah mengambil kode yang ada dan meningkatkannya menjadi 32x32 tetapi ini sedikit lebih sulit dari itu. 1. Anda memerlukan dua LedControls karena masing-masing hanya dapat menggerakkan 8 MAX7219s LedControl lc[2] = { LedControl(12, 10, 11, 8), LedControl(5, 3, 4, 8) };2. Tidak ada cukup memori pada Nano untuk menyimpan 2 array 32x32 byte penuh untuk mempertahankan status papan. (Akhirnya, setiap kali saya menulis kode Game of Life di papan tulis dalam wawancara terbayar.) Jadi, kami mendefinisikan array papan sebagai 32x4 dan menyimpan status setiap sel sebagai bit dalam byte di seluruh array.

Langkah 5: Menyatukan Semuanya

Pertama-tama uji kode dan tata letak papan seperti yang diharapkan dengan menggunakan metode "testPattern" untuk menggambar salib diagonal di papan. Jika ini tidak terlihat benar maka ada yang salah dengan urutan papan dan/atau pin yang telah Anda inisialisasi. Kemudian periksa semuanya dengan metode glider yang membuat glider bergerak melintasi layar. Sekali lagi jika tidak berhasil maka periksa urutan pin dll. Terakhir, setel metode utama menjadi "randomize", setel NUMITR ke berapa kali harus diulang sebelum mengatur ulang.

Langkah 6: Bingkai It Up

Bingkai Itu
Bingkai Itu

Sekarang untuk memasukkan semuanya ke dalam bingkai. Pertama, rekatkan matriks menjadi bingkai 32x32. Ingatlah untuk memastikan bahwa ujung input berada di sisi yang sama untuk semuanya (atau ubah kode pencarian di "gridToCell" untuk memungkinkan papan ke-2 terbalik). Tambahkan soket listrik dan sakelar pada saluran 5v dan solder semuanya bersama-sama.

Langkah 7: Masalah Bingkai

Ternyata Anda membutuhkan bingkai yang lebih besar dari yang saya miliki 6x6. Jadi saya harus kembali untuk menyelesaikan ini ketika saya mendapat kesempatan untuk pergi ke toko.

Langkah 8:

Direkomendasikan: