coseru.id - Coding asik & Seru

🔍 Cari Materi & Kelas

Robotika & Otomasi Tingkat: Pemula 5 x dilihat

Belajar Bermain Drum dengan Arduino, Sensor Suara, dan Servo Motor

Belajar Bermain Drum dengan Arduino, Sensor Suara, dan Servo Motor

Ringkasan Proyek

Proyek ini mengubah suara tepuk tangan menjadi pola ketukan menggunakan Arduino, sensor suara KY-038, dan servo motor SG90. Arduino mencatat waktu setiap tepukan, kemudian menggerakkan servo untuk memainkan kembali pola ritme yang telah direkam.

Bahan & Komponen

Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.

Daftar Komponen & Perangkat Keras

  • 1x DFRobot Bluno M3 atau Arduino UNO (Mikrokontroler untuk membaca sensor suara dan mengendalikan servo serta LED; Arduino UNO merupakan alternatif board)
  • 1x Adafruit Microphone Sound Sensor KY-038 Module (Mendeteksi suara tepukan dan memberikan sinyal digital melalui pin DO)
  • 1x SG90 Micro-servo Motor (Menggerakkan lengan pemukul mengikuti pola waktu tepukan)
  • 1x LED (Indikator ketika sensor mendeteksi tepukan)
  • 1x Resistor 220 ohm (Pembatas arus LED)
  • 1x set kabel jumper (Menghubungkan komponen ke board Arduino)

Perangkat Lunak

  • Arduino IDE (Menulis dan mengunggah program ke board Arduino)
  • ServoM3 Library (Library servo untuk DFRobot Bluno M3)
  • Servo.h (Library servo standar untuk board lain seperti Arduino UNO atau Arduino MEGA)

Peralatan Perakitan

  • 1x Hot glue gun (Merekatkan dan memasang bagian mekanis proyek)
  • 1x Multitool atau obeng (Membantu proses perakitan)

Catatan: Artikel mencantumkan Bluno M3 atau board Arduino lain seperti UNO. Pilih salah satu board, bukan keduanya sekaligus. Daftar komponen juga mencantumkan satu LED dan satu resistor 220 ohm. Jenis drum atau permukaan yang dipukul tidak dirinci sebagai komponen elektronik dalam daftar.

Langkah Pembuatan

Khusus Member

Panduan perakitan tahap demi tahap dan catatan proses pengerjaan.

Proyek Arduino Drum Lessons mengajarkan Arduino untuk mengenali pola tepukan tangan dan memainkannya kembali menggunakan servo motor. Sensor suara mendeteksi tepukan, Arduino mencatat waktu setiap tepukan menggunakan millis(), lalu servo bergerak mengikuti jarak waktu antartepukan setelah pengguna berhenti bertepuk tangan.

\"ProyekTampilan utama proyek Arduino Drum Lessons dari dokumentasi Hackster.io.

Langkah 1: Siapkan Komponen

Siapkan DFRobot Bluno M3 atau Arduino UNO, modul sensor suara KY-038, servo SG90, LED, resistor 220 ohm, kabel jumper, serta komputer yang telah dipasangi Arduino IDE. Siapkan juga peralatan mekanis seperti lem panas dan obeng untuk memasang servo serta lengan pemukul.

Langkah 2: Hubungkan Sensor Suara KY-038

Hubungkan VCC sensor KY-038 ke 5V board dan GND sensor ke GND board. Hubungkan pin DO (Digital Output) sensor ke pin digital 7 Arduino. Program membaca sinyal digital dari pin ini untuk mengetahui kapan tepukan terdeteksi. Atur sensitivitas sensor menggunakan trimpot kecil pada modul KY-038. Kode proyek tidak menggunakan pin AO.

Langkah 3: Hubungkan Servo Motor SG90

Hubungkan kabel sinyal servo ke pin digital 9. Kabel VCC servo dihubungkan ke sumber 5V yang sesuai, sedangkan kabel GND servo dihubungkan ke GND. Jika menggunakan catu daya eksternal untuk servo, satukan GND catu daya dengan GND Arduino agar sinyal kendali memiliki referensi yang sama. Pastikan catu daya mampu menyediakan arus yang dibutuhkan servo.

Langkah 4: Hubungkan LED Indikator

Hubungkan anoda LED ke pin digital 13 melalui resistor 220 ohm. Hubungkan katoda LED ke GND. LED akan menyala ketika Arduino mendeteksi tepukan dan mati ketika tidak ada sinyal tepukan yang terdeteksi.

Langkah 5: Pasang Mekanisme Pemukul

Pasang servo pada dudukan yang kokoh dan hubungkan lengan servo dengan bagian pemukul. Gunakan lem panas atau dudukan mekanis yang sesuai. Atur posisi agar lengan servo dapat bergerak bebas tanpa membentur komponen lain. Pastikan bagian pemukul dapat mengenai permukaan drum atau benda yang digunakan untuk menghasilkan bunyi. Video pendamping pada artikel memperlihatkan proses dan cara kerja proyek.

Langkah 6: Siapkan Arduino IDE dan Library

Buka Arduino IDE. Jika menggunakan DFRobot Bluno M3, gunakan library ServoM3.h sesuai kode asli. Jika menggunakan Arduino UNO atau Arduino MEGA, nonaktifkan baris #include <ServoM3.h> dan aktifkan #include <Servo.h>. Pilih board dan port yang benar sebelum mengunggah program.

Langkah 7: Masukkan dan Unggah Program

Salin kode program pada bagian kode ke Arduino IDE. Program menghubungkan servo ke pin 9, mengatur LED pada pin 13 sebagai OUTPUT, dan sensor suara pada pin 7 sebagai INPUT. Setelah kode berhasil diunggah, Arduino siap mendeteksi tepukan.

Langkah 8: Rekam Pola Tepukan

Tepuk tangan beberapa kali di dekat sensor. Ketika sensor mengirim sinyal HIGH, LED akan menyala dan Arduino menyimpan waktu tepukan menggunakan millis(). Program memberikan jeda 200 milidetik setelah mendeteksi tepukan untuk mengurangi pembacaan berulang akibat satu tepukan.

Langkah 9: Mainkan Kembali Pola Ketukan

Setelah tidak ada tepukan baru selama lebih dari dua detik, Arduino mulai memainkan kembali pola yang direkam. Servo bergerak ke sudut 13 derajat selama 80 milidetik, kemudian kembali ke posisi 0 derajat. Jeda di antara gerakan dihitung berdasarkan selisih waktu tepukan yang telah disimpan. Dengan demikian, servo mencoba mengikuti ritme tepukan yang sebelumnya dibuat.

Langkah 10: Uji dan Sesuaikan

Coba beberapa pola tepukan dengan tempo berbeda. Pastikan sensor dapat mendeteksi tepukan, LED menyala sebagai indikator, dan servo bergerak mengikuti pola. Jika sensor terlalu sensitif atau kurang sensitif, sesuaikan trimpot KY-038. Jika servo bergerak tidak stabil, periksa catu daya, koneksi GND bersama, serta mekanisme pemukul.

Catatan teknis: Kode asli menggunakan array clapTime[50] untuk menyimpan waktu tepukan, tetapi tidak memeriksa batas array sebelum menambah clapCount. Untuk penggunaan yang lebih aman, batasi jumlah tepukan maksimal 50. Kode juga perlu diperbaiki agar tidak membaca indeks clapTime[-1] ketika belum ada tepukan. Selain itu, interval antartepukan yang lebih pendek dari durasi gerakan servo 80 milidetik dapat menyebabkan perhitungan delay yang tidak sesuai.

\"SkemaDiagram skema Bluno M3 Drum Lessons dari dokumentasi Hackster.io.

🔒
Akses Gratis Khusus Member

Buka Seluruh Panduan, Skema & Source Code

Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!

✓ Akses Gratis Selamanya
✓ Copy-Paste Source Code
✓ Kembali Otomatis ke Proyek

Petualangan Belajar di coseru

💡 Saksikan keseruan anak-anak belajar merakit robot dan coding! Daftar Kelas Uji Coba →