Daftar Isi:

Tenis Pong Dengan Matriks LED, Arduino dan Joystick: 5 Langkah (dengan Gambar)
Tenis Pong Dengan Matriks LED, Arduino dan Joystick: 5 Langkah (dengan Gambar)

Video: Tenis Pong Dengan Matriks LED, Arduino dan Joystick: 5 Langkah (dengan Gambar)

Video: Tenis Pong Dengan Matriks LED, Arduino dan Joystick: 5 Langkah (dengan Gambar)
Video: PixelPaddle: Creating a DIY Arduino Pong Game on a Tiny 1.3-Inch OLED Display ! @cubityt 2024, Juli
Anonim
Tenis Pong Dengan Matriks LED, Arduino, dan Joystick
Tenis Pong Dengan Matriks LED, Arduino, dan Joystick

Proyek ini ditujukan untuk pemula dan pengotak berpengalaman. Pada tingkat dasar itu dapat dilakukan dengan papan tempat memotong roti, kabel jumper dan menempel pada sepotong bahan bekas (saya menggunakan kayu) dengan Blu-Tack dan tanpa solder. Namun pada tingkat yang lebih maju dapat disolder ke papan perf atau PCB khusus.

Karena ini adalah proyek penguncian, saya tidak memiliki akses ke banyak alat atau bahan, oleh karena itu mengapa itu menempel pada sepotong kayu bekas yang sedikit terlalu kecil dengan Blu-Tack, namun meskipun demikian, ini adalah proyek yang menyenangkan yang disatukan cepat dan terdiri dari suku cadang yang tersedia secara umum yang dapat ditemukan dengan harga murah secara online.

Langkah 1: Bagian

Untuk membuat Game Pong yang Anda butuhkan;

  • 1x Arduino (jenis apa pun bisa digunakan)
  • 4x MAX7219 8x8 LED Matriks
  • 2x Joystick
  • 1x Piezo Buzzer (Opsional)
  • 15x Kabel Jumper Wanita-Wanita (3x kelompok 5)
  • 15x Kabel Jumper Pria-Wanita (3x kelompok 5)
  • 18x Kabel Jumper Pria-Pria
  • 1x papan tempat memotong roti
  • 1x220Ω Resistor

Alih-alih papan Arduino Uno atau Nano Anda dapat menggunakan papan tempat memotong roti berbasis Arduino dengan;

  • 1x ATmega328p 28pin IC
  • Osilator Kristal 1x 16kHz
  • Kapasitor Keramik 2x 22pF
  • 1x USB FTDI UART Converter
  • 1x 100uF Kapasitor Elektrolit
  • 1x Micro USB Breakout (Opsional)

Peralatan;

  • PC dengan Arduino IDE (dan LedControl Library)
  • Kabel USB yang relevan untuk Arduino Anda
  • Power Bank untuk menghidupkan game dari komputer Anda

Langkah 2: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Pengkabelannya sangat sederhana karena yang Anda butuhkan hanyalah kabel jumper untuk menghubungkan header Matriks dan Joystick ke Arduino. Satu-satunya komplikasi adalah daya karena Arduino Uno hanya memiliki 3 koneksi GND dan satu koneksi 5v. Di sinilah papan tempat memotong roti masuk dan bertindak sebagai rel distribusi daya untuk semua komponen, Jika Anda menggunakan NANO papan tempat memotong roti akan melayani tujuan yang sama serta memungkinkan Anda untuk menyambungkan semuanya.

Untuk kabel ikuti koneksi ini.

  • Joystick Kiri - GND dan 5v ke rel daya masing-masing. SW - pin 9, VRx - A0, VRy - A1.
  • Joystick Kanan - GND dan 5v ke rel daya masing-masing. SW - pin 8, VRx - A2, VRy - A3.
  • Matriks LED paling kanan - GND dan 5v ke rel daya masing-masing. DIN - 13, CS - 11, CLK - 12. (Sesuai baris 25)
  • Semua Matriks LED lainnya dapat dirantai dari output yang pertama dari kanan ke kiri sehingga kode berfungsi dengan baik.
  • Buzzer Opsional - Anoda(+) melalui resistor pembatas arus 220Ω ke pin 10, Katoda(-) - GND.

Langkah 3: Pengkabelan Alternatif

Pengkabelan Altern-t.webp
Pengkabelan Altern-t.webp
Pengkabelan Altern-t.webp
Pengkabelan Altern-t.webp
Pengkabelan Altern-t.webp
Pengkabelan Altern-t.webp

Setelah memasangnya dengan Arduino UNO untuk menghemat ruang, saya memutuskan untuk meletakkan IC Arduino dari UNO di papan tempat memotong roti dengan Osilator Kristal 16Mhz dan sepasang kapasitor 22pF dari setiap sisi ke ground. Saya merasa ini adalah modifikasi yang bermanfaat karena membuat proyek terlihat lebih rapi dan lebih selesai namun Anda harus menggunakan programmer USB FTDI untuk memperbarui program.

Langkah 4: Kode + Penjelasan

Untuk mengunggah kode ke Arduino, unduh perpustakaan LedControl dari GitHub di sini, github.com/wayoda/LedControl dan tambahkan file Zip atau tambahkan melalui Library Manager di dalam IDE. Setelah itu buka sketsa terlampir, pilih Arduino Anda di papan dan pengaturan port di bawah alat dan unggah ke arduino.

Penjelasan

Baris 1: Menambahkan perpustakaan

Baris 5-23: Mengatur semua variabel, konstanta dan nomor pin.

Baris 25: Mengatur Martix LED dan mengatur pin kontrol dan berapa banyak tampilan.

Baris 27: Mengatur Fungsi Reset.

Baris 30-35: Fungsi Shutdown untuk menghidupkan/mematikan semua tampilan secara bersamaan.

Baris 38-43: SetIntensity berfungsi untuk mengatur kecerahan semua tampilan secara bersamaan.

Baris 46-51: ClearAll berfungsi untuk menghapus semua tampilan secara bersamaan.

Baris 53-64: joystick Berfungsi untuk mendapatkan posisi joystick, memetakannya ke 7 posisi bat yang memungkinkan untuk memukul bola dan kemudian memindahkan bat ke posisi baru.

Baris 67-435: Fungsi yang menggerakkan bola ke kiri pemain pada ketinggian dan kecepatan yang ditentukan, memeriksa apakah pemain memukulnya dan melanjutkan dan menetapkan status tabrakan ke true atau memantulkan bola kembali, menambahkan 1 ke skor dan meningkatkan kecepatan.

Baris 438-811: Fungsi yang menggerakkan bola ke pemain yang tepat pada ketinggian dan kecepatan yang ditentukan, memeriksa apakah pemain memukulnya dan melanjutkan dan menetapkan status tabrakan ke true atau memantulkan bola kembali, menambahkan 1 ke skor dan meningkatkan kecepatan.

Baris 813-823: Fungsi untuk menampilkan Wajah Tersenyum, Centang, Silang atau Tanda Tanya ke tampilan yang ditentukan (0 di kanan hingga 3 di kiri).

Baris 861-979: Berfungsi untuk menampilkan angka 0-9 ke tampilan yang ditentukan.

Baris 981-1047: Berfungsi untuk menampilkan skor ke setiap sisi pemain di layar.

Baris 1049-1064: Berfungsi untuk memeriksa apakah pemutar sudah siap.

Baris 1066-1076: Bagian penataan kode untuk kode yang dijalankan sekali saat program dimulai.

Baris 1078-1136: Bagian Loop Utama untuk logika permainan di mana semua fungsi digunakan dan di mana siapa yang menang ditentukan dan kemudian memulai kembali program setelah 5 detik menunjukkan skor.

Langkah 5: Terima kasih telah Membaca

Terima kasih sudah membaca
Terima kasih sudah membaca

Terima kasih telah membaca Instructable ini, ini adalah proyek penguncian yang menyenangkan yang datang bersama selama beberapa hari saat saya belajar lebih banyak tentang pemrograman Arduino. Jika Anda menikmatinya, jangan ragu untuk memilihnya di kontes Arduino.

Direkomendasikan: