Isi kandungan:

Tenis Pong Dengan Matrik LED, Arduino dan Joysticks: 5 Langkah (dengan Gambar)
Tenis Pong Dengan Matrik LED, Arduino dan Joysticks: 5 Langkah (dengan Gambar)

Video: Tenis Pong Dengan Matrik LED, Arduino dan Joysticks: 5 Langkah (dengan Gambar)

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

Projek ini bertujuan untuk pemula dan pengguna yang berpengalaman. Pada tahap asas, ia dapat dilakukan dengan papan roti, kabel jumper dan menempel pada sekeping bahan sekerap (saya menggunakan kayu) dengan Blu-Tack dan tanpa pematerian. Namun pada tahap yang lebih maju, ia dapat disolder ke papan wangi atau PCB khusus.

Oleh kerana ini adalah projek penguncian, saya tidak mempunyai akses ke banyak alat atau bahan, jadi mengapa ia menempel pada sekeping kayu sekerap yang sedikit terlalu kecil dengan Blu-Tack, namun walaupun ini ia adalah projek yang menyeronokkan yang disatukan dengan cepat dan terdiri daripada alat ganti yang terdapat di dalam talian dengan harga murah.

Langkah 1: Bahagian

Untuk membuat Permainan Pong yang anda perlukan;

  • 1x An Arduino (jenis apa pun akan berfungsi)
  • Matriks LED 4x MAX7219 8x8
  • Joystick 2x
  • 1x Piezo Buzzer (Pilihan)
  • 15x Kabel Pelompat Wanita-Wanita (3x kumpulan 5)
  • 15x Kabel Jumper Lelaki-Wanita (3x kumpulan 5)
  • Wayar Pelompat Lelaki-Lelaki 18x
  • Papan Roti 1x
  • Perintang 1x 220Ω

Daripada papan Arduino Uno atau Nano, anda boleh menggunakan Arduino berasaskan papan roti dengan;

  • 1x ATmega328p 28pin IC
  • Pengayun Kristal 1x 16kHz
  • Kapasitor Seramik 2x 22pF
  • Penukar 1x USB FTDI UART
  • Kapasitor Elektrolitik 1x 100uF
  • Breakout USB Mikro 1x (Pilihan)

Alat;

  • PC dengan Arduino IDE (dan Perpustakaan LedControl)
  • Kabel USB yang berkaitan untuk Arduino anda
  • Power Bank untuk mematikan permainan dari komputer anda

Langkah 2: Pendawaian

Pendawaian
Pendawaian
Pendawaian
Pendawaian

Pendawaiannya sangat mudah kerana semua yang anda perlukan adalah wayar pelompat untuk menghubungkan tajuk Matrik dan Joysticks ke Arduino. Satu-satunya komplikasi adalah kekuatan kerana Arduino Uno hanya mempunyai 3 sambungan GND dan satu sambungan 5v. Di sinilah papan roti masuk dan berfungsi sebagai rel pengedaran kuasa untuk semua komponen, Sekiranya anda menggunakan NANO papan roti akan berfungsi dengan tujuan yang sama dan juga membolehkan anda memasangkan semuanya.

Untuk pendawaian ikuti sambungan ini.

  • Joystick Kiri - GND dan 5v ke rel kuasa masing-masing. SW - pin 9, VRx - A0, VRy - A1.
  • Joystick Kanan - GND dan 5v ke rel kuasa masing-masing. SW - pin 8, VRx - A2, VRy - A3.
  • Matriks LED paling kanan - GND dan 5v ke rel kuasa masing-masing. DIN - 13, CS - 11, CLK - 12. (Seperti baris 25)
  • Semua Matriks LED yang lain boleh digari keluar dari output yang pertama dari kanan ke kiri sehingga kodnya berfungsi dengan baik.
  • Buzzer Pilihan - Anod (+) hingga 220Ω arus had perintang ke pin 10, Kod (-) - GND.

Langkah 3: Pendawaian Alternatif

