Daftar Isi:
- Langkah 1: Kumpulkan Semua Bagian
- Langkah 2: Menghubungkan Layar OLED
- Langkah 3: Menghubungkan Buzzer
- Langkah 4: Semua Koneksi Perangkat Keras Selesai
- Langkah 5: Menyertakan Perpustakaan dan Menginisialisasi Protokol Tampilan
- Langkah 6: Melodi Lagu Tema
- Langkah 7: Memutar Lagu Selama Startup
- Langkah 8: Mengonversi Gambar ke Bitmap
- Langkah 9: Menyesuaikan Resolusi Menurut Tampilan Anda
- Langkah 10: Membuat Array Bitmap
- Langkah 11: Menampilkan Gambar Sebagai Urutan
- Langkah 12: Seluruh Kode:
- Langkah 13: Hasil:
Video: Lagu Tema PUBG+Animasi Dengan Arduino!: 13 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
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
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:
- Arduino Nano (atau papan arduino lain pilihan Anda)
- Modul tampilan OLED 0,96 Inci
- bel 5V
- Kabel jumper
- Papan tempat memotong roti
- kabel pemrograman Arduino
Langkah 2: 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
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 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
Seluruh program telah dipisahkan menjadi 3 komponen:
- Program utama yang terdiri dari inisialisasi dan urutan tampilan gambar dan melodi
- File "pitches.h" yang terdiri dari daftar not musik dan frekuensi terkait
- "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
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
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
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
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
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
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:
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:
Lubang Api Dengan Api Reaktif Suara, Speaker Bluetooth, dan LED Animasi: 7 Langkah (dengan Gambar)
Fire Pit Dengan Suara Reaktif Api, Speaker Bluetooth, dan LED Animasi: Tidak ada yang mengatakan waktu musim panas seperti bersantai di dekat api. Tapi tahukah Anda apa yang lebih baik dari api? Api DAN Musik! Tapi kita bisa melangkah satu langkah, tidak, dua langkah lebih jauh…Api, Musik, lampu LED, Suara Reaktif Api! Mungkin terdengar ambisius, tapi ini Ins
Lampu Led Animasi Dinding Berdebu Arduino Dengan Efek Cahaya: 11 Langkah (dengan Gambar)
Lampu Led Animasi Arduino Dinding Berdebu Dengan Efek Cahaya: Saya baru saja memiliki bayi dan setelah melakukan kamar tidurnya, saya membutuhkan lampu di dinding. Karena saya sangat menyukai LED, saya memutuskan untuk membuat sesuatu. Saya juga menyukai pesawat pada umumnya, jadi mengapa tidak meletakkan pesawat dari kartun di dinding, di sini saat itu dimulai dan bagaimana saya melakukannya. Semoga
Kotak Cokelat Animasi (dengan Arduino Uno): 3 Langkah (dengan Gambar)
Kotak Cokelat Animasi (dengan Arduino Uno): Suatu kali saya melihat sekotak cokelat yang indah di sebuah toko. Dan terpikir oleh saya untuk membuat hadiah yang luar biasa dari kotak ini - kotak animasi dengan cokelat. Yang kita butuhkan: kotak cokelat plastik bening Baterai 9V Adaptor kabel baterai uSD 1GB Arduino U
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: 11 Langkah (dengan Gambar)
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: Kisah jam ini kembali ke masa lalu - lebih dari 30 tahun. Ayah saya mempelopori ide ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan kecemerlangan menyilaukan mereka saat ini. Benar
Arduino Uno: Animasi Bitmap pada ILI9341 TFT Touchscreen Display Shield Dengan Visuino: 12 Langkah (dengan Gambar)
Arduino Uno: Animasi Bitmap pada ILI9341 TFT Touchscreen Display Shield Dengan Visuino: TFT Touchscreen Display Shields berbasis ILI9341 adalah Display Shields berbiaya rendah yang sangat populer untuk Arduino. Visuino telah memiliki dukungan untuk mereka cukup lama, tetapi saya tidak pernah memiliki kesempatan untuk menulis Tutorial tentang cara menggunakannya. Namun baru-baru ini hanya sedikit orang yang bertanya