Isi kandungan:

Lagu Tema PUBG + Animasi Dengan Arduino !: 13 Langkah (dengan Gambar)
Lagu Tema PUBG + Animasi Dengan Arduino !: 13 Langkah (dengan Gambar)

Video: Lagu Tema PUBG + Animasi Dengan Arduino !: 13 Langkah (dengan Gambar)

Video: Lagu Tema PUBG + Animasi Dengan Arduino !: 13 Langkah (dengan Gambar)
Video: REZA CIUM CEWEK DIPARKIRAN. #REZAOKTOVIAN #ARAP #YB #YOURBAE #rezaarap #selingkuh 2024, November
Anonim
Image
Image
Mengumpulkan Semua Bahagian
Mengumpulkan Semua Bahagian

Halo di sana dan selamat datang untuk pengajaran yang menyeronokkan ini! Saya harap anda semua sihat dan kekal sihat. Projek kecil tetapi menakjubkan ini adalah tentang memainkan lagu tema PUBG dan bahkan membuat beberapa animasi permainan menggunakan arduino.

Komponen yang digunakan sangat mudah didapati dan sangat senang dipasang pada sekeping papan roti. Saya akan berkongsi keseluruhan proses pembinaan dan pengekodan dalam instruksinya ini, bertahan hingga akhir!

Saya sangat mengesyorkan anda menonton video untuk mendapatkan idea mengenai projek:) Sekiranya anda suka maka suka dan kongsi videonya. Pertimbangkan untuk melanggan saluran saya jika anda menikmati pembuatan saya. Terima kasih!

Oleh itu, tanpa berlengah lagi, mari kita mulakan!

Langkah 1: Mengumpulkan Semua Bahagian

Mengumpulkan Semua Bahagian
Mengumpulkan Semua Bahagian

Bangunannya terutama terdiri dari Arduino Nano yang merupakan teras utama untuk projek ini. Anda boleh menggunakan varian Arduino lain seperti Arduino Uno yang terkenal, Arduino Pro Mini, Arduino Mega dll. Untuk memaparkan animasi dan gambar, saya memutuskan untuk pergi dengan paparan OLED 0.96 inci dengan resolusi 128 x 64 piksel. Paparan ini boleh menjadi antara muka dengan arduino dengan protokol I2C yang hanya memerlukan dua wayar untuk data dan jam, sehingga mengurangkan jumlah sambungan dan menjadikan projek lebih padat. Untuk memainkan melodi tema PUBG, saya menggunakan buzzer 5V di mana saya menghubungkan pin positif dengan pin digital 6 arduino dan tanah menuju ke arduino.

Ini adalah senarai bahagian yang diperlukan untuk projek ini:

  1. Arduino Nano (atau papan arduino lain pilihan anda)
  2. Modul paparan OLED 0.96 inci
  3. Buzzer 5V
  4. Wayar pelompat
  5. Papan roti
  6. Kabel pengaturcaraan Arduino

Langkah 2: Menyambungkan Paparan OLED

Menyambungkan Paparan OLED
Menyambungkan Paparan OLED
Menyambungkan Paparan OLED
Menyambungkan Paparan OLED
Menyambungkan Paparan OLED
Menyambungkan Paparan OLED

Sebanyak 4 sambungan diperlukan untuk paparan OLED disambungkan dari arduino:

Vcc 5V dari Arduino

Gnd Gnd dari Arduino

SDA A4 dari Arduino

SCK A5 dari Arduino

Pin A4 dan A5 dari arduino melayani pelbagai tujuan input analog dan juga pin untuk komunikasi I2C. Di sini kami telah menggunakan pin untuk protokol I2C untuk berinteraksi dengan modul paparan.

Pautan ke perpustakaan Adafruit yang digunakan dalam projek ini:

Langkah 3: Menyambungkan Buzzer

Menyambungkan Buzzer
Menyambungkan Buzzer
Menyambungkan Buzzer
Menyambungkan Buzzer

Buzzer 5V mempunyai terminal bekalan positif dan negatif.

Pin positif D6 dari Arduino (pin digital 6) (anda boleh menggunakan mana-mana pin digital arduino)

Pin negatif Gnd dari Arduino

Kami akan membuat nada yang diinginkan pada pin digital D6 yang mana buzzer akan memainkan melodi.

Langkah 4: Semua Sambungan Perkakasan Selesai

Semua Sambungan Perkakasan Selesai
Semua Sambungan Perkakasan Selesai
Semua Sambungan Perkakasan Selesai
Semua Sambungan Perkakasan Selesai

Semua sambungan paparan OLED dan buzzer yang diperlukan sudah lengkap. Sekarang mari kita fahami aspek pengaturcaraan projek..

Langkah 5: Termasuk Perpustakaan dan Memulakan Protokol Paparan

Termasuk Perpustakaan dan Memulakan Protokol Paparan
Termasuk Perpustakaan dan Memulakan Protokol Paparan

Keseluruhan program telah diasingkan menjadi 3 komponen:

  1. Program utama terdiri dari inisialisasi dan urutan paparan gambar dan melodi
  2. Fail "pitches.h" yang terdiri daripada senarai nota muzik dan frekuensi yang berkaitan
  3. fail "pictures.h" yang terdiri daripada bitmap gambar yang akan dipaparkan.

Proses bagaimana menukar gambar menjadi susunan bitmap untuk paparan OLED dibincangkan dalam langkah-langkah yang akan datang.

Saya juga akan melampirkan keseluruhan kod bersama dengan arahan ini untuk anda gunakan:)

Langkah 6: Melodi Lagu Tema

Melodi Lagu Tema
Melodi Lagu Tema
Melodi Lagu Tema
Melodi Lagu Tema

Saya mencari di internet untuk mendapatkan nota asas yang merangkumi lagu tema PUBG dan kemudian menambahkannya ke array melodi.

Dengan menghabiskan banyak masa bermain dan memainkan semula urutan melodi, saya kemudian membuat susunan jangka masa yang berkaitan dengan berapa lama setiap nota perlu dimainkan. Gabungan array melodi dan susunan durasi merangkumi maklumat lengkap untuk memainkan lagu.

Langkah 7: Memainkan Lagu Semasa Permulaan

Memainkan Lagu Semasa Permulaan
Memainkan Lagu Semasa Permulaan

Terdapat sejumlah 63 nota yang saya gunakan untuk membuat urutan melodi. Menggunakan gelung dan iterasi melalui nota dan susunan tempoh dengan jeda yang telah ditentukan di antara setiap nota, keseluruhan urutan dimainkan sekali, kerana kod ini terletak dalam persediaan kosong (). Menariknya, tidak ada kod untuk projek ini yang menggunakan gelung void () kod arduino kerana saya berniat untuk memainkan dan memaparkan gambar sekali sahaja. Sudah tentu jika anda mahukan urutan berulang maka itu mesti dimasukkan ke dalam fungsi loop kosong ().

Langkah 8: Menukar Imej ke Bitmaps

Menukar Imej ke Bitmap
Menukar Imej ke Bitmap

Sekarang, bahagian yang menarik dari projek ini adalah proses untuk menukar gambar menjadi susunan bitmap untuk paparan OLED mengikut kepadatan pikselnya. Untuk ini, saya menjumpai alat dalam talian prefek yang membolehkan kami menghasilkan bitmap tersuai.

Pautan untuk aplikasi dalam talian ini adalah:

Terima kasih kepada pencipta aplikasi ini, ini menjadikan kerja saya lebih mudah.

Setelah pergi ke pautan, anda mesti memuat naik gambar yang ingin anda buat bitmap. Satu perkara yang perlu diperhatikan di sini ialah anda harus mencuba memilih gambar yang tidak mempunyai banyak kontras warna, cuba menempelkan gambar dengan beberapa warna padat, tanpa sebarang kecerunan untuk mendapatkan hasil yang lebih baik