Pendawaian Altern-t.webp
Pendawaian Altern-t.webp
Pendawaian Altern-t.webp
Pendawaian Altern-t.webp
Pendawaian Altern-t.webp
Pendawaian Altern-t.webp

Setelah memasangkannya dengan Arduino UNO untuk menjimatkan ruang, saya memutuskan untuk meletakkan IC Arduino dari UNO di papan roti dengan 16Mhz Crystal Oscillator dan sepasang kapasitor 22pF dari setiap sisi ke tanah. Saya rasa ini adalah pengubahsuaian yang bermanfaat kerana menjadikan projek ini kelihatan lebih kemas dan selesai tetapi anda perlu menggunakan pengaturcara USB FTDI untuk mengemas kini program.

Langkah 4: Kod + Penjelasan

Untuk memuat naik kod ke Arduino, muat turun perpustakaan LedControl dari GitHub di sini, github.com/wayoda/LedControl dan tambahkan fail Zip atau tambahkan melalui Pengurus Perpustakaan dalam IDE. Setelah itu buka lakaran yang dilampirkan, pilih Arduino anda di papan dan tetapan port di bawah alat dan muat naik ke arduino.

Penjelasan

Baris 1: Menambah perpustakaan

Baris 5-23: Menetapkan semua pemboleh ubah, pemalar dan nombor pin.

Baris 25: Menetapkan LED Martix dan menetapkan pin kawalan dan berapa banyak paparan.

Baris 27: Menetapkan Fungsi Tetapkan Semula.

Baris 30-35: Fungsi mematikan untuk menghidupkan / mematikan semua paparan bersama.

Baris 38-43: Fungsi SetIntensity untuk mengatur kecerahan semua paparan bersama.

Baris 46-51: ClearAll berfungsi untuk menghapus semua paparan bersama.

Baris 53-64: Fungsi joystick untuk mendapatkan posisi kayu bedik, memetakannya ke 7 kemungkinan posisi kelawar untuk memukul bola dan kemudian menggerakkan kelawar ke posisi baru.

Baris 67-435: Fungsi yang menggerakkan bola ke pemain kiri pada ketinggian dan kelajuan yang ditentukan, memeriksa sama ada pemain memukulnya dan sama ada meneruskan dan menetapkan status kemalangan menjadi benar atau melambung bola, menambah 1 pada skor dan meningkatkan kelajuan.

Baris 438-811: Fungsi yang menggerakkan bola ke pemain kanan pada ketinggian dan kelajuan yang ditentukan, memeriksa sama ada pemain memukulnya dan sama ada meneruskan dan menetapkan status crash menjadi benar atau melambung bola kembali, menambah 1 pada skor dan meningkatkan kelajuan.

Baris 813-823: Fungsi untuk menampilkan Wajah Senyum, Tandakan, Salib atau Tanda Tanya ke paparan yang ditentukan (0 di sebelah kanan hingga 3 di sebelah kiri).

Baris 861-979: Fungsi untuk menampilkan nombor 0-9 ke paparan yang ditentukan.

Baris 981-1047: Fungsi untuk menampilkan skor ke setiap pemain di sebelah skrin.

Baris 1049-1064: Fungsi untuk memeriksa sama ada pemain sudah bersedia.

Baris 1066-1076: Bahagian Persediaan kod untuk kod yang dijalankan sekali semasa program dimulakan.

Baris 1078-1136: Bahagian Gelung Utama untuk logik permainan di mana semua fungsi digunakan dan di mana siapa yang menang diputuskan dan kemudian memulakan semula program setelah 5 saat menunjukkan skor.

Langkah 5: Terima kasih kerana Membaca

Terima kasih untuk membaca
Terima kasih untuk membaca

Terima kasih kerana membaca Instructable ini, ia merupakan projek penguncian yang menyeronokkan yang disatukan selama beberapa hari ketika saya mengetahui lebih lanjut mengenai pengaturcaraan Arduino. Sekiranya anda menikmatinya, silakan memilihnya dalam pertandingan Arduino.

Disyorkan: