Daftar Isi:

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, Juli
Anonim
Image
Image
Mengumpulkan Semua Bagian
Mengumpulkan Semua Bagian

Halo dan selamat datang di instruksi yang menyenangkan ini! Saya harap kalian semua baik-baik saja dan tetap sehat. Proyek kecil tapi luar biasa ini adalah tentang memainkan lagu tema PUBG dan bahkan membuat beberapa animasi game menggunakan arduino.

Komponen yang digunakan sangat mudah didapat dan sangat mudah untuk dirakit di atas papan tempat memotong roti. Saya akan membagikan seluruh proses pembuatan dan pengkodean dalam instruksi ini, bertahan sampai akhir!

Saya sangat menyarankan Anda menonton video untuk mendapatkan ide tentang proyek ini:) Jika Anda suka maka suka dan bagikan videonya. Pertimbangkan untuk berlangganan saluran saya jika Anda menikmati build saya. Terima kasih!

Jadi, tanpa penundaan lebih lanjut, mari kita mulai!

Langkah 1: Kumpulkan Semua Bagian

Mengumpulkan Semua Bagian
Mengumpulkan Semua Bagian

Membangun terutama terdiri dari Arduino Nano yang merupakan inti utama untuk proyek ini. Anda dapat menggunakan varian Arduino lainnya seperti Arduino Uno yang populer, Arduino Pro Mini, Arduino Mega dll. Untuk menampilkan animasi dan gambar, saya memutuskan untuk menggunakan layar OLED 0,96 inci dengan resolusi 128 x 64 piksel. Tampilan ini dapat dihubungkan dengan arduino dengan protokol I2C yang hanya membutuhkan dua kabel untuk data dan jam, sehingga mengurangi jumlah koneksi dan membuat proyek lebih ringkas. Untuk memainkan melodi tema PUBG saya menggunakan buzzer 5V yang saya sambungkan pin positifnya dengan pin digital 6 arduino dan ground ke ground Arduino.

Ini adalah daftar bagian yang dibutuhkan untuk proyek:

  1. Arduino Nano (atau papan arduino lain pilihan Anda)
  2. Modul tampilan OLED 0,96 Inci
  3. bel 5V
  4. Kabel jumper
  5. Papan tempat memotong roti
  6. kabel pemrograman Arduino

Langkah 2: Menghubungkan Layar OLED

Menghubungkan Layar OLED
Menghubungkan Layar OLED
Menghubungkan Layar OLED
Menghubungkan Layar OLED
Menghubungkan Layar OLED
Menghubungkan Layar OLED

Diperlukan total 4 koneksi agar tampilan OLED dapat terhubung dari arduino:

Vcc 5V dari Arduino

Gnd Gnd Arduino

SDA A4 dari Arduino

SCK A5 dari Arduino

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

Tautan ke perpustakaan Adafruit yang digunakan dalam proyek ini:

Langkah 3: Menghubungkan Buzzer

Menghubungkan Buzzer
Menghubungkan Buzzer
Menghubungkan Buzzer
Menghubungkan Buzzer

Buzzer 5V memiliki terminal suplai positif dan negatif.

Pin positif D6 Arduino (pin digital 6) (Anda dapat menggunakan pin digital apa pun dari Arduino)

Pin negatif Gnd dari Arduino

Kita akan membuat nada yang diinginkan pada pin digital D6 dimana bel akan memainkan melodi.

Langkah 4: Semua Koneksi Perangkat Keras Selesai

Semua Koneksi Hardware Lengkap
Semua Koneksi Hardware Lengkap
Semua Koneksi Hardware Lengkap
Semua Koneksi Hardware Lengkap

Semua koneksi yang diperlukan dari layar OLED dan bel sudah lengkap. Sekarang mari kita lanjutkan untuk memahami aspek pemrograman proyek..

Langkah 5: Menyertakan Perpustakaan dan Menginisialisasi Protokol Tampilan

Termasuk Library dan Inisialisasi Protokol Tampilan
Termasuk Library dan Inisialisasi Protokol Tampilan

Seluruh program telah dipisahkan menjadi 3 komponen:

  1. Program utama yang terdiri dari inisialisasi dan urutan tampilan gambar dan melodi
  2. File "pitches.h" yang terdiri dari daftar not musik dan frekuensi terkait
  3. "pictures.h" file yang terdiri dari bitmap dari gambar yang akan ditampilkan.

Proses bagaimana mengubah gambar menjadi array bitmap untuk tampilan OLED dibahas dalam langkah-langkah mendatang.

Saya juga akan melampirkan seluruh kode bersama dengan instruksi 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 catatan dasar yang terdiri dari lagu tema PUBG dan kemudian menambahkannya ke susunan melodi.

Dengan menghabiskan banyak waktu untuk memainkan dan memutar ulang urutan melodi, saya kemudian membuat larik durasi waktu yang berkaitan dengan berapa lama setiap not harus dimainkan. Kombinasi larik melodi dan larik durasi terdiri dari informasi lengkap untuk memainkan lagu.

Langkah 7: Memutar Lagu Selama Startup

Memutar Lagu Selama Startup
Memutar Lagu Selama Startup

Ada total 63 not yang saya gunakan untuk membuat urutan melodi. Menggunakan for loop dan iterasi melalui not dan larik durasi dengan jeda yang telah ditentukan di antara setiap not, seluruh urutan dimainkan satu kali, karena potongan kode ini terletak dalam pengaturan kosong(). Menariknya, tidak ada kode untuk proyek ini yang menggunakan void loop() dari kode arduino karena saya bermaksud untuk memutar dan menampilkan gambar hanya sekali. Tentu saja jika Anda ingin urutan yang berulang maka itu harus dimasukkan ke dalam fungsi void loop().

Langkah 8: Mengonversi Gambar ke Bitmap

Mengubah Gambar menjadi Bitmap
Mengubah Gambar menjadi Bitmap

Sekarang, bagian yang menarik dari proyek ini adalah proses untuk mengubah gambar menjadi array bitmap untuk tampilan OLED sesuai dengan kerapatan pikselnya. Untuk ini saya menemukan alat online prefek yang memungkinkan kita untuk menghasilkan bitmap kustom.

Link untuk aplikasi online ini adalah:

Terima kasih kepada pencipta luar biasa dari aplikasi ini, ini membuat pekerjaan saya lebih mudah.

Setelah membuka tautan, pertama-tama Anda harus mengunggah gambar yang ingin Anda buat bitmapnya. Satu hal yang perlu diperhatikan di sini adalah Anda harus mencoba untuk memilih gambar yang tidak memiliki banyak kontras warna di dalamnya, cobalah tetap berpegang pada gambar dengan beberapa warna solid, tanpa gradien untuk mendapatkan hasil yang lebih baik.

Langkah 9: Menyesuaikan Resolusi Menurut Tampilan Anda

Menyesuaikan Resolusi Sesuai Tampilan Anda
Menyesuaikan Resolusi Sesuai Tampilan Anda

Pada langkah selanjutnya, kita harus mengubah ukuran gambar sesuai dengan resolusi layar keluar. Untuk tampilan OLED kami, lebarnya 28 piksel dan tinggi 64 piksel, yang telah saya sesuaikan seperti yang ditunjukkan pada gambar. Sesuaikan ambang kecerahan untuk memastikan gambar cukup jelas (di sinilah keuntungan menggunakan gambar dengan warna solid berperan, semakin banyak gradien warna, kualitas gambar dalam tampilan monokrom akan menurun karena mengacaukan ambang kecerahan).

Langkah selanjutnya adalah menyesuaikan gambar di layar dengan menjaga proporsi tetap utuh dan menyesuaikan simetri yang opsinya sudah ada. Anda dapat menjelajahi opsi ini untuk mendapatkan output gambar yang diinginkan. Untuk referensi, Anda juga mendapatkan opsi pratinjau yang luar biasa!

Langkah 10: Membuat Array Bitmap

Menghasilkan Array Bitmap
Menghasilkan Array Bitmap

Setelah menyesuaikan parameter gambar, pada langkah selanjutnya pilih saja kode Arduino sebagai format output dan klik generate untuk mendapatkan array bitmap yang diinginkan!

Di sana! Anda telah berhasil mengonversi gambar Anda ke array bitmap yang diinginkan. Saya telah melakukan proses ini untuk total 7 gambar dan menyimpannya.

Langkah 11: Menampilkan Gambar Sebagai Urutan

Menampilkan Gambar Sebagai Urutan
Menampilkan Gambar Sebagai Urutan
Menampilkan Gambar Sebagai Urutan
Menampilkan Gambar Sebagai Urutan
Menampilkan Gambar Sebagai Urutan
Menampilkan Gambar Sebagai Urutan

Untuk menampilkan gambar, saya telah menggunakan fungsi Arduino millis() untuk memanggil fungsi draw() yang pada dasarnya adalah sekumpulan perintah untuk menghapus tampilan, memplot array bitmap ke OLED dan menginisialisasi tampilan. Logika utamanya adalah bahwa setelah setiap 3,5 detik, gambar diubah dan gambar berikutnya ditampilkan. Yah, 3,5 detik bukanlah angka yang unik, saya baru tahu bahwa jika saya membagi seluruh durasi melodi dengan 7 gambar, saya mendapat kira-kira 3,5 detik untuk setiap tampilan. Anda dapat menambahkan lebih banyak gambar ke dalamnya dan mengurangi waktu tampilan untuk setiap gambar jika Anda mau.

Cuplikan kode menjelaskan bagaimana fungsi dipanggil berdasarkan fungsi millis().

Seluruh array bitmap gambar disimpan dalam file "pictures.h"

Langkah 12: Seluruh Kode:

Di sini saya membagikan seluruh kode untuk Anda semua mainkan dan bereksperimen!

Setelah semuanya tampak baik-baik saja, saatnya untuk mengunggahnya ke papan:)

Langkah 13: Hasil:

Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil
Hasil

Seperti yang Anda lihat, gambarnya ternyata sangat bagus! Dan begitu pula melodinya! Saya harap Anda telah menonton video di mana seluruh demonstrasi hadir.

Saya harap PUBG versi Arduino ini adalah proyek yang menarik untuk semua penggemar game dan elektronik di luar sana.

Silakan bagikan umpan balik Anda di komentar dan bagikan saran apa pun. Juga, pertimbangkan untuk berlangganan saluran saya untuk lebih banyak konten seperti ini karena ini adalah bagian dari seri OLED yang sedang saya kerjakan. Beri tahu saya jika Anda membuat proyek yang menyenangkan ini:)

Sampai Lain waktu.

Direkomendasikan: