Isi kandungan:
- Langkah 1: Bahagian
- Langkah 2: Pendawaian
- Langkah 3: Pendawaian Alternatif
- Langkah 4: Kod + Penjelasan
- Langkah 5: Terima kasih kerana Membaca
Video: Tenis Pong Dengan Matrik LED, Arduino dan Joysticks: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
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
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 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:
MATRIK LED SMART LED DALAMAN INTERNET (ADAFRUIT + ESP8266 + WS2812): 8 Langkah (dengan Gambar)
DIY INTERNET CONTROLLED SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Inilah kemajuan ke-2 saya untuk projek yang saya sangat teruja untuk menunjukkan kepada anda. Ini mengenai Matriks LED Pintar DIY yang membolehkan anda memaparkannya, data, seperti Statistik YouTube, Statistik Rumah Pintar anda, kerana suhu, kelembapan, boleh menjadi jam sederhana, atau hanya menunjukkan
Matrik LED Terkawal Pembantu Google!: 7 Langkah (dengan Gambar)
Matrik LED terkawal Pembantu Google!: Dalam tutorial ini, saya akan menunjukkan kepada anda bagaimana anda boleh membuat Matriks LED Terkawal Pembantu Google yang boleh anda kendalikan borang di mana sahaja menggunakan telefon pintar, Jadi mari kita mulakan
MATRIK LED SMART DIY (ESP8266 + WS2812 / NeoPixels): 7 Langkah (dengan Gambar)
DIY SMART LED MATRIX (ESP8266 + WS2812 / NeoPixels): Inilah pengenalan saya mengenai projek yang saya sangat teruja untuk menunjukkan kepada anda. Ini mengenai Matriks LED Pintar DIY yang akan membolehkan anda menunjukkannya, data, seperti Statistik YouTube, Statistik Rumah Pintar anda, kerana suhu, kelembapan, boleh menjadi jam sederhana, atau hanya
Jam Penggera Matrik LED (dengan Pemain MP3): 6 Langkah (dengan Gambar)
Jam Penggera Matriks LED (dengan Pemain MP3): Jam penggera berasaskan Arduino ini mempunyai semua yang anda harapkan dari penggera anda - kemungkinan untuk membangunkan anda dengan setiap lagu yang anda suka, butang tunda dan mudah dikendalikan melalui tiga butang. Terdapat tiga blok utama - matrik LED, modul RTC dan
PAPARAN MATRIK LED 8x8 - ARDUINO - KAWALAN BLUETOOTH: 7 Langkah (dengan Gambar)
PAPARAN MATRIK LED 8x8 | ARDUINO | BLUETOOTH CONTROL: Dalam tutorial ini saya menunjukkan cara membina matriks LED 8 x 8 menggunakan Arduino.DO KOMENTAR APA YANG ANDA FIKIRKAN TENTANG INSTRUCTABLE INI, JADI SAYA DAPAT MENINGKATKAN DALAM INSTRUKTABLAH LANJUT SAYA, lihat tutorial video untuk pemahaman yang lebih baik mengenai keseluruhan