Alat Musik Elektronik Sederhana(Laporan Proyek)
July 9, 2019 | Author: Joshua S | Category: N/A
Short Description
arduino alat musik sederhana...
Description
ALAT MUSIK ELEKTRONIK SEDERHANA
Laporan ini dibuat untuk memenuhi salah satu syarat nilai Mata Kuliah Mikrokontroler untuk Program Diploma IV Program Studi Teknik Telekomunikasi Telekomunikasi
Oleh:
(151344014) Hani Dinantika Putri (151344015) Joshua (151344019) Muhamad Ismail (151344022) Muhammad Mahadytia K.P
Kelas:
2NK
PROGRAM STUDI D4 TEKNIK TELEKOMUNIKASI POLITEKNIK NEGERI BANDUNG 2017
BAB I PENDAHULUAN
1.1 Latar Belakang
Alat musik elektronik merupakan alat musik yang sumber bunyinya dibangkitkan oleh tenaga listrik. Misalkan sebuah piano yang memiliki tombol-tombol sebagai penentu nada mana yang akan dibunyikan. Masing-masing nada memiliki frekuensi berbeda-beda sesuai tinggi rendahnya nada. Perkembangan teknologi yang semakin pesat membuat berbagai hal menjadi ikut berubah sesuai dengan teknologi yang ada. Perubahan atau perkembangan pada bidang seni dan budaya adalah salah satu contoh dampak teknologi yang paling menonjol. Salah satu contoh adalah bidang seni musik yang selalu mengikuti tren teknologi. Saat ini bahkan terdapat genre musik elektronik tersendiri. Hal ini terjadi karena saat ini juga telah banyak bermunculan alat musik yang memang sepenuhnya elektronik. Alat musik elektronik memiliki keunggulan lain karena ia lebih fleksibel. Artinya, nada yang dihasilkan oleh satu alat dapat lebih beragam. Sehingga, memungkinkan pengguna untuk menentukan nada seperti apa yang ingin dihasilkan. Kami mencoba membuat sebuah
Alat Musik Elektronik Sederhana
yang dapat ditentukan
suara atau nada yang dapat dihasilkan, misalnya tangga nada tradisional sunda. Sehingga, seni tradisional juga dapat berkembang mengikuti kemajuan teknologi. 1.2 Tujuan Membuat alat musik elektronik yang digunakan sebagai media hiburan.
1.3 Batasan Masalah Dalam proposal ini, pembahasan masalah dibatasi pada perancangan salah satu alat elektronik berbasis arduino, dimana nantinya akan terdiri dari delapan tombol yang memiliki tingkatan nada satu oktaf.
BAB II TINJAUAN PUSTAKA
2.1 Sound Pada bagian ini kita akan bermain-main dengan suara. Sehingga kita akan membutuhkan speaker untuk membangkitkan suara dan nada musik sederhana. Pada dasarnya, untuk membuat speaker berbunyi maka kita harus menghidup-matikan speaker sesuai dengan frekuensi suara yang ingin kita bunyikan. Hidup-matinya speaker akan membuat spool speaker bergetar (bergerak maju-mundur) dan menghasilkan bunyi dengan nada tertentu. Suara musik kelas A menengah sekitar 440 Hz. Masih ingat apa itu Hz? Hz merupakan kependekan dari Hertz. Hertz adalah jumlah siklus perdetik. Dengan demikian, jika kita ingin memainkan musik kelas A menengah, maka kita harus menyalakan dan mematikan speaker sebanyak masing-masing 440 kali dalam 1 detik. Untuk menghidup-matikan speaker sebanyak masing-masing 440 kali, kita bisa memanfaatkan fungsi delay(). Sebelumnya kita telah membuat LED berkedip dengan memanfaatkan delay. Perlakuan kita terhadap LED akan kita terapkan pada speaker, tapi dengan tempo yang lebih cepat. Cara menghitung delay yang kita butuhkan untuk mendapatkan siklus 440 Hz (nada 440Hz) yaitu dengan cara:
Gambar 4.1 Kenapa frekuensi dikalikan 2? Gelombang suara merupakan gelombang analog (sinyal analog) yang merupakan gelombang sinus. Artinya, 1 siklus penuh adalah 1 tinggi/puncak dan 1 rendah/lembah. Kondisi tinggi adalah ketika speaker dinyalakan, sedangkan kondisi rendah adalah ketika speaker dimatikan. Oleh sebab itu, kita membutuhkan 2 delay untuk 1 Hz. Karena 440 Hz adalah 440 siklus, maka setiap siklus pada 440 Hz dikalikan dengan 2. Semoga Gambar 4.1 memberikan pemahaman tentang bagaimana cara menentukan delay. Gambar 4.1 sekedar contoh sebab frekuensi 6 Hz tidak akan terdengar oleh telinga manusia.
Gambar 4.2 2.2 Membuat Nada Jika kita kembali ke catatan pembuka pada bagian ini, maka untuk membuat bunyi / nada 440 Hz kita harus menghidup-matikan 440 kali dengan delay masing-masing 1136 mikrodetik. Perhatikan, satuannya adalah mikrodetik (1/1000 milidetik). Padahal fungsi delay() yang sering kita gunakan sebelumnya satuannya dalam milidetik. Oleh sebab itu, untuk membuat delay dengan satuan mikrodetik kita bisa menggunakan fungsi delayMicroseconds(). 2.3 Musik Musik adalah kumpulan nada, sehingga jika kita ingin membuat musik, maka kita bisa merangkai nada-nada sehingga alunannya enak didengar. Pada Arduino kita bisa menggunakan fungsi tone() untuk membuat nada. Fungsi tone() memiliki 2 parameter inputan wajib dan 1 parameter tambahan. Cara menggunakan fungsi tone() yaitu: tone(pin, frekuensi, durasi); atau tone(pin, frekuensi); Parameter pin adalah pin yang disambungkan ke speaker, frekuensi adalah frekuensi yang digunakan, sedangkan durasi adalah lama nada berbunyi pada frekuensi tersebut. Jika tanpa menginputkan durasi, maka nada akan dibunyikan hingga nada selanjutnya dijalankan atau ketika kita memberikan perintah noTone(). Sehingga kita bisa memanfaatkan delay untuk membuat nada yang panjang atau pendek. Parameter durasi akan berguna ketika kita ingin membunyikan nada sambil menjalankan perintah lainnya. sebab jika kita menggunakan delay, maka kita harus menunggu delay selesai dahulu untuk menjalankan perintah selanjutnya. Perintah noTone() berguna untuk menghentikan nada pada pin tertentu, sehingga kita bisa menggunakan perintah pin dengan format noTone(pin); Perintah noTone()
akan berguna ketika kita menggunakan banyak speaker yang dikontrol oleh banyak pin.
BAB III PEMBAHASAN
3.1 Blok Diagram
Deskripsi: Pada blok pertama, permukaan sentuh kapasitif dijadikan sebagai input dari pengguna yang akan menyentuhkan jarinya ke plat kapasitif sebagai input sensor. Pada blok kedua, input masukkan dari pengguna dari blok pertama akan diproses oleh mikrokontroler untuk membangkitkan sinyal frekuensi tertentu,dalam hal ini frekuensi yang akan dibuat adalah frekuensi tangga nada C (Do,Re,Mi,Fa,So,La,Si,Do). Pada blok ketiga, setelah diproses dari mikrokontroler kemudian hasilnya akan diteruskan ke speaker sebagai output. 3.2 Skema Rangkaian
3.3 Alat Dan Komponen Yang Digunakan Software
:
-
Arduino IDE
-
Library Capacitive Sensor
Hardware
:
-
Arduino UNO
-
Resistor 10 K Ω 8 buah
-
PCB Dot Matrik
-
Jumper secukupnya
3.4 Langkah Kerja 1. Buat program pada ARDUINO IDE 2. Berikut adalah programnya : #include
#define COMMON_PIN
2
#define SPEAKER_PIN
A4
#define SAMPLE
20
#define CAP_THRESHOLD
2000
#define NUM_OF_KEYS
8
#define CS(Y) CapacitiveSensor(2, Y)
boolean pressed;
int notes[] = { 261, 294, 329, 349, 392, 440, 493, 523 };
CapacitiveSensor keys[] = { CS(3), CS(4), CS(5), CS(6), CS(7), CS(8), CS(9), CS(10) };
void setup() { for(int i=0; i < NUM_OF_KEYS; ++i) { keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF); }
pinMode(SPEAKER_PIN, OUTPUT);
}
void loop() { pressed = false;
for (int i = 0; i < NUM_OF_KEYS; ++i) {
if( keys[i].capacitiveSensor(SAMPLE) > CAP_THRESHOLD ) {
tone(SPEAKER_PIN, notes[i]);
pressed |= true; } Serial.print(keys[i].capacitiveSensor(NUM_OF_SAMPLES)); } if (!pressed) noTone(SPEAKER_PIN); }
3. Buat rangkaian sesuai dengan skema diatas 4. Upload program yang ditulis pada arduino IDE ke Arduino Uno 5. Setelah program selesai di upload maka alat dapat dihgunakan dengan cara menekan tombol yang telah disediakan dan akan menghasilkan suara do sampai do tinggi(hanya 1 oktaf) 3.5 Analisis Alat & Program Progam:
#include
#define COMMON_PIN
2
// Common 'Send' pin (pin 2).
#define SPEAKER_PIN
A4
// Output pin untuk speaker (Analog).
#define SAMPLE
20
// Sample untuk CapacitiveSensor.
Semakin besar semakin banyak delay, tapi hasil konsisten. #define CAP_THRESHOLD speaker menyala.
2000
// Nilai Capacitive terbaca yg memicu
#define NUM_OF_KEYS
8
// Jumlah Keys.
// Buat objek CapacitiveSensor untuk setiap tombol atau 'key'. #define CS(Y) CapacitiveSensor(2, Y)
// Status untuk key notes: apakah key sudah di sentuh atau belum? boolean pressed;
// Frekuensi untuk setiap notes. int notes[] = { 261, 294, 329, 349, 392, 440, 493, 523 };
// Definisikan semua pin untuk setiap key yang tersambung // atau : Buat objek CapacitiveSensor untuk setiap keys CapacitiveSensor keys[] = { CS(3), CS(4), CS(5), CS(6), CS(7), CS(8), CS(9), CS(10) };
void setup() { // Matikan kalibrasi otomatis pada setiap channel; for(int i=0; i < NUM_OF_KEYS; ++i) {
keys[i].set_CS_AutocaL_Millis(0xFFFFFFFF); }
// Set speaker sebagai output pinMode(SPEAKER_PIN, OUTPUT);
// Untuk Debugging/Testing. // Serial.begin(9600); }
void loop() { // Untuk setiap pengulangan, status key notes akan false (tombol tidak ditekan). pressed = false;
// Loop ke setiap key. for (int i = 0; i < NUM_OF_KEYS; ++i) { //
Jika
capacitiveSensor
yang
terbaca
lebih
dari
(CAP_THRESHOLD), maka berikan suara // sesuai dengan note-nya. if( keys[i].capacitiveSensor(SAMPLE) > CAP_THRESHOLD ) { // Berikan note sesuai dengan key yang ditekan. tone(SPEAKER_PIN, notes[i]);
batas
// Status key pressed akan di OR kan dengan status sebelumnya. // Sehingga, untuk setiap loop, pressed akan bernilai true jika ada satu key yang ditekan. pressed |= true; }
// Untuk Debugging/Testing. // Serial.print(keys[i].capacitiveSensor(NUM_OF_SAMPLES)); // Serial.print("\t"); }
// Jika status pressed = false, maka jangan berikan suara ke speaker if (!pressed) noTone(SPEAKER_PIN);
// Untuk Debugging/Testing. // Serial.println(); }
3.6 Spesifikasi Alat
Input tegangan 5 volt DC
Menggunakan kapasitif sensor sebagai input dengan media permukaan menggunakan plat ( Alumunium Foil )
Memiliki 8 input yang terdiri dari 8 nada dengan tingkatan nada 1 oktaf ( Nada dasar = Do =C)
3.7 Cara kerja Sistem Alat ini bekerja dengan memanfaatkan anggota tubuh, misalnya jari, sebagai sebuah konduktor. Ketika jari menyentuh permukaan sensor sentuh, jari dan permukaan tersebut akan membentuk sebuah kapasitor. Nilai dari kapasitansi tersebut akan memengaruhi nilai yang masuk ke pin digital dari Arduino. Terdapat delapan buah permukaan sentuh yang masing-masing merepresentasikan tangga nada tertentu dimulai dari do rendah hingga do tinggi. Untuk setiap tangga nada, output dari Arduino akan menghasilkan nada yang berbeda beda sesuai dengan frekuensi yang telah ditentukan.
BAB IV
KESIMPULAN
Alat ini merupakan sebuah aplikasi dari mikrokontroler arduino yang dapat mengeluarkan output suara pada speaker. Alat ini memanfaatkan fungsi kapasitor yang merupakan gabungan dari anggota tubuh yang terhubung ke ground dan juga permukaan sentuh yang terhubung k e Arduino. Grounding akan sangat memengaruhi hasil dari kerja alat. Grounding yang tidak bagus akan membuat alat tidak bekerja sama sekali. Dalam hal ini,kami membuat sebuah tangga nada dasar do = C dimana tiap-tiap nada yang dikeluarkan mempunyai frekuensi-frekuensi tertentu yang memunculkan nada Do-Re-Mi-Fa-So-LaSi-Do.
View more...
Comments