coseru.id - Coding asik & Seru

🔍 Cari Materi & Kelas

Game & Interaktif Tingkat: Pemula Estimasi: 3 Jam 4 x dilihat

Game Breakout Arduino di Matriks LED 8x8 dengan LED WS2812B

Game Breakout Arduino di Matriks LED 8x8 dengan LED WS2812B

Ringkasan Proyek

Buat game arcade Breakout versi paling sederhana di matriks LED 8x8 (64 piksel) dengan LED WS2812B dan Arduino Nano. Game ini punya tiga level, efek suara dari buzzer, serta teks berjalan untuk skor. Proyek ini cocok untuk belajar mengontrol LED WS2812B dengan library FastLED dan membuat logika game sederhana.

Bahan & Komponen

Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.

Daftar Komponen & Perangkat Keras

  • 1x Arduino Nano R3 (Mikrokontroler pemroses utama game)
  • 1x Matriks LED 8x8 dengan LED WS2812B (Layar game 64 piksel; tiap LED berwarna dan dapat dialamati satu per satu)
  • 2x Push Button (Pushbutton Switch, Momentary) (Tombol kiri dan kanan untuk menggerakkan papan pemukul)
  • 1x Buzzer (Efek suara saat bola mengenai balok, dinding, papan, dan saat game berakhir)

Software & Library

  • Arduino IDE (Untuk menulis dan meng-upload program)
  • Library FastLED (Mengontrol LED WS2812B)

Alat

  • Solder (soldering iron) dan kawat solder bebas timbal (Untuk menyambung komponen)

Opsional

  • Baterai dengan regulator tegangan (Catu daya agar game portabel)

Catatan

  • Jika memakai catu daya 5V DC eksternal, sumber daya harus mampu memberi arus minimal 1 Ampere.

Langkah Pembuatan

Khusus Member

Panduan perakitan tahap demi tahap dan catatan proses pengerjaan.

Halo, calon game developer! Breakout adalah game arcade buatan Atari yang dirilis tahun 1976. Pemain mengendalikan papan pemukul (paddle) di bagian bawah layar untuk memantulkan bola ke dinding balok di bagian atas. Setiap balok yang terkena akan hilang dan pemain mendapat poin. Di proyek ini kamu akan membuat versi paling sederhana yang dimainkan di layar dengan resolusi hanya 64 piksel, tetapi hampir semua fitur aslinya tersedia, termasuk tiga level. Pembuat memakai perangkat keras dan casing yang sama dengan proyek game Tetris 8x8 buatannya sebelumnya.

Game Breakout di matriks LED 8x8 WS2812B dengan Arduino
Game Breakout mini di matriks LED 8x8 dengan LED WS2812B

Langkah 1: Pahami Cara Kerja Game

  • Saat dinyalakan, layar menampilkan teks berjalan MINI BREAKOUT, lalu game langsung dimulai.
  • Level 1 paling mudah: papan pemukul paling lebar, yaitu 3 piksel.
  • Setiap balok yang terkena bola akan menghilang dan kamu mendapat 1 poin. Seluruh permainan diiringi suara yang sesuai.
  • Jika semua balok hancur, game naik ke level 2 dengan lebar papan 2 piksel. Di level 3 lebar papan hanya 1 piksel, sehingga paling sulit mengikuti bola.
  • Setelah game selesai, skor tampil sebagai teks berjalan dan diakhiri gambar wajah tersenyum (smiley). Tekan salah satu tombol untuk memulai game baru.

Langkah 2: Siapkan Komponen

Kumpulkan: Arduino Nano, matriks LED 8x8 WS2812B, 2 push button, dan buzzer. Baterai dengan regulator tegangan bersifat opsional. Jika memakai catu daya 5V DC eksternal, pastikan mampu memberi arus minimal 1 Ampere.

Langkah 3: Rakit Rangkaian

Rakit rangkaian mengikuti diagram pada bagian Skema Rangkaian. Pembuat memakai casing dari bahan PVC setebal 5 mm berbentuk konsol arcade klasik, yang dilapisi wallpaper perekat.

Skema rangkaian game Breakout matriks LED 8x8
Skema rangkaian game Breakout di matriks LED 8x8

Langkah 4: Atur Jenis Matriks LED

Matriks LED 8x8 di pasaran punya beberapa versi yang berbeda dalam urutan penyambungan LED-nya (zigzag horizontal, vertikal, model ular/snake, dan seterusnya). Karena kita tidak bisa mengubah hardware, pembuat menyiapkan bagian kode untuk memilih salah satu dari 4 metode penyambungan, dan kamu mencobanya satu per satu sampai gambar di matriks tampil benar. Pada kode yang dipublikasikan di halaman ini, urutan piksel diatur oleh fungsi getPixelIndex(x, y) yang memakai urutan baris demi baris (y * MATRIX_WIDTH + x). Jika gambar di matriksmu terbalik atau acak, ubah fungsi ini sesuai pola penyambungan matriksmu.

Langkah 5: Upload Kode Program

Pasang library FastLED di Arduino IDE (Sketch > Include Library > Manage Libraries), salin kode lengkap pada bagian Kode Program, lalu upload ke Arduino Nano.

Beberapa hal yang bisa kamu amati di kode:

  • LED data matriks dihubungkan ke pin 6, tombol kiri ke pin 9, tombol kanan ke pin 10, dan buzzer ke pin 2.
  • Semua parameter game mudah diubah di bagian atas kode, misalnya MIN_X_SPEED, MAX_X_SPEED, MIN_Y_SPEED, MAX_Y_SPEED, nada suara (TONE_HIT, TONE_PADDLE, dan lainnya), serta kecepatan frame (FRAME_TIME).
  • Pembuat sempat menemukan masalah bola yang terus melewati jalur yang sama sehingga beberapa balok tidak bisa dihancurkan, akibat layar yang sangat kecil. Masalah ini diatasi dengan menambahkan sedikit unsur acak pada arah bola, sehingga game jadi lebih menarik.
  • Warna tiap balok dibuat acak setiap game atau level dimulai.
  • Kecerahan LED diatur ke 50 lewat FastLED.setBrightness(50) agar arus yang dibutuhkan tidak terlalu besar.

Langkah 6: Mainkan dan Kembangkan

Setelah kode ter-upload, gerakkan papan pemukul dengan tombol kiri dan kanan, lalu hancurkan semua balok di ketiga level! Menurut pembuatnya, proyek ini adalah versi minimum dari game Breakout di layar 64 piksel, tetapi tetap lengkap dengan semua opsi standar dan efek suara. Tantangan untukmu: ubah kecepatan bola, lebar papan, atau jumlah baris balok untuk membuat versimu sendiri.

🔒
Akses Gratis Khusus Member

Buka Seluruh Panduan, Skema & Source Code

Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!

✓ Akses Gratis Selamanya
✓ Copy-Paste Source Code
✓ Kembali Otomatis ke Proyek

Petualangan Belajar di coseru

💡 Saksikan keseruan anak-anak belajar merakit robot dan coding! Daftar Kelas Uji Coba →