Isi kandungan:

Konsol Arduino Pong Genggam: 6 Langkah (dengan Gambar)
Konsol Arduino Pong Genggam: 6 Langkah (dengan Gambar)

Video: Konsol Arduino Pong Genggam: 6 Langkah (dengan Gambar)

Video: Konsol Arduino Pong Genggam: 6 Langkah (dengan Gambar)
Video: OLED Ping Pong Game | 0.96 | OLED | UNO | 128x64| OLED Display Animation | Arduino | Bitmap 2024, Jun
Anonim
Konsol Arduino Pong Genggam
Konsol Arduino Pong Genggam

DFRobot menghubungi saya baru-baru ini, mahu saya menggunakan papan Arduino Nano dan OLED khas mereka. Pada mulanya saya ingin membuat basikal pintar, dan saya membuatnya sepenuhnya. Tetapi sayangnya Nano terlalu lemah untuk menjalankan dan menyimpan lakaran besar yang diperlukan. Oleh itu, saya memutuskan untuk melihat semula salah satu projek saya sebelumnya, iaitu matriks Neopixel yang menjalankan permainan Pong. Saya mahu menjadikannya mudah alih, dan OLED 1.7 akan menjadikan paparan yang sempurna.

Senarai Bahagian:

  • Arduino nano
  • OLED
  • Penceramah

Langkah 1: Video

Image
Image

Langkah 2: Merancang Permainan

Merancang Permainan
Merancang Permainan

Untuk permainan Pong ini saya ingin menjadikannya agak mudah, yang bermaksud paddle terkawal komputer atau algoritma refleksi bola mewah. Pada dasarnya, ada satu dayung yang dapat digunakan pengguna untuk bergerak ke atas atau ke bawah, dan membuat bola bertabrakan dengan dayung akan menyebabkan vektor sumbu x terbalik. Setiap kali bola terkena ada suara yang bermain. Apabila peranti permainan dihidupkan, layar akan muncul dengan tajuk dan arahan permainan. Selain itu, ibu saya mencipta lagu tema kecil yang bergelung di latar belakang sehingga butang atas ditekan.

Langkah 3: Merancang Perisian Permainan

Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan
Merancang Perisian Permainan

Program masuk ke CAD saya adalah Fusion 360, jadi saya memutuskan untuk menggunakannya untuk merancang peranti permainan pong saya. Saya mulakan dengan merancang setiap komponen yang digunakan: OLED, Arduino Nano, dan pembesar suara. Dengan cara ini saya dapat melihat dengan tepat di mana dan bagaimana setiap komponen sesuai di dalam kandang. Saya kemudian meletakkan Nano dan PCB di bahagian belakang casing, dan OLED di atasnya. Selanjutnya adalah persoalan di mana meletakkan pembesar suara dan butang. Saya memutuskan bahawa pembesar suara 3W boleh berada tepat di bawah skrin (melihatnya dari atas), dan itu juga memerlukan meletakkan "grill" di atas pembesar suara supaya suaranya tidak teredam. Terakhir, saya menambah dua butang di sebelah kiri untuk menambahkan kawalan.

Langkah 4: Membina Peranti

Membina Peranti
Membina Peranti
Membina Peranti
Membina Peranti
Membina Peranti
Membina Peranti

Saya mulakan dengan mencetak 3D setiap bahagian, yang terdiri daripada separuh bahagian bawah, bahagian atas, dan 2 butang. Seterusnya saya memasangkan header wanita ke 4x6cm dan memasangkannya ke Nano. Ini bukan sahaja memungkinkan OLED dikeluarkan dengan mudah, tetapi juga mengangkatnya di atas Arduino Nano. Periksa skema untuk maklumat pendawaian. Kemudian saya memasang dua butang, bersama dengan papan pemecah USB mikro sederhana untuk mendapatkan kuasa. Pembesar suara juga dipasang dan meletakkannya pada kedudukan yang betul. Reka bentuk Fusion 360 saya membolehkan skru mesin 3mm menahan OLED, pembesar suara, dan menyambungkan dua bahagian peranti. Tetapi, saya harus menjadikannya tepat, jadi saya menggunakan mesin gerudi untuk mengeluarkan 8 lubang: 2 untuk pembesar suara, 2 untuk skrin, dan 4 di bawahnya. Anda boleh melayari pautan Thingiverse untuk failnya.

Langkah 5: Memprogram Permainan

Penggunaan antara muka yang sederhana sangat penting untuk menjaga program tetap kecil. Saya mulakan dengan menambahkan beberapa perpustakaan: Adafruit_GFX, Adafruit_SSD1351, dan perpustakaan Arduino Timer. Seterusnya saya menentukan pin dan warna saya, seperti pin OLED dan definisi warna 16 bit. Dalam kod saya ada juga 4 cara untuk mengubah cara permainan dimainkan, seperti mengubah dimensi dayung dan seberapa cepat bola bergerak. Bahagian kemudian wujud di mana setiap pemboleh ubah ditentukan, termasuk skor dan pelbagai koordinat. Setiap kali peranti dihidupkan pada gambar bola dan beberapa teks muncul di layar, bersama dengan lagu tema kecil yang ditentukan sebelumnya dalam kod. Setelah permainan dimulakan dua pemasa dibuat, satu yang mengemas kini dayung, dan yang lain mengemas kini bola. Setiap kali kedudukan bola diperbarui koordinatnya diperiksa untuk memastikan tidak melewati batas layar atau jika menyentuh dayung. Setiap kali memantul sama ada paksi x atau ynya terbalik dan nada kecil dimainkan. Tonton video pada awal penulisan ini untuk melihat bagaimana permainan ini dimainkan.

Langkah 6: Bermain Pong

Bermain Pong!
Bermain Pong!
Bermain Pong!
Bermain Pong!
Bermain Pong!
Bermain Pong!
Bermain Pong!
Bermain Pong!

Nama permainan adalah untuk mendapatkan skor serendah mungkin. Tidak ada had masa, jadi ia sangat menggembirakan dan malah menimbulkan trance. Yang diperlukan hanyalah menekan salah satu daripada dua butang untuk menggerakkan dayung ke atas atau ke bawah. Anda juga boleh menambahkan cara untuk menyimpan skor tertinggi menggunakan EEPROM Arduino.

Disyorkan: