• Tidak ada hasil yang ditemukan

Perancangan dan Realisasi MIDI Drum Pad Menggunakan Mikrokontroler ATMega 16.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan dan Realisasi MIDI Drum Pad Menggunakan Mikrokontroler ATMega 16."

Copied!
56
0
0

Teks penuh

(1)

Universitas Kristen Maranatha i

Perancangan dan Realisasi MIDI Drum Pad

Menggunakan Mikrokontroler ATMega16

Design and Realization MIDI Drum Pad Using ATMega16

Microcontroller

Molly Sitompul/0722071

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha

Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia

ABSTRAK

Dalam Tugas Akhir ini, dibuat sebuah miniatur digital drum (drum pad)

dengan protokol MIDI (Musical Instrument Digital Interface) yang menggunakan

Mikrokontroler ATMega16. Drum pad yang direalisasikan ini menggunakan

piezoelectric sensor sebagai penangkap pukulan dari pemukul drum. Sensor

mendeteksi getaran dan menghasilkan tegangan dan selanjutnya disambungkan ke

rangkaian pengondisi sinyal. Tegangan keluaran dari rangkaian pengondisi sinyal

ini diterima oleh mikrokontroler melalui ADC (Analog to Digital Converter) dan

diolah menjadi data MIDI. Data MIDI dari mikrokontroler dikirim ke komputer

menggunakan komunikasi Serial RS232 dan selanjutnya diolah oleh komputer

melalui program synthesizer pada komputer sehingga dapat menghasilkan bunyi

sesuai instrumen yang diinginkan.

Pengujian dilakukan dengan menegukur tegangan keluaran sensor,

pengamatan MIDI Message, dan dengan memainkan tiga buah lagu dengan tempo

dan ketukan yang berbeda. Tegangan keluaran sensor dapat mencapai 15 volt dan

nilai velocity pada MIDI message jauh lebih kecil dari nilai maksimum yang

diinginkan (127 dalam decimal) dan terjadi delay sebesar ¼ ketukan pada lagu

dengan tempo 170 BPM.

(2)

Universitas Kristen Maranatha ii

Perancangan dan Realisasi MIDI Drum Pad

Menggunakan Mikrokontroler ATMega 16

Design and Realization MIDI Drum Pad Using ATMega16

Microcontroller

Molly Sitompul/0722071

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha

Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia

ABSTRACT

In this Final Project, a miniature of digital drum (drum pad) with MIDI protocol that using ATMega16 Microcontroller has been made. This drum pad uses piezoelectric sensor to sense the hit of drum stick. Piezoelectric sensor detect the vibration and generate the voltage and then connected to a signal conditioning circuit. The output voltage of the signal conditioning circuit is read by the microcontroller through the ADC (Analog to Digital Converter) and processed to be the MIDI data. The MIDI data from the microcontroller is sent to the computer using RS232 serial communication and then processed by computer by the synthesizer program so the computer can produce the desired instrument sound.

The test is done by measuring the output voltage of the sensors, observing the MIDI messages, and playing three songs with different tempo and different beats. The output voltage level of the sensor can be reached 15 volt, the velocity value of MIDI message is far under the desired value (127 on decimal) and there are ¼ beat delays on the song with 170 BPM tempo.

(3)

Universitas Kristen Maranatha

2.6.1 Channel Voice Message ... 10

2.6.1.1 Note On/Note Off ... 11

2.6.1.2 After Touch ... 12

2.6.1.3 Control Change... 12

(4)

Universitas Kristen Maranatha vi

2.6.1.5 Pitch Bend ... 12

2.6.2 Channel Mode Message ... 12

2.7 Komunikasi Serial ... 12

2.7.1 Komunikasi Asynchronous dan Synchronous ... 13

2.7.2 Format Data ... 13

3.1.1 Diagram Blok Perangkat Keras... 18

3.1.2 Skematik Rangkaian ... 18

3.1.2.1 Bagian Sensor ... 19

3.1.2.2 Bagian Signal Conditioning ... 20

3.1.2.3 Bagian Clock Eksternal ... 21

3.1.2.4 Bagian Komunikasi Serial ... 21

3.1.3 Program Pengolah Data pada ATMega 16 ... 22

3.2 Perangkat Lunak ... 28

3.2.1 Virtual MIDI Port ... 29

3.2.2 Serial to MIDI Converter ... 30

3.2.3 Perangkat Lunak Perekam Data MIDI ... 33

BAB IV DATA PENGAMATAN 4.1 Tegangan Keluaran Sensor ... 36

4.2 MIDI Message ... 37

4.3 Uji Ketepatan dalam Penggunaan ... 38

(5)

Universitas Kristen Maranatha vii

4.3.2 Lagu Sejak Yesus di Hatiku ... 41

4.3.3 Lagu Amelia ... 42

4.4 Analisa Data ... 44

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan ... 45

5.2 Saran ... 45

DAFTAR PUSTAKA ... 46

(6)

Universitas Kristen Maranatha

Gambar 2.4 Rangkaian Pengganti Piezoelectric Sensor ... 8

Gambar 2.5 Respon Frekuensi Piezoelectric Sensor ... 9

Gambar 2.6 Piezoelectric Sensor Sebagai Sumber Tegangan ... 9

Gambar 2.7 Format Data Serial MIDI ... 10

Gambar 2.8 MIDI Message ... 10

Gambar 2.9 Transmisi Asynchronous dan Syncronous ... 14

Gambar 3.1a Diagram Blok Sistem ... 17

Gambar 3.1b Diagram Blok Perangkat Keras... 18

Gambar 3.2 Rangkaian MIDI Drum Pad ... 19

Gambar 3.3 Rangkaian Pembagi Tegangan ... 20

Gambar 3.4 Rangkaian IC MAX232 ... 22

Gambar 3.5a Diagram Alir Program Utama AVR ... 25

Gambar 3.5b Diagram Alir Fungsi untuk Membaca Tegangan ... 26

Gambar 3.5c Dialir Fungsi Pengirim Data ... 26

Gambar 3.6 Diagram Blok Perangkat Lunak yang Digunakan ... 29

Gambar 3.7 Tampilan Konfigurasi MIDI Yoke NT ... 30

Gambar 3.8 Pemilihan Serial Port pada Serial to MIDI Converter ... 31

Gambar 3.9 Pemilihan Baud Rate pada Serial to MIDI Converter ... 31

Gambar 3.10a MIDI Input Port pada Serial to MIDI Converter ... 32

Gambar 3.10b MIDI Output Port pada Serial to MIDI Converter ... 32

Gambar 3.11 Tampilan Utama pada Serial to MIDI Converter ... 33

Gambar 3.12 Tampilan Utama Cakewalk Pro Audio 9 ... 34

Gambar 3.13 Pengaturan MIDI Device pada Cakewalk Pro Audio 9 ... 34

Gambar 3.14 Track Properties pada Cakewalk Pro Audio 9 ... 35

(7)

Universitas Kristen Maranatha ix

DAFTAR TABEL

Tabel 2.1 Status Byte ... 4

Tabel 3.1 Keterangan Variabel pada Diagram Alir ... 27

Tabel 3.2 Pitch Byte pada Program Mikrokontroller ... 28

Tabel 4.1 Tegangan Keluaran Sensor ... 36

Tabel 4.2 MIDI Message ... 37

Tabel 4.3 Pengamatan Intro Lagu Allah Peduli ... 40

Tabel 4.4 Pengamatan Verse Lagu Allah Peduli ... 40

Tabel 4.5 Pengamatan Reff Lagu Allah Peduli ... 41

Tabel 4.6 Pengamatan Verse Lagu Sejak Yesus di Hatiku ... 42

Tabel 4.7 Pengamatan Reff Lagu Sejak Yesus di Hatiku ... 43

Tabel 4.8 Pengamatan Intro Lagu Amelia ... 43

(8)

Lampiran A

(9)

Gambar A.2. Skematik Rangkaian

(10)

Lampiran B

(11)

/*****************************************************

This program was produced by the CodeWizardAVR V1.25.3 Professional Automatic Program Generator

� Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

// Standard Input/Output functions

#include <stdio.h>

#define ADC_VREF_TYPE 0x00

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Start the AD conversion

ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

//function declare

int baca(int n);

(12)

int MaxPlayTime = 90; // counter untuk pembacaan pukulan

// Declare your global variables here void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh

// OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh

(13)

// OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off

TCCR1A=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 57600 UCSRA=0x00;

UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0F;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00;

// ADC initialization

(14)

// ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: None ADMUX=ADC_VREF_TYPE & 0xff;

(15)

Lampiran C

(16)
(17)

Gambar C – 3. Penempatan dan Dudukan Sensor

Gambar C – 4. Rangkaian Mikrokontroler

(18)

Lampiran D

(19)

D - 1

Table 1: MIDI 1.0 Specification Message Summary Status

D7----D0

Data Byte(s) D7----D0

Description

Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)] 1000nnnn 0kkkkkkk

0vvvvvvv

Note Off event.

This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.

1001nnnn 0kkkkkkk 0vvvvvvv

Note On event.

This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity.

1010nnnn 0kkkkkkk 0vvvvvvv

Polyphonic Key Pressure (Aftertouch).

This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value.

1011nnnn 0ccccccc 0vvvvvvv

Control Change.

This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127). 1100nnnn 0ppppppp Program Change. This message sent when the

patch number changes. (ppppppp) is the new program number.

1101nnnn 0vvvvvvv Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value.

1110nnnn 0lllllll

0mmmmmmm

Pitch Wheel Change. 0mmmmmmm This message is sent to indicate a change in the pitch wheel. The pitch wheel is measured by a fourteen bit value. Center (no pitch change) is 2000H.

(20)

D – 2

Table 2: Expanded Status Bytes List

STATUS BYTE DATA BYTES

1st Byte Value

Binary |Hex| Dec

Function 2nd Byte 3rd Byte

(21)
(22)

Lampiran E

(23)
(24)
(25)
(26)

E – 4

(27)
(28)
(29)
(30)

Lampiran F

(31)
(32)
(33)
(34)

Lampiran G

(35)
(36)
(37)

Lampiran H

(38)
(39)
(40)

Lampiran I

(41)
(42)
(43)
(44)

Lampiran J

(45)
(46)
(47)
(48)
(49)
(50)

Lampiran K

(51)

(52)

Universitas Kristen Maranatha 1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan dunia musik untuk masa sekarang sudah sangat pesat.

Perkembangan tersebut meliputi perkembangan alat-alat musik,

perkembangan teknik bermain musik, bahkan perkembangan alat-alat

musik. Alat-alat musik listrik tidak lagi sebatas analog saja (contoh: gitar

listrik dan bass listrik), tetapi sudah ada yang bekerja secara digital, misal:

digital keyboard, digital drum, dan lainnya. Alat musik digital sudah

banyak digunakan dalam industri musik bahkan dalam kebutuhan musik

harian. Kemudahan pemrosesan pada alat musik digital merupakan salah

satu alasan para pemusik untuk mau menggunakan alat musik digital.

Pada tugas akhir ini dilakukan perancangan dan realisasi drum pad

atau digital drum berbasis MIDI (Musical Instrument Digital Interface).

Dengan mempelajari MIDI dan membuat sebuah alat musik berbasis MIDI

menggunakan Mikrokontroler ATMega 16, Tugas Akhir ini diharapkan

mampu menjadi sesuatu yang bermanfaat bagi para musisi, penelitian, dan

perkembangan dunia pendidikan tentunya.

1.2. Perumusan Masalah

Permasalahan yang akan dibahas dalam tugas akhir ini meliputi :

1. Bagaimana membuat sebuah alat musik drum pad berbasis MIDI

dengan menggunakan Mikrokontroler ATMega16.

2. Bagaimana mengaplikasikan Mikrokontroler ATMega16 untuk

mengendalikan data MIDI.

1.3. Tujuan

Tujuan yang ingin dicapai dari tugas akhir ini adalah:

(53)

Universitas Kristen Maranatha 2

2. Membuat alat musik digital berupa drum pad yang berbasis MIDI

menggunakan ATMega 16.

1.4. Batasan Masalah

1. Membuat alat drum pad (alat input) yang terdiri dari snare, bass,

crash cymbal, ride cymbal 2, hi hat, midlle tom 1, middle tom 2, dan low tom 3 sebagai pengganti drum non-elektrik biasanya.

2. Menggunakan Mikrokontroler ATMega16 sebagai pengolah data

input menjadi data MIDI.

3. Menggunakan synthesizer dari komputer

4. Menggunakan sensor piezoelectric sebagai pendeteksi pukulan dari

pemukul.

5. Menggunakan perangkat lunak Serial To MIDI converter sebagai

converter data serial ke data MIDI, MIDI Yoke sebagai virtual MIDI port, dan Cakewalk Pro Audio 9 sebagai perangkat lunak perekam

data MIDI.

6. Jarak penenmpatan antar sensor dan konstruksi dudukan sensor tidak

diperhitungkan.

1.5. Sistematika Penulisan

Sistematika penulisan laporan kerja praktek ini disusun menjadi lima

bab, yaitu sebagai berikut:

Bab 1 Pendahuluan

Bab ini membahas mengenai latar belakang, perumusan masalah,

tujuan, dan sistematika penulisan.

Bab 2 Landasan Teori

Bab ini membahas mengenai Drum Kit, Teori Dasar Musik,

Piezoelectric Sensor, Mikrokontroler ATMega 16, IC MAX 232, MIDI,

(54)

Universitas Kristen Maranatha 3

Lunak yang digunakan untuk Tugas Akhir ini.

Bab 3 Perancangan

Bab ini membahas mengenai perancangan dan realisasi perangkat

keras serta penggunaan perangkat lunak. Pembahasan perangkat keras

meliputi diagram blok perangkat keras, skema rangkaian, dan program

pada mikrokontroler ATMega 16. Pembahasan perangkat lunak meliputi

perangkat lunak yang digunakan, yaitu Virtual MIDI Port, perangkat lunak

pengkonversi serial ke MIDI, dan perangkat lunak perekam data MIDI.

Bab 4 Data Pengamatan

Bab ini membahas hasil uji coba dari alat yang dibuat. Uji coba

meliputi yang dilakukan meliputi tegangan keluaran sensor, MIDI

Message, dan uji coba ketepatan dalam penggunaan dengan memainkan

lagu.

Bab 5 Kesimpulan dan Saran

Bab ini berisi kesimpulan yang dapat diambil dari proses pembuatan

(55)

Universitas Kristen Maranatha

dengan berbasis MIDI dan menggunakan ATMega 16 berhasil

dilakukan.

2. Nilai velocity yang dihasilkan masih jauh dari maksimum. Nilai

velocity maksimum adalah 127 dalam desimal. Velocity dengan

nilai ini terdengar cukup jelas ketika dilakukan perekaman MIDI

dan ketika MIDI file dimainkan. Hal ini terjadi karena pada saat

pencuplikan tegangan pada port ADC, nilai tegangan tertinggi

yang dibaca mikrokontroller tidak benar-benar pada tegangan

tertinggi pada bagian keluaran signal conditioning.

3. Dari beberapa jenis lagu yang direkam, dapat diamati bahwa delay

akan semakin terasa ketika tempo semakin cepat. Hal ini terjadi

karena banyaknya perangkat lunak yang digunakan dalam

pengolahan data MIDI pada komputer.

5.2. Saran

1. Algoritma program pada mikrokontroler dapat diperbaiki untuk

dapat membaca dan mendapatkan nilai tegangan tertinggi dari

bagian keluaran signal conditioning.

2. Untuk mengurangi kemungkinan terjadinya delay akibat

penggunaan perangkat lunak yang terdiri dari banyak tahap (Serial

to MIDI Converter, Virtual MIDI Port, dan Perekam Data MIDI),

perlu digunakan perangkat lunak yang lebih efeisien dan

(56)

Universitas Kristen Maranatha

46

DAFTAR PUSTAKA

1. Axelson, Jan. 2007. Serial Port Complete: COM Ports, USB Virtual COM

Ports, and Ports for Embedded System Second Edition. Madison, Wisconsin:

Lakeview Research LLC.

2. Andrianto, Heri. 2008. Pemrograman Mikrokontroller AVR ATMega16

Menggunakan Bahasa C (Code Vision AVR). Bandung: Informatika

3. Atmadja, Rei Suryana. 1998. Alat Pemain Ulang Data MIDI Interaktif.

Bandung: Jurusan Teknik Elektri Fakultas Teknik Universitas Kristen

Maranatha.

4. Drum KitKit. http://www.spikenzielabs.com/SpikenzieLabs/DrumKitKit.html.

Diakses Tanggal 26 Juni 2011.

5. General MIDI. http://en.wikipedia.org/wiki/General_MIDI. Diakses Tanggal

25 Oktober 2011.

6. MIDI Message Table. http://www.midi.org/techspecs/midimessages.php.

Diakses Tanggal 25 Oktober 2011.

7. Musical Instrument Digital Interface.

http://en.wikipedia.org/wiki/Musical_Instrument_Digital_Interface. Diakses

Tanggal 26 Juni 2011.

8. Piezoelectricity. http://en.wikipedia.org/wiki/Piezoelectric_effect. Diakses

Tanggal 25 Oktober 2011.

9. Piezoelectric Snensor. http://en.wikipedia.org/wiki/Piezoelectric_sensor.

Diakses Tanggal, 28 Oktober 2011.

10.Serial MIDI. http://www.spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html.

Gambar

Gambar A.2. Skematik Rangkaian
Gambar C – 1. MIDI Drum Pad Tampak Atas
Gambar C – 4. Rangkaian Mikrokontroler
Table 1: MIDI 1.0 Specification Message Summary
+2

Referensi

Dokumen terkait

Articles Hitoshi Ueda, Ryo Nakamura, Hideaki Nariai, Takahiro Watanabe, Hidenori Akiyama, Takashi Sakugawa, &lt;Z43-224&gt;.. Periodical

Jakarta :Departemen Keuangan Republik Indonesia, Badan Pendidikan dan Pelatihan Keuangan.. Komentar Atas Undang Undang Hak Tanggungan Baru Nomor

Penelitian ini bertujuan untuk mengetahui strategi Adaptasi Masyarakat dalam mengahadapi bencana banjir pada masyarakat di Daerah Aliran Sungai (DAS) Deli Kota Medan Kelurahan

Saat optocoupler digunakan sebagai sensor maka harus menggunakan r otary encoder yang di- couple dengan as motor DC untuk mendeteksi kecepatan putaran motor

Berdasarkan hasil penelitian di kelas, permainan kartu kata dapat dijadikan suatu media yang menarik bagi guru Taman Kanak-kanak Baugenvil Ku- ningan atau Guru Taman Kanak-

Nasya Awalaisal Niermala, yang berjudul Penerapan Pendekatan SAVI ( Somatis, Auditori, Visual, Intelektual ) untuk Meningkatkan Aktivitas Belajar Matematika Kelas

Tabel 4.4 di atas menunjukkan tabulasi uji ahli teknologi pembelajaran pada produk setelah perbaikan diperoleh jumlah total 211 dengan skor maksimal 250 serta presentasi

Terdapat banyak faktor yang mempengaruhi perilaku membeli konsumen terhadap suatu produk, akan tetapi dalam penelitian ini hanya ingin diteliti. faktor persepsi konsumen terhadap