Langkah 9: Menyelaraskan Resolusi Menurut Paparan Anda

Menyelaraskan Resolusi Menurut Paparan Anda
Menyelaraskan Resolusi Menurut Paparan Anda

Pada langkah berikutnya, kita harus mengubah ukuran gambar sesuai dengan resolusi paparan. Untuk paparan OLED kami, lebarnya 28 piksel dan tinggi 64 piksel, yang telah saya sesuaikan seperti yang ditunjukkan dalam gambar. Sesuaikan ambang kecerahan untuk memastikan gambar sangat jelas (di sinilah kelebihan menggunakan gambar dengan warna pepejal dimainkan, semakin banyak kecerunan warna, kualiti gambar dalam paparan monokrom akan merosot ketika mengacaukan ambang kecerahan).

Langkah seterusnya adalah memasangkan gambar di layar dengan menjaga agar bahagiannya tetap utuh dan menyesuaikan dengan simetri yang mana pilihannya sudah ada. Anda boleh meneroka pilihan ini untuk mendapatkan output gambar yang diinginkan. Sebagai rujukan, anda juga mendapat pilihan pratonton yang menakjubkan!

Langkah 10: Menjana Array Bitmap

Menjana Array Bitmap
Menjana Array Bitmap

Setelah menyesuaikan parameter gambar, pada langkah seterusnya pilih saja kod Arduino sebagai format output dan klik menghasilkan untuk mendapatkan susunan bitmap yang diinginkan!

Di sana! anda berjaya menukar gambar anda ke susunan bitmap yang dikehendaki. Saya telah melakukan proses ini untuk sejumlah 7 gambar dan menyimpannya.

Langkah 11: Memaparkan Imej Sebagai Urutan

Memaparkan Imej Sebagai Urutan
Memaparkan Imej Sebagai Urutan
Memaparkan Imej Sebagai Urutan
Memaparkan Imej Sebagai Urutan
Memaparkan Imej Sebagai Urutan
Memaparkan Imej Sebagai Urutan

Untuk memaparkan gambar, saya telah menggunakan fungsi Arduino millis () untuk memanggil fungsi draw () yang pada dasarnya adalah satu set perintah untuk membersihkan paparan, plot array bitmap ke OLED dan inisialisasi paparan. Logik utamanya ialah selepas setiap 3.5 saat, gambar diubah dan gambar seterusnya dipaparkan. Nah, 3.5 saat bukan nombor yang unik, saya baru tahu bahawa jika saya membahagikan keseluruhan tempoh melodi dengan 7 gambar, saya mendapat kira-kira 3.5 saat untuk setiap paparan. Anda boleh menambahkan lebih banyak gambar untuk ini dan mengurangkan masa paparan untuk setiap gambar jika anda mahu.

Coretan kod menerangkan bagaimana fungsi dipanggil berdasarkan fungsi milis ().

Keseluruhan susunan bitmap gambar disimpan dalam fail "pictures.h"

Langkah 12: Keseluruhan Kod:

Di sini saya kongsikan keseluruhan kod untuk anda semua bermain-main dan bereksperimen!

Setelah semuanya kelihatan baik, sudah tiba masanya untuk memuat naiknya ke papan iklan:)

Langkah 13: Hasilnya:

Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan
Keputusan

Seperti yang anda lihat gambar ternyata hebat! Begitu juga melodi! Saya harap anda telah menonton video di mana keseluruhan demonstrasi hadir.

Saya harap PUBG versi Arduino ini adalah projek yang menarik untuk semua peminat permainan dan elektronik di luar sana.

Jangan ragu untuk berkongsi maklum balas anda dalam komen dan berkongsi cadangan. Juga, pertimbangkan untuk melanggan saluran saya untuk lebih banyak kandungan seperti ini kerana ini adalah sebahagian daripada siri OLED yang sedang saya kerjakan. Beritahu saya jika anda membina projek yang menyeronokkan ini:)

Sehingga lain kali.

Disyorkan: