i
TUGAS AKHIR
KATUP AIR TERKENDALI MUSIK PADA TIRAI AIR
(Berbasis Mikrokontroler ATMega32)
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi
Disusun oleh :
Khiong Hin
045114050
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
WATER SCREEN
(Based on ATMega32 Microcontroller)
Presented For Fulfilling One Of The Requirement To Obtain Engineer Degree
In Electrical Engineering Of Science And Technology Faculty
Sanata Dharma University
by :
Khiong Hin
045114050
ELECTRICAL ENGINEERING
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
vi
“Do not set any limit for your success, aim
high… aim for the stars! ”
Kupersembahkan Tugas Akhir Ini Untuk :
Tuhan yang Maha Mulia
Ayah dan Ibuku tercinta
Saudara-saudaraku yang terbaik
Dosen-dosen yang membimbingku
vii
INTISARI
Tirai air merupakan air terjun buatan yang dapat memberikan kesan sejuk dan segar pada ruangan dimana tirai air tersebut terletak. Tirai air banyak juga digunakan pada ruang pertemuan dan tempat-tempat umum untuk menarik pengunjung. Tirai air konvesional terdiri dari beberapa bagian, yaitu pompa, pipa air, serta lubang pada pipa air untuk menyemburkan air sehingga membentuk suatu tirai air.
Pada perancangan tugas akhir ini, penulis merancang suatu tirai air yang dapat dikontrol dengan menggunakan mikrokontroler ATMEL. Pada perancangan ini, pengontrol terdiri atasmp3 playersebagai input,mikrokontroler ATMega32 dengan ADC internal, solid state relay, katup air, serta pompa air. Fast Walsh Transform 16 titik diimplementasikan untuk menganalisis frekuensi sinyal masukan. Frekuensi masukan pada perancangan ini sekitar 1KHz.
Dari hasil pegujian dan analisa alat ini dapat bekerja dengan baik ketika musik diberikan sebagai input melalui mp3 player, katup air dapat bekerja bergantian ketika frekuensi masukan juga berubah.
viii way of water fall.
This paper discusses about designing a controller for water fountain using ATMEL AVR microcontroller. Water Fountain is an artificial water fall. This controller consists of mp3 player as input, microcontroller ATmega32 with internal ADC, solid state relays, water valves, LEDs, water pump and pipe with holes. The 16 points Fast Walsh Transform implemented to analyze audio frequency input. Maximum frequency response of this Walsh Transform about 1 kHz, with 8 channel frequency.
From the test result, this device can work properly when the music from mp3 palyer was gave as input, the work of water valves can be change automaticly when the frequncy of input was change.
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : KHIONG HIN
Nomor Mahasiswa : 045114050
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
KATUP AIR TERKENDALI MUSIK PADA TIRAI AIR
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 8 Februari 2009
Yang menyatakan
ix
berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan karya tulis berjudul
“Katup Air Terkendali Musik pada Tirai Air (Berbasis Mikrokontroler
ATMega32)”.
Karya tulis ini merupakan salah satu syarat untuk memperoleh gelar
Sarjana Teknik pada Program Studi Teknik Elektro Universitas Sanata Dharma.
Penulisan skripsi ini didasarkan pada hasil-hasil yang penulis dapatkan selama
tahap perancangan, pembuatan dan pengujian alat.
Penulisan skripsi ini tidak terlepas dari bantuan berbagai pihak. Untuk itu,
penulis mengucapkan terima kasih kepada:
1. Kedua orang tua penulis yang telah memberikan semangat dan doa yang
tak pernah putus sehingga penulis dapat menyelesaikan tugas akhir ini.
2. Bapak Djoko Untoro Suwarno, S.Si., M.T., selaku dosen pembimbing I
karya tulis yang telah meluangkan waktu, tenaga, dan pikirannya untuk
membimbing penulis.
3. Bapak Pius Yozy Merucahyo, S.T, M.T., selaku dosen pembimbing II
karya tulis yang telah meluangkan waktu, tenaga, dan pikirannya untuk
membimbing penulis.
4. Rekan-rekan yang telah memberikan bantuan kepada penulis dalam
pengerjaan karya tulis ini: Hendri Paulus (TE’04), Tri Joko Purnomo
x
5. Segenap dosen dan laboran Teknik Elektro Universitas Sanata Dharma.
6. Segenap karyawan sekretariat Fakultas Sains dan Teknologi.
7. Teman-teman mahasiswa jurusan Teknik Elektro dan semua pihak yang
tidak dapat disebutkan satu persatu atas setiap bantuannya.
Penulis menyadari bahwa masih banyak kelemahan dan kekurangan dari
penulisan karya tulis ini. Oleh karena itu segala kritik dan saran yang bersifat
membangun sangat penulis harapkan.
Akhir kata, semoga skripsi ini berguna bagi semua pihak dan dapat
menjadi bahan kajian lebih lanjut.
Yogyakarta, 8 Februari 2009
Penulis
xi
HALAMAN JUDUL... i
HALAMAN JUDUL DALAM BAHASA INGGRIS……….. ii
LEMBAR PENGESAHAN PEMBIMBING... iii
LEMBAR PENGESAHAN PENGUJI... iv
LEMBAR PERNYATAAN KEASLIAN KARYA... v
MOTTO DAN PERSEMBAHAN... vi
INTISARI... vii
ABSTRACT………. viii
KATA PENGANTAR... ix
DAFTAR ISI... xi
DAFTAR GAMBAR... xiv
DAFTAR TABEL... xvi
DAFTAR LAMPIRAN... xvii
BAB I. PENDAHULUAN... 1
1.1 Latar Belakang Masalah ... 1
1.2 Tujuan dan Mamfaat ... 2
1.3 Batasan Masalah ... 3
xii
BAB II. DASAR TEORI ... 6
2.1 Walsh TransformdanFast Walsh Transform... 6
2.1.1 Fungsi Walsh ... 6
2.1.2 Transformasi Walsh ... 9
2.1.3 Fast Walsh Transform... 11
2.2 Katup Air Elektronis ... 13
2.3 Mikrokontroler ATMega32... 15
2.3.1 Gambaran Umum………... 15
2.3.2 Memori………... 17
2.3.3 PortInput/Output………... 21
2.3.4 ADC (Analog to Digital Converter)………....…... 23
2.3.4.1 Inisialisasi ADC……….…... 24
2.3.4.2 Pembacaan ADC………... 28
2.4 Nada dan Ketukan Nada ……… 29
BAB III. RANCANGAN PENELITIAN ... 32
3.1 Perancangan Perangkat Keras (Hardware) ... 33
3.1.1Low Pass Filter(LPF) ... 33
3.1.2 Penggerak Katup Air (Solid State Relay) ... 36
3.2 Perancangan Perangkat Lunak (Software) ... 37
3.3 Perancangan Perangkat Keras Alat ... 41
BAB IV. HASIL PERCOBAAN DAN PEMBAHASAN ... 43
4.1 Pengujian Terhadap SSR ... 46
BAB V. KESIMPULAN DAN SARAN ... 52
5.1 Kesimpulan ... 52
4.2 Saran ... 52
DAFTAR PUSTAKA
xiv
DAFTAR GAMBAR
1. Gambar 2-1 Sequency – ordered Walsh Functions dengan N = 16 ... 5
2. Gambar 2-2 Simbol dan bagian-bagian pada katub air elektronis ... 12
3. Gambar 2-3 Katub air elektronis yang digunakan beserta bagian-bagiannya ... 12
4. Gambar 2-4 Konfigurasi Pin Mikrokontroler ATMega32 ... 14
5. Gambar 2-5 Diagram Blok Mikrokontroler ATMega32 ... 15
6. Gambar 2-6 Peta Memori Flash Mikrokontroler ATMega32 ... 16
7. Gambar 2-7 Peta Memori Data SRAM ... 17
8. Gambar 2-8 Register – Register Pada EEPROM ... 18
9. Gambar 2-9 Register ADMUX ... 21
10. Gambar 2-10 Format Data ADC dengan ADLAR = 0 ... 21
11. Gambar 2-11 Format Data ADC dengan ADLAR = 1 ... 21
12. Gambar 2-12 Register ADCSRA ... 22
13. Gambar 2-13 Register SFIOR ... 24
14. Gambar 3-1 Blok Diagram Rancangan Penelitian ... 26
15. Gambar 3-2 RangkaianLow Pass Filterdan Bias DC ... 28
16. Gambar 3-3 RangkaianLow Pass Filterdan Bias DC beserta nilai -komponennya ... 29
17. Gambar 3-4 RangkaianSolid State Relay... 30
18. Gambar 3-5 Rancangan Diagram Alir Program Utama ... 31
20. Gambar 3-7 Rancangan Perangkat Keras Alat ... 32
21. Gambar 4-1 Tampilan Perangkat Keras Peralatan ... 35
22. Gambar 4-2 Blok Diagram Pengujian SSR ... 36
xvi
DAFTAR TABEL
1. Tabel 2-1 Fungsi Walsh 8 titik ... 6
2. Tabel 2-2 Sequency, kode biner, kode Gray ... 7
3. Tabel 2-3 Perbandingan Operasi Penjumlahan pada Transformasi Walsh dan Transformasi Walsh Cepat ... 10
4. Tabel 2-4 Perbandingan urutan hasil Transformasi Walsh Cepat dengan Transformasi Walsh secara langsung ... 11
5. Tabel 2-5 Fungsi Alternatif Port A ... 19
6. Tabel 2-6 Fungsi Alternatif Port B ... 19
7. Table 2-7 Fungsi Alternatif Port C ... 19
8. Tabel 2-8 Fungsi Alternatif Port D ... 20
9. Tabel 2-9 Pemilihan Mode Tegangan Referensi ADC ... 21
10. Tabel 2-10 Tabel Pemilihan Bit Saluran Pembacaan ADC ... 22
11. Tabel 2-11 Konfigurasi Clock ADC ... 23
12. Tabel 2-12 Pemilihan Sumber Picu ADC ... 24
13. Tabel 2-13 Frekuensi Nada ………...30
14. Tabel 2-14 Perhitungan Ketukan dan Tempo ………. 30
15. Tabel 4-1 Fungsi Bagian-Bagian pada Alat ... 35
16. Tabel 4-2 Hasil Percobaan SSR ... 37
17. Tabel 4-3 Data Hasil PengujianFast Walsh Transform... 39
1
1.1
Latar Belakang Masalah
Dalam kehidupan sehari - hari, manusia membutuhkan adanya suatu
hiburan. Pada hari-hari libur banyak orang dan keluarga meluangkan waktu untuk
berjalan-jalan di daerah rekreasi atau berkunjung ke suatu taman bermain.
Tempat-tempat rekreasi dan taman bermain seringkali terdapat benda atau
peralatan antara lain patung, air mancur, air terjun, mobil listrik, kiddy-kiddy
(peralatan mekanik yang dapat melakukan gerakan tertentu diiringi dengan musik
selama waktu tertentu), mesin permainan ketangkasan, dan masih banyak lagi.
Pengunjung yang tertarik biasanya berusaha untuk mencoba peralatan tersebut.
Untuk menarik perhatian maka peralatan atau benda dibuat dengan prinsip
berikut : yang berwarna-warni lebih menarik dibandingkan dengan yang hitam
putih, yang bersuara lebih menarik dibandingkan dengan yang tak bersuara, yang
bergerak lebih menarik dibandingkan dengan yang diam. Dari ketiga prinsip untuk
menarik perhatian pengunjung tersebut, suatu peralatan dibantu dengan peralatan
elektronik. Dengan bantuan peralatan elektronik suatu peralatan dapat
menghasilkan banyak warna melalui lampu yang berwarna, peralatan dapat
menghasilkan suatu gerakan melalui suatu penggerak (motor, solenoid,
pneumatik, dll) dan untuk peralatan yang dapat bersuara dilakukan melalui
speaker.
Dalam suatu taman, air terjun selalu melengkapi keberadaan taman. Air
2
mengalir dari pipa yang diberi lubang. Air terjun memberikan kesan yang
menyejukkan dan memberikan kesan dinamis dengan mengalirnya air. Selama ini
air yang mengalir belum diatur urutannya. Dengan diatur urutannya, mengalirnya
air pada air terjun akan bertambah dinamis dan akan memberikan daya tarik
tersendiri. Pada penelitian ini akan dibuat suatu model air terjun terkendali musik
dalam taman pintar untuk menarik perhatian pengunjung. Peralatan yang akan
dikembangkan yaitu suatu air terjun yang urutannya dapat diatur sesuai dengan
musik yang dimainkan, serta dapat dikendalikan (dicoba) urutannya oleh
pengunjung.
Tirai air konvensional (conventional) belum dikendalikan urutan jatuhnya
dan hanya mengalirkan air secara terus – menerus. Melalui pengaturan urutan
keluarnya air pada tirai air akan memberikan kesan dinamis dan menarik. Apabila
tirai air dapat diatur urutannya berdasarkan musik yang digunakan sebagai
masukan, maka tirai air tersebut akan menjadi menarik dan bernilai ekonomi yang
tinggi.
1.2
Tujuan dan Manfaat
Tujuan yang akan dicapai yaitu membuat suatu peralatan yang berfungsi
untuk mengontrol urutan katup air pada tirai air yang bekerja terhadap sinyal
musik yang diberikan sebagai input, sehingga tirai air konvensional yang banyak
dipakai dapat dibuat lebih menarik.
1. Untuk masyarakat umum
Masyarakat dapat menikmati suatu peralatan yang sederhana, murah dan
praktis tetapi memiliki unsur teknologi yang tinggi dan dapat memberikan
rasa nyaman dan sejuk dimana saja, baik ditempat hiburan, rumah makan
maupun dirumah sendiri.
2. Untuk perkembangan ilmu pengetahuan
a. Menambah literatur aplikasi bersama antara elektronika analog,
elektronika digital dan mikrokontroler.
b. Menambah literatur aplikasi mikrokontroler untuk dunia hiburan.
c. Menambah literatur aplikasi yang menggabungkan unsur seni
dengan unsur teknologi.
1.3
Batasan Masalah
Pembahasan perancangan alat katup air terkendali musik pada tirai air ini
lebih diarahkan dan difokuskan dalam batasan – batasan masalah sebagai berikut :
a. Berbasis mikrokontroler ATMega32 sebagai ADC dan pembagi/pemisah
frekuensi sinyal masukan menjadi beberapa frekuensi.
b. Menggunakan rangkaian low pass filter dan bias DC sebagai pembatas
frekuensi masukan dan mengeliminasi sinyal negatif dari sinyal masukan.
c. Inputberasal dari pemutar musik (mp3 player).
d. Menggunakan rangkaian SSR (Solid State Relay) pada bagian keluaran
4
e. Keluaran berupa 8 buah katup air (water valve) yang bereaksi terhadap
musik yang diberikan dan 8 buah LED yang berfungsi sebagai indikator
katup air yang aktif.
f. Mikrokontroler melakukan proses tranformasi Walsh pada data masukan
1.4
Metodologi Penelitian
Metode yang digunakan pada penelitian ini adalah sebagai berikut:
1. Mengumpulkan sejumlah referensi atau literatur dari perpustakaan,
internet dan sebagainya.
2. Menyusun perancangan dan melakukan serangkaian percobaan untuk
merealisasikan perancangan yang telah dibuat.
3. Tahap prosedur pengujian alat, akan dilakukan beberapa tahap
(komponen) pengujian, yaitu :
a. Pengujian terhadap SSR (Solid State Relay) dilakukan dengan
memberikan tegangan masukan dc dengan tegangan terendah
adalah 3 V, kemudian tegangan tersebut di naikkan secara bertahap
untuk memperoleh tegangan aktif dari SSR tersebut.
b. Pengujian terhadap mirkokontroler dilakukan dengan cara
memberikan sinyal masukan sinus yang di peroleh dari AFG
dengan amplitudo tetap, dengan frekuensi yang berubah-ubah.
Sinyal masukan di lewatkan melalui LPF terlebih dahulu sebelum
masuk ke dalam mikrokontroler.
c. Pengujian dengan menggunakan masukan berupa nada lagu
dengan menggunakan mikrokontroler, kemudian menggunakannya
sebagai masukan sebagai pengganti AFG. Nada yang dipilih adalah
nada dengan frekuensi yang masih masuk dalam jangkauan
6
BAB II
DASAR TEORI
2.1
Walsh Transform
dan
Fast Walsh Transform
Untuk mengetahui komponen penyusun dari suatu sinyal dapat dilakukan
dengan melakukan transformasi pada sinyal. Transformasi yang banyak dikenal
yaitu transformasi Fourier. Menurut Transformasi Fourier, gelombang periodis
tersusun dari berbagai harmonisa dengan bobot tertentu dari sekumpulan
gelombang sinus dan cosinus. Transformasi lainnya yang dipakai untuk
menguraikan suatu sinyal berdasarkan sinyal penyusunnya yaitu transformasi
Walsh. Transformasi Walsh pertama kali dipresentasikan oleh J.L.Walsh pada
tahun 1922 kepadaAmerican Mathematical Society.
Sama halnya seperti transformasi Fourier yang menyatakan bahwa
gelombang periodis tersusun berdasarkan kepada harmonisa dari sekumpulan
gelombang sinus dan cosinus, maka transformasi Walsh menyatakan bahwa
gelombang periodis tersusun berdasarkan harmonisa dari sekumpulan gelombang
kotak, hal ini dikenal dengan fungsi Walsh (Walsh Functions).
Transformasi Walsh menguraikan suatu sinyal menjadi gelombang kotak
dan harmonisanya[2]. Gelombang kotak terdiri dari nilai +1 dan -1 sehingga
perhitungan transformasi Walsh menjadi lebih sederhana.
Secara singkat, fungsi Walsh ditunjukkan oleh gambar 2-1. Gambar 2-1
menunjukkan fungsi WAL(0) sampai WAL(15). Fungsi Walsh terdiri dari deretan
pulsa kotak [2] dengan amplitude 1 seperti yang terlihat pada gambar 2-1.
Gambar 2-1Sequency – ordered Walsh Functions dengan N = 16
Fungsi Walsh dituliskan dalam persamaan matematis sebagai berikut :
) 1 1 ,... 2 , 1 , 0 , ( ] , [ ) 1 ( ) 1 ( ] , [ 1 0 1
0
WALm k k m N
m k WAL N i m k m k i i i N i i (1.1)
Nilai WAL(0,t) selalu bernilai 1, WAL(1,t) merupakan gelombang kotak
8
gelombang kotak dengan perioda T/2 dan WAL(7,t) berupa gelombang kotak
dengan perioda T/4. Pada WAL(15,t) menghasilkan gelombang kotak dengan
perioda T/8.
Fungsi WAL genap dinamakan CAL(k) dan fungsi WAL ganjil dinamakan
SAL(k). CAL dan SAL merupakan singkatan Cosine wALsh dan Sine wALsh,
istilah ini mirip dengan koefisien Cos dan Sin pada deret Fourier.
CAL(n,k) = WAL(2k,n)
SAL(n,k) = WAL(2k+1,n)
Transformasi Walsh terdiri dari fungsi Walsh yang membentuk matrix
WALSH. Berikut disajikan tabel fungsi WALSH untuk 8 titik yang membentuk
matrix WALSH.
Tabel 2-1 Fungsi Walsh 8 titik
0 1 2 3 4 5 6 7 WAL(0) +1 +1 +1 +1 +1 +1 +1 +1 WAL(1) +1 +1 +1 +1 -1 -1 -1 -1 WAL(2) +1 +1 -1 -1 -1 -1 +1 +1 WAL(3) +1 +1 -1 +1 +1 -1 -1 -1 WAL(4) +1 -1 -1 +1 +1 -1 -1 +1 WAL(5) +1 -1 -1 +1 -1 +1 +1 -1 WAL(6) +1 -1 +1 -1 -1 +1 -1 +1 WAL(7) +1 -1 +1 -1 +1 -1 +1 -1
Sifat – sifat fungsi Walsh
1. Memiliki nilai +1 dan -1.
2. Perkalian antar fungsi Walsh menghasilkan fungsi Walsh yang lain.
Contoh:
3.
1 0 , , 0 { ) , ( ) , ( N t m n untuk N m n untuk t n WAL t m WAL (1.2)4. Spektrum frekuensi dapat dihitung berdasarkan persamaan berikut :
2 2 ) , ( ) , ( )
(k CAL k t SAL k t
P (1.3)
dengan P(0) Xc2(0)
Komponen fase dihitung sebagai berikut :
, 0 ) 0 ( 1 2 ,..., 2 , 1 , ) ( ) ( tan )
( 1
N
k k X k X k c s (1.4)
5. Urutan fungsi Walsh dinamakan sequency yaitu berdasarkan banyaknya
perubahan tanda pada satu baris. Perubahan tanda dapat dari +1 menjadi -1
atau dari -1 menjadi +1.
Tabel 2-2, berikut ini disajikan tabel sequency, kode biner, kode Gray
serta kode Gray terbalik yang dipakai untuk melihat hubungan urutan pada matrix
Walsh.
Tabel 2-2 Sequency, kode biner, kode Gray
Sequency biner Kode Gray Kode Gray tercermin K
0 000 000 000 0
1 001 001 100 4
2 010 011 110 6
3 011 010 010 2
4 100 110 011 3
5 101 111 111 7
6 110 101 101 5
10
2.1.2 Transformasi Walsh [2],[3],[4]
Transformasi Walsh pada masukan xi menghasilkan X(k) disajikan pada
persamaan berikut :
1 0 1 ,..., 1 , 0 ) , ( 1 ) ( N iiWAL k i k N
x N k
X (1.5)
Persamaan transformasi Walsh balik sebagai berikut :
1 0 1 ,..., 1 , 0 ) , ( ) ( N kkWAL k i i N
X i
x (1.6)
dengan WAL(k,i) merupakan matrix Walsh
xi merupakan deretan data masukan berupa vektorbaris ukuran
1xN
Xkmerupakan hasil transformasi Walsh ukuran Nx1
Dalam bentuk matrix, persamaan (5) dituliskan sebagai berikut :
) , ( )
(k xWAL k i
X i (1.7)
contoh operasi perhitungan pada transformasi Walsh 8 titik
Hasil operasi perkalian matrix sebagai berikut : 7 6 5 4 3 2 1 0
0 x x x x x x x x
X
7 6 5 4 3 2 1 0
1 x x x x x x x x
X
7 6 5 4 3 2 1 0
2 x x x x x x x x
X
7 6 5 4 3 2 1 0
3 x x x x x x x x
X
7 6 5 4 3 2 1 0
4 x x x x x x x x
X
7 6 5 4 3 2 1 0
5 x x x x x x x x
X
7 6 5 4 3 2 1 0
6 x x x x x x x x
X
7 6 5 4 3 2 1 0
7 x x x x x x x x
X
Pada operasi transformasi Walsh untuk 8 titik memerlukan operasi
penjumlahan sebanyak 7 x 8 operasi penjumlahan. Operasi perkalian pada
transformasi Walsh yaitu perkalian dengan +1 dan perkalian dengan -1 yang
menghasilkan perubahan tanda pada data masukan, hal ini berarti pada
transformasi Walsh tidak memerlukan operasi perkalian. Secara umum,
transformasi Walsh untuk N titik memerlukan operasi penjumlahan sebanyak
N(N-1).
2.1.3 Transformasi Walsh Cepat (
Fast Walsh Transform
)
Pada operasi transformasi Walsh terlihat beberapa operasi antar suku yang
sama sehingga dimungkinkan untuk melakukan penghematan operasi perhitungan.
Operasi transformasi Walsh dikelompokkan berdasarkan suku-suku sebagai
berikut : ) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
0 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
1 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
2 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
3 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
4 x x x x x x x x
12 ) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
5 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
6 x x x x x x x x
X
) ( ) ( ) ( )
( 0 1 2 3 4 5 6 7
7 x x x x x x x x
X
Operasi antar suku pada tahap ini adalah
) ( 0 1
0 x x
X
) ( 2 3
1 x x
X
) ( 4 5
2 x x
X
) ( 6 7
3 x x
X
dan X4 (x0 x1) ) ( 2 3
5 x x
X
) ( 4 5
6 x x
X
) ( 6 7
7 x x
X
Pada tahap berikutnya terjadi operasi
2 0
0 X X
X
3 1
1 X X
X
6 4
4 X X
X
7 5
5 X X
X
dan X2 X0 X2
3 1
3 X X
X
6 4
6 X X
X
7 5
7 X X
X
Tahap selanjutnya terjadi operasi :
4 0
0 X X
X
5 1
1 X X
X
6 2
2 X X
X
7 3
3 X X
X
dan X4 X0 X4
5 1
5 X X
X
6 2
6 X X
X
7 3
7 X X
Penghematan terhadap operasi Walsh 8 titik memerlukan 8 x 3 operasi
penjumlahan. Tabel 2-3, berikut ini disajikan operasi Walsh dan penghematan
operasi transformasi Walsh.
Tabel 2-3 Perbandingan Operasi Penjumlahan pada Transformasi Walsh dan Transformasi Walsh Cepat
N Operasi Penjumlahan pada Transformasi Walsh N*(N-1)
Operasi Penjumlahan pada Transformasi Walsh Cepat
(Penghematan) N*log2N
4 4 x 3 4 x 2
8 8 x 7 8 x 3
16 16 x15 16 x 4
32 32 x 31 32 x 5
64 64 x 63 64 x 6
128 128 x 127 128 x 7
256 256 x 255 256 x 8
Dari tabel 2-3 terlihat bahwa transformasi Walsh cepat menghemat operasi
penjumlahan sebesar N*log2 (N) dibandingkan dengan operasi transforamsi
Walsh secara langsung memerlukan N*(N-1) operasi penjumlahan.
Perbandingan urutan keluaran dari transformasi Walsh dan transformasi
Walsh cepat disajikan pada tabel 2-4.
Tabel 2-4 Perbandingan urutan hasil Transformasi Walsh Cepat dengan Transformasi Walsh secara langsung
Transformasi Walsh Cepat
(TWC)
Transformasi Walsh (langsung)
Kode Keluaran
(TWC)
Kode Keluaran Transformasi
Walsh
Kode Gray Kode Gray Terbalik
X0 X0 000 000 000 000
X1 X7 001 111 001 100
X2 X3 010 011 011 110
X3 X4 011 100 010 010
X4 X1 100 001 110 011
X5 X6 101 110 111 111
X6 X2 110 010 101 101
14
Berdasarkan pada tabel 2-2 dan tabel 2-4, data masukan terurut secara
sequency akan menghasilkan keluaran dengan urutan kode gray terbalik. Agar
urutan menjadi sama dengan masukan, maka perlu dilakukan penataan kembali
(reorder) terhadap hasil transformasi Walsh cepat.
Berikut disajikan urutan kembali (reorder) pada transformasi Walsh cepat
untuk beberapa titik.
reorder8 = {0,7,3,4,1,6,2,5};
reorder16 = {0,15,7,8,3,12,4,11,1,14,6,9,2,13,5,10}; reorder32 = {0,31,15,16,7,24,8,23,3,28,12,19,4,27,11,
20,1,30,14,17,6,25,9,22,2,29,13,18,5,26,10,21}; reorder64 = {0,63,31,32,15,48,16,47,7,56,24,39,8,55,23,40,
3,60,28,35,12,51,19,44,4,59,27,36,11,52,20,43, 1,62,30,33,14,49,17,46,6,57,25,38,9,54,22,41,2, 61,29,34,13,50,18,45,5,58,26,37,10,53,21,42}; reorder128 = {0,127,63,64,31,96,32,95,15,112,48,79,16,111,
47,80,7,120,56,71,24,103,39,88,8,119,55,72, 23,104,40,87,3,124,60,67,28,99,35,92,12,115, 51,76,19,108,44,83,4,123,59,68,27,100,36,91, 11,116,52,75,20,107,43,84,1,126,62,65,30,97, 33,94,14,113,49,78,17,110,46,81,6,121,57,70, 25,102,38,89,9,118,54,73,22,105,41,86,2,125, 61,66,29,98,34,93,13,114,50,77,18,109,45,82,5, 122,58,69,26,101,37,90,10,117,53,74,21,106,42,85};
Pada Transformasi Walsh Cepat, sinyal masukan berupa sinyal dengan
runtun waktu, sedangkan keluaran pada transformasi Walsh Cepat berupa
koefisien sinyal penyusun yang merupakan fungsi Walsh dasar. Koefisien sinyal
penyusun setara dengan frekuensi dari sinyal penyusun sehingga operasi
transformasi Wlash Cepat dapat dipakai untuk menunjukkan komponen frekuensi
dari suatu sinyal seperti terlihat pada persamaan dibawah ini.
0 1
( ) ( ) ( )
N
i i
i
X t A A SAL i B CAL i
2.2
Katup Air Elektronis
Katub air elektronis terdiri dari bagian solenoid (kumparan), inti
kumparan dan katub air seperti pada gambar 2-2 dibawah ini. Solenoid bekerja
berdasarkan prinsip elektromagnetis, bila pada kumparan diberi arus maka akan
menarik inti kumparan menuju ke tengah kumparan, dan bila arus diputus dari
kumparan maka inti kumparan akan kembali seperti semula. Inti kumparan
berfungsi sebagai sumbat pada saluran air.
simbol katub elektronik
kumparan
inti kumparan
saluran air
Gambar 2-2Simbol dan bagian-bagian pada katub air elektronis
Gambar 2-3Katub air elektronis yang digunakan beserta bagian-bagiannya
2.3
Mikrokontroler ATMega32
16
ATMEGA32 termasuk dalam microcontroller unit (MCU) 8 – bit
keluarga AVR (Alf and Vegard’s Risc Processor) ATMega yang berdaya guna
tinggi dan berdaya rendah. ATMega32 dirancang berdasarkan arsitektur RISC
(Reduced Instruction Set Computing), dimana semua instruksi dikemas dalam
kode 16 – bit (16 – bits word) dan sebagian besar instruksi dieksekusi dalam 1
(satu) siklus.
Fitur :
a. Mikrokontroler AVR berkemampuan tinggi.
b. Didesain berdaya rendah dan semua operasi bersifat statis.
c. Memory flashsebesar 32K –bytes.
d. EEPROM sebesar 1024bytes.
e. SRAMinternalsebesar 2K –bytes.
f. Antarmuka (interface) JTAG (memenuhi standard IEEE 1149.1).
g. Dua buahtimer / counter8 – bit.
h. Satu buahtimer / counter16 – bit.
i. PWM (Pulse Width Modulation) sebanyak 4 (empat) kanal (channels).
j. ADC (Analog – to – Digital Converter) internal dengan fidelitas 10 – bit
sebanyak 8channels.
k. Portal komunikasi serial (USART)
l. Analog comparator internal.
m. Enam pilihan modesleeppenghemat penggunaan daya listrik.
n. Tegangan operasi 2.7 – 5.5V (untuk ATMega32L) dan 4.5 – 5.5V (untuk
o. Kecepatan maksimal 16 MHz.
p. Antarmuka SPI.
q. Unit interupsi internal dan eksternal.
r. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.
s. ATMega32 terdiri dari 40-pin PDIP, 44-lead TQFP dan 44-pad MLF.
Konfigurasi pin dan diagram blok dari mikrokontroler ATMega32
ditunjukkan pada gambar 2-4 dan 2-5.
18
Gambar 2-5Diagram Blok Mikrokontroler ATMega32
2.1.2 Memori
Mikrokontroler ATMega32 memiliki memori flash sebesar 32K
bytes yang dapat diprogram berulang – ulang (reprogrammable).
Demi keamanan software, memori flash dibagi menjadi 2 (dua)
bagian, yaitu bagian boot program dan bagian application
program. Memori flash terletak pada alamat $0000 - $3FFF. Peta
memoriflashditunjukkan oleh gambar 2-6.
Gambar 2-6Peta Memori Flash Mikrokontroler ATMega32
b. Memori Data SRAM (Static Random – Access Memory)
Mikrokontroler ATMega32 memiliki SRAM internal sebesar 2K
20
ATMega32 dapat dilihat pada peta memori data seperti yang
ditunjukkan oleh gambar 2-7 dibawah ini.
Gambar 2-7Peta Memori Data SRAM
c. EEPROM
EEPROM (Electrically Erasable Programmable Read Only
Memory) adalah salah satu dari tiga tipe memori pada ATMega32
(dua yang lain adalah flash dan SRAM – sudah dijelaskan pada
subbab sebelumnya). EEPROM tetap dapat menyimpan data saat
tidak dicatu daya dan juga dapat diubah saat program berjalan.
Oleh karena itu, EEPROM sangat berguna untuk menyimpan
informasi, seperti nilai kalibrasi, nomor ID dan juga password.
Pada EEPROM terdapat 3 buah register yang harus diatur untuk
EEAR (EEPROM Address Register), yaitu tempat dimana alamat
data yang akan ditulis dimasukkan. EEDR (EEPROM Data
Register), yaitu tempatregisteruntuk menyimpan data. Dan EECR
(EEPROM Control Register) yang digunakan untuk mengontrol
operasi dari EEPROM.
(a)
(b)
(c)
Gambar 2-8Register – Register Pada EEPROM
(a) Register EEAR;
(b)Register EEDR;
(c) Register EECR.
2.1.3 Port Input/Output (
I/O Ports
)
Mikrokontroler ATMega32 memiliki 32 pin I/O bidirectional.
Semua pin ini dapat diprogram sebagai input ataupun output. Port A
22
analog untuk ADC (Analog – to Digital Converter). Perlu diperhatikan
bahwa ketika difungsikan sebagai masukan analog untuk ADC, maka Port
A tidak boleh digunakan sebagai output karena akan mengakibatkan hasil
konversi ADC menjadi tidak tepat.
Tabel 2-1 Fungsi Alternatif Port A
Selain Port A, Port B, Port C dan Port D mikrokontroler
ATMega32 juga memiliki fungsi alternatif. Tabel 2-2, 2-3 dan 2-4
menunjukkan fungsi – fungsi tersebut.
Tabel 2-3 Fungsi Alternatif Port C
Tabel 2-4 Fungsi Alternatif Port D
2.1.4 ADC (
Analog to Digital Converter
)
ATMega32 merupakan tipe AVR yang telah dilengkapi dengan 8
saluran (channels) ADC internal dengan fidelitas 10 bit. Dalam mode
operasinya, ADC ATMega32 dapat dikonfigurasi, baik sebagai single
ended input maupun differential input. Selain itu, ADC ATMega32 juga
memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi dan
kemampuan filter derau yang amat fleksibel sehingga dapat dengan mudah
24
2.1.4.1
Inisialisasi ADC
Proses inisialisasi ADC meliputi proses penentuan clock, tegangan
referensi, format data keluaran dan mode pembacaan. Register yang perlu
diset nilainya adalah ADMUX (ADC Multiplexer Selection Register),
ADCSRA (ADC Control and Status Register) dan SFIOR (Special
Function I/O Register). ADMUX merupakan register 8 bit yang berfungsi
menentukan tegangan referensi ADC,format data outputdan saluran ADC
yang digunakan. Konfigurasinya seperti pada gambar 2-9 dibawah ini.
Gambar 2-9Register ADMUX
Bit penyusunnya dapat dijelaskan sebagai berikut :
a. REFS[1..0] merupakan bit pengatur tegangan referensi ADC.
Memiliki nilai awal 00 sehingga referensi tegangan berasal dari pin
AREF. Detail nilai yang lain dapat dilihat pada table dibawah ini.
Tabel 2-5 Pemilihan Mode Tegangan Referensi ADC
REFS[1..0] Mode tegangan referensi
00 Berasal dari pin AREF 01 Berasal dari pin AVCC 10 Tidak digunakan
11 Berasal dari tegangan referensi internal sebesar 2.56V
b. ADLAR merupakan bit pemilih mode data keluaran ADC. Bernilai
diregister ADCH dan 8 bit sisanya berada diregister ADCL, seperti
gambar 2-10. Jika bernilai 1, maka hasilnya seperti gambar 2-11.
Gambar 2-10Format Data ADC dengan ADLAR = 0
Gambar 2-11Format Data ADC dengan ADLAR = 1
c. MUX[4..0] merupakan bit pemilih saluran pembacaan ADC.
Bernilai awal 00000. untuk mode single ended input, MUX[4..0]
bernilai dari 00000 – 00111. berikut tabel konfigurasi bit MUX.
ADCSRA merupakan register 8 bit yang berfungsi melakukan
manajemen sinyal kontrol dan status dari ADC. Memiliki susunan seperti
gambar dibawah ini.
26
Tabel 2-6 Tabel Pemilihan Bit Saluran Pembacaan ADC
Bit penyusun ADCSRA dapat dijelaskan sebagai berikut :
a. ADEN merupakan bit pengatur aktivasi ADC. Bernilai awal 0. Jika
bernilai 1, maka ADC aktif.
b. ADCS merupakan bit penanda mulainya konversi ADC. Bernilai
awal 0 dan selama konversi akan bernilai 1, sedangkan jika
c. ADATE merupakan bit pengatur aktivasi picu otomatis operasi
ADC. Bernilai awal 0. Jika bernilai 1, operasi konversi ADC akan
dimulai pada saat transisi positif dari sinyal picu yang dipilih.
Pemilihan sinyal picu menggunakan bit ADTS pada register
SFIOR.
d. ADIF merupakan bit penanda akhir suatu konversi. Bernilai awal
0. Jika bernilai 1, maka konversi ADC pada suatu saluran telah
selesai dan data siap diakses.
e. ADIE merupakan bit pengatur aktivasi interupsi yang berhubungan
dengan akhir konversi ADC. Bernilai awal 0. Jika bernilai 1 dan
jika sebuah konversi ADC telah selesai, sebuah interupsi akan
dieksekusi.
f. ADPS[2..0] merupakan bit pengaturclockADC. Bernilai awal 000.
detail nilai bit dapat dilihat pada tabel dibawah ini.
Tabel 2-7 Konfigurasi Clock ADC
ADPS[2..0] Besar clock ADC
000
2
osc
f
001
2
osc
f
010
4
osc
f
011
8
osc
f
100
16
osc
f
101
32
osc
f
110
64
osc
f
111
128
osc
28
SFIOR merupakan register 8 bit pengatur sumber picu konversi
ADC, apakah dari picu eksternal atau dari picu internal. Susunannya
sebagai berikut.
Gambar 2-13Register SFIOR
ADTS[2..0] merupakan bit pengatur picu eksternal operasi ADC.
Hanya berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Detail
nilai ADTS[2..0] dapat dilihat pada tabel berikut :
Tabel 2-8 Pemilihan Sumber Picu ADC
ADTS[2..0] Sumber Picu
000 Modefree running
001 Komparator analog 010 Interupsi eksternal
011 Timer/Counter0 Compare Match 100 Timer/Counter0 Overflow
101 Timer/Counter1 Compare Match B 110 Timer/Counter1 Overflow
111 Timer/Counter1 Capture Event
2.1.4.2
Pembacaan ADC
Dalam proses pembacaan hasil konversi ADC, dilakukan
pengecekan terhadap bit ADIF (ADC Interrupt Flag) pada register
ADCSRA. ADIF akan bernilai satu jika konversi sebuah saluran ADC
telah selesai dilakukan dan data hasil konversi siap untuk diambil, dan
demikian sebaliknya. Data disimpan dalam dua buah register, yaitu ADCH
Pada ATMega32 terdapat dua cara operasi, yaitusingle conversion
atau mode free running. Mode free running memungkinkan Anda hanya
perlu mengonversi sekali saja, sedangkan pada mode single conversion,
setiap konversi dimulai dengan menyeting bit ADCS (ADC Start
Conversion) pada register ADCSRA. Mode single conversion tersebut
biasanya digunakan apabila kita menggunakan banyak kanal pada ADC.
Nilai ADC masukan tunggal dapat dihitung dengan persamaan
berikut:
.1024
Vin ADC
Vref
2.3
Nada dan Ketukan Nada
Melodi terdiri dari nada dan nilai ketukan. Tabel nada beserta frekuensinya
disajikan pada tabel 2-1.
Tanda Ketukan dan tanda istirahat disajikan pada gambar 2-1 dibawah ini
[Thursan(a), 2005].
seper empat
seper delapan setengah
seper enambelas penuh
ketukan
penuh Tanda Istirahat
setengah
seper empat
seper delapan
seper enambelas
30
Tabel 2-9. Frekuensi Nada [Arvin, 2005]
Oct
0 1 2 3 4 5 6 7
Note N f (Hz) N f (Hz) N f (Hz) N f(Hz) N f(Hz) N f(Hz) N f(Hz) N f(Hz)
A 0 27,5000 12 55,0000 24 110,0000 36 220,0000 48 440,0000 60 880,0000 72 1760,000 84 3520,000
Bb 1 29,1352 13 58,2705 25 116,5409 37 233,0819 49 466,1638 61 932,3275 73 1864,655 85 3729,310
B 2 30,8677 14 61,7354 26 123,4708 38 246,9417 50 493,8833 62 987,7666 74 1975,533 86 3951,066
C 3 32,7032 15 65,4064 27 130,8128 39 261,6256 51 523,2511 63 1046,502 75 2093,005 87 4186,009
Db 4 34,6478 16 69,2957 28 138,5913 40 277,1826 52 554,3653 64 1108,731 76 2217,461 88 4434,922
D 5 36,7081 17 73,4162 29 146,8324 41 293,6648 53 587,3295 65 1174,659 77 2349,318 89 4698,636
Eb 6 38,8909 18 77,7817 30 155,5635 42 311,1270 54 622,2540 66 1244,508 78 2489,016 90 4978,032
E 7 41,2034 19 82,4069 31 164,8138 43 329,6276 55 659,2551 67 1318,510 79 2637,020 91 5274,041
F 8 43,6535 20 87,3071 32 174,6141 44 349,2282 56 698,4565 68 1396,913 80 2793,826 92 5587,652
Gb 9 46,2493 21 92,4986 33 184,9972 45 369,9944 57 739,9888 69 1479,978 81 2959,955 93 5919,911
G 10 48,9994 22 97,9989 34 195,9977 46 391,9954 58 783,9909 70 1567,982 82 3135,963 94 6271,927
Ab 11 51,9131 23 103,8262 35 207,6523 47 415,3047 59 830,6094 71 1661,219 83 3322,438 95 6644,875
Lama ketukan ditentukan oleh tempo dari lagu. Lagu dengan tempo 100
berarti 100 ketukan permenit. Setiap ketukan mempunyai durasi waktu sebesar
60/100 detik. Berikut ini disajikan perhitungan ketukan pada tabel 2-2.
Tabel 2-10. Perhitungan ketukan dan tempo
Tempo
Dari tabel 2-2. terlihat waktu yang paling kecil dalam sebesar 31 ms untuk
32
BAB III
RANCANGAN PENELITIAN
Diagram blok dari rangkaian katup air terkendali musik pada tirai air
ditunjukkan pada gambar 3-1.
Gambar 3-1Blok Diagram Rancangan Penelitian
Cara kerja dari setiap blok pada diagram blok perancangan di atas adalah
sebagai berikut :
1) Sumber suara berasal darimp3 playerdengan3.5mm stereo phone jack.
2) Sumber suara akan diterima oleh low pass filter (LPF). LPF berfungsi
untuk membatasi frekuensi maksimum yang akan masuk ke dalam ADC
3) Frekuensi keluaran LPF akan dimasukkan ke dalam mikrokontroler
sebagai masukan analog bagi ADC internal, tetapi sinyal dari mp3 player
tidak dapat langsung dimasukkan ke dalam ADC karena biasanya
amplitudo sinyal tersebut bernilai +/- 1.5V. Oleh karena itu, sinyal
masukan terlebih dahulu harus melewati rangkaian bias DC, yaitu
rangkaian yang akan menghilangkan bagian negatif dari sinyal tersebut.
4) Mikrokontroler ATMega32 difungsikan sebagai ADC dan pembagi
frekuensi masukan menjadi beberapa frekuensi yang nantinya akan
digunakan untuk mengaktifkan valve (implementasi Fast Walsh
Transform).
5) Frekuensi hasil pembagian yang dilakukan oleh ATMega32 akan
ditampilkan pada 8 LED.
6) Keluaran mikrokontroler ATMega32 akan mengaktifkan SSR (Solid State
Relay) sesuai dengan frekuensi hasil pembagian dari frekuensi yang masuk
ke dalam ADC internal.
7) Keluaran tiap SSR langsung dihubungkan dengan tiap valve. Oleh karena
itu, jika ada SSR yang aktif, maka valve yang dihubungkan dengan SSR
tersebut juga akan aktif.
3.1
Perancangan Perangkat Keras (
Hardware
)
3.1.1
Low Pass Filter
(LPF)
Sinyal analog masukan ADC internal mikrokontroler ATMega32 tidak
boleh bernilai negatif, sehingga perlu dibuat rangkaian untuk menghilangkan
34
Sinyal dari sebuah mp3 playerbiasanya memiliki amplitudo berkisar pada
nilai +/- 1.5V dan memiliki rentang frekuensi antara 20Hz – 20kHz (rentang ini
merupakan rentang frekuensi suara yang masih dapat didengar oleh telinga
manusia). Oleh karena itu, sinyal darimp3 player tidak dapat langsung digunakan
sebagai masukan bagi ADC internal mikrokontroler.
Pada penelitian ini, frekuensi sinyal yang masuk ke dalam ADC adalah
sekitar 1 kHz agar frekuensi tinggi suara treble dapat dieliminasi, tetapi sinyal
suara dengan frekuensi dibawah 1 kHz tetap dapat diproses. Sehingga diperlukan
suatufilteruntuk menghambat frekuensi di atas 1 kHz, maka digunakan filter aktif
seperti pada gambar 3-2 dibawah ini.
Rangkaian bias DC berfungsi untuk menghilangkan bagian negatif dari
suatu sinyal (dalam hal ini sinyal dari mp3 player) karena nilai negatif dapat
merusak ADC jika digunakan sebagai masukan bagi ADC tersebut.
Gambar 3-2RangkaianLow Pass Filterdan Bias DC
Nilai – nilai komponen yang digunakan dapat dihitung dengan
C1 = 2C2
2 * * * 4
2 2
1
C f R
R
c
Karena komponen C lebih terbatas nilai komponennya, maka pada
perancangan LPFini, nilai C yang ditentukan terlebih dahulu.
C1 = 33 nF, sehingga C2 = 66 nF, tetapi nilai yang ada di pasaran
adalah 68 nF, sehingga C2 = 68 nF.
fC= 1 kHz, maka nilai R1 = R2 dapat dihitung :
9 3
10 * 68 * 10 * 1 * * 4
2 2
1
R R
R k
R1 2 1,65 , dibulatkan menjadi1,5 k
Untuk Cin, R3 dan R4 dapat ditentukan sendiri nilainya, tetapi
dengan catatan bahwa nilai R3 dan R4 harus cukup besar.
Gambar 3-3RangkaianLow Pass Filterdan Bias DC
36
3.1.2 Penggerak Valve (
Solid State Relay
)
Katup air (valve) yang digunakan pada penelitian ini adalah katup air
dengan sumber ac (alternating current), oleh sebab itu, keluaran dari
mikrokontroler tidak dapat digunakan langsung untuk mengontrol katup air
tersebut. Oleh karena itu, untuk menjalankan katup air tersebut dibutuhkan suatu
rangkaian yang dapat mengontrol alat bertegangan ac dengan menggunakan
tegangan dc.
Komponen yang dapat mengontrol alat bertegangan ac dengan
menggunakan tegangan dc salah satunya adalah Solid State Relay (SSR). SSR
sebenarnya bukanlah sebuah relay, tetapi hanya prinsip kerjanya saja yang mirip
dengan relay. Rangkaian SSR terdiri atas sebuah opto-isolator, yaitu suatu
komponen yang didalamnya terdapat sebuah LED dan sebuah photo-transistor.
Pada SSR terdapat pula sebuah TRIAC dan beberapa komponen pasif. Rangkaian
SSR dapat dilihat pada gambar 3-4 dibawah ini.
. . . . Q1 TRIAC - + D1 BRIDGE 1 4 3 2 U1 MOC3021 1 7 2 6 5 R1 680 R2 520 R3 56 R4 39 C3 10nF LOAD Vdc VAC 220v
~
Gambar 3-4RangkaianSolid State Relay
Rangkaian SSR tersebut merupakan hasil modifikasi dari rangkaian
diinginkan. Karena SSR diaktifkan oleh mikrokontroler, maka kriteria yang
diinginkan adalah bahwa SSR tersebut diharapkan dapat bekerja pada tegangan
antara 4,5 V – 5,5 V, karena tegangan tersebut merupakan tegangan aktif dari
mikrokontroler. Oleh karena itu, maka komponen-komponen pada SSR tersebut
dipilih secara acak agar mendapatkan kriteria yang diinginkan.
3.2
Perancangan Perangkat Lunak (
Software
)
Perancangan perangkat lunak dititik-beratkan pada perancangan perangkat
lunak yang merupakan implementasi dari fast Walsh transform, karena program
utama dari penelitian ini adalah membuat suatu program yang dapat menguraikan
sinyal masukan menjadi frekuensi – frekuensi penyusunnya.
Secara umum, perancangan perangkat lunak terdiri atas inisialisasi dan
pemberian nilai awal, tahap inisialisasi ini meliputi inisialisasiport I/O,timerdan
ADC, sedangkan untuk alamat memori tidak perlu dilakukan inisialisasi karena
secara otomatis telah dilakukan olehcompiler.
Setelah dilakukan inisialisasi, maka langkah selanjutnya adalah program
akan mengambil data dari register penyimpan data. Pada awal eksekusi program,
data yang diambil adalah data inisialisasi awal dan nilai awal yang diberikan pada
awal program. Selanjutnya data yang diambil berasal dari pemutar musik (mp3
player) untuk kemudian diolah oleh ADC. Rancangan diagram alir program utama
38
Gambar 3-5Rancangan Diagram Alir Program Utama
3.2.1 Perancangan
Fast Walsh Transform
Sinyal audio berupa sinyal analog diubah menjadi data digital melalui
ADC. ADC yang dipakai berupa ADC internal dari mikrokontroler ATmega32
dengan resolusi 8 bit dengan kecepatan konversi mencapai 15 kSPS (kilo Samples
per Seconds). Untuk sinyal audio maka frekuensi maksimal yang masih bisa
dikonversi tanpa terjadi aliasing sebesar 7,5 kHz (berdasarkan kriteria Nyquist).
Dengan kecepatan maksimal maka setiap detik terjadi 7500 data 8 bit.
Setelah diubah menjadi data digital, data diolah menggunakan
transformasi Walsh Cepat. Berikut ini disajikan algoritmaFast Walsh Transform:
MULAI
Inisialisasi Port, timer, ADC
Masukkan Data Awal
SELESAI
1 01
,
,
1
,
0
)
,
(
.
1
N i ik
x
WAL
k
i
k
N
N
Y
(3-1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Gambar 3.6 Matriks Walsh 16 titik
Operasi Transformasi Walsh untuk 16 titik menghasilkan keluaran yang
sepadan dengan frekuensi maksimal 1 kHz sebanyak 8 titik keluaran. Koefisien
transformasi Walsh yang pertama WAL(0) merupakan komponen DC dari sinyal,
sedangkan koefisien yang lain disajikan pada table berikut :
Dengan frekuensi maksimal sebesar 1kHz maka setiap indek pada
keluaran transformasi Walsh 8 titik sepadan dengan frekuensi 1kHz / 8 atau
40
Tabel 3-1 Koefisien Hasil Transformasi Walsh 16 Titik
Y(0) Y(1) Y(2) Y(3) Y(4) Y(5) Y(6) Y(7) Y(8)
Frekuensi DC 1 Hz
-125Hz
125Hz-250Hz
250Hz-375Hz
375Hz-500Hz
500Hz-625Hz
625Hz-700Hz
700Hz-825Hz
825Hz-1KHz
Nada yang di
uji - A1, A2 A3,B3 C3,D3 G3,A4 D4,E4 F4 G4 A5,B5
Valveyang
aktif - Valve1 Valve2 Valve3 Valve4 Valve5 Valve6 Valve7 Valve8
Rancangan diagram alir untuk operasi Fast Walsh Transform ditunjukkan
oleh gambar 3-7 dibawah ini.
Gambar 3-7 Rancangan Diagram AlirFast Walsh Transform
Mulai
Sinyal Masukan disamplingoleh ADC sebanyak 16 data per 40ms
Data hasilsamplingdikalikan dengan matrix Walsh
Data genap (cal) dijumlahkan dengan data ganjil (sal)
Bandingkan data hasil penjumlahancaldansal, cari harmonisa yang paling dominan
3.3
Perancangan Perangkat Keras Alat
Model air terjun terjun terkendali musik akan dirancang untuk
direalisasikan menjadi seperti gambar 3-8 dan 3-9 dibawah ini.
Gambar 3-8Katup Air dan Pipa Penyalur Air
42
Keterangan gambar :
1. Bak air, yaitu tempat menampung air yang akan dialirkan ke katup air.
2. Katup air dan pipa penghubung / penyalur air, katup air akan mengalirkan
air yang diperoleh dari bak air sesuai dengan musik sebagai masukan yang
diberikan kepada mikrokontroler.
3. Bak penampung air, yaitu bak yang digunakan untuk menampung air yang
43
Setelah seluruh komponen terpasang, jalur-jalur komponen telah
terhubung, program telah di-download kedalam mikrokontroler, langkah
selanjutnya adalah melakukan uji coba terhadap alat yang dibuat. Adapun
pengujian dilakukan bertahap untuk mengetahui kerja dari seluruh rangkaian dan
dimaksudkan untuk mempermudah proses perbaikan apabila terjadi kesalahan
pada alat.
Pengujian terhadap “Katub Air Terkendali Musik (Berbasis
Mikrokontroler ATmega32)” dilakukan terhadap bagian – bagian sebagai berikut :
1. SSR (Solid State Relay) sebagai penggerak katub air
2. Mikrokontroler sebagai fungsi transformasi Walsh
Dalam perakitan perangkat keras dan pemrograman perangkat lunak, telah
dihasilkan suatu peralatan yang berfungsi sebagai spectrum analizer sederhana
yang terdiri atas 8 buah katup air yang akan aktif sesuai dengan frekuensi
masukan, dalam hal ini masukannya berupa musik, seperti yang ditunjukkan pada
gambar 4-1.
44
( b )Control Board(Mikrokontroler)
(c) Perangkat Keras Alat
Gambar 4-1 Tampilan Perangkat Keras Peralatan
Fungsi masing-masing bagian pada alat katup air terkendali musik
Tabel 4-1 Fungsi Bagian-Bagian pada Alat
No Nama Bagian Fungsi
1 Katup Air (Valve) Sebagai saluran tempat keluarnya air
2 Solid State Relay
(SSR)
Sebagai penggerakvalve
3 Control Board Papan Pusat Kontrol
4 Pompa Air Berfungsi memompakan air dari penampung air ke
valve
5 Aquarium Untuk menampung air yang akan dipompakan ke
valve
Pada tahap pengujian, pengujian terhadap masing-masing sub-sistem
dilakukan secara terpisah. Pengujian pertama adalah pengujian terhadap SSR
(Solid State Relay). Pengujian terhadap SSR dilakukan dengan cara memberikan
masukan tegangan dc scara bervariasi.
Sebagai keluaran dari SSR pada percobaan yang dilakukan adalah
menggunakan lampu pijar, sehingga dapat dilihat dengan jelas apakah SSR aktif
atau tidak hanya dengan melihat nyala lampu pijar tersebut.
46
Tahap pengujian selanjutnya adalah pengujian terhadap mikrokontroler
sebagai fungsi transformasi walsh cepat. Pengujian dilakukan dengan cara
memberikan sinyal masukan berupa sinyal sinus dengan amplitudo tetap, tetapi
frekuensi bervariasi kedalam mikorkontroler melalui PortA (PortA merupakan
Port masukan ADC internal dari mikrokontroler ATMega32). Hal ini dilakukan
untuk melihat keluaran dari perangkat lunak yang diprogramkan ke dalam
mikrokontroler. Keluaran dari mikrokontroler berupa 8 buah katup air yang
bekerja sesuai dengan frekuensi masukan. Tiap katup air memiliki jangkauan
frekuensi masing-masing.
Gambar 4-3 Blok Diagram Pengujian Mikrokontroler
4.1 Pengujian Terhadap SSR (Solid State Relay)
Pengujian SSR dilakukan untuk mengetahui tegangan minimal yang
mampu mengaktifkan SSR tersebut, sehingga bisa mengaktifkan katub air. Oleh
karena tegangan keluaran mikrokontroler yang digunakan adalah sekitar 4,5 – 5,5
Volt, maka SSR yang dirancang harus mampu bekerja pada tegangan terendah
sekitar 3,5 - 4 Volt. Tabel 4-2 menunjukkan tegangan kerja dari SSR yang
Tabel 4-2 Hasil Percobaan SSR
Tegangan Input
( Volt )
KeadaanValve
(On / Off)
Tegangan Output AC
(Volt)
3 Off 5,46
3,1 Off 5,42
3,2 Off 5,42
3,3 Off 5,42
3,4 Masa transisi antara On dan Off ~
3,5 On 217,5
3,6 On 217,2
3,8 On 217,2
4,0 On 217,2
5,0 On 217,2
6,0 On 217,2
Dari hasil percabaan pada tabel 4-2, terlihat bahwa SSR bekerja dengan
sangat baik, dengan tegangan aktif terendah berada pada level 3,5V, hal ini sesuai
dengan perancangan yang diinginkan, yaitu SSR dapat bekerja pada tegangan
mikrokontroler, yaitu pada level tegangan 4,5 – 5,5V.
4.2 Pengujian Operasi WalshTransformpada Mikrokontroler
Pada transformasi Walsh Cepat dapat menghemat operasi matematis dari
NxN operasi menjadi Nxlog2N. Selain cacah operasi, transformasi Walsh terdiri
dari operasi penjumlahan, pengurangan, sedangkan operasi perkalian berupa
operasi dengan koefisien +1 atau -1 sehingga tidak membebani mikrokontroler
48
Untuk mempermudah pengamatan respon valve terhadap frekuensi
masukan, digunakan sumber sinyal sinus dengan amplitudo yang stabil sebagai
masukan. Pada pengujian ini, sumber sinyal sinus yang digunakan adalahfunction
generator.
Data yang diperoleh dari hasil pengujian operasifast walsh transformyang
diprogram kedalam mikrokontroler ditunjukkan pada tabel 4-3. Dengan frekuensi
maksimal sebesar 1kHz maka setiap indek pada keluaran transformasi Walsh 8
titik sepadan dengan frekuensi 1kHz / 8 atau sebesar 125 Hz, sehingga
transformasi Walsh dapat dipakai untuk menunjukkan spectrum frekuensi yang
mirip dengan penggunaan transformasi Fourier.
Persentase galat bandwidth (BW) dihitung berdasarkan persentase
besarnya bandwitdh hasil percobaan terhadap bandwitdh idealnya. Nilai
bandwitdh ideal yang digunakan adalah 125 Hz. Sebagai contoh perhitungan,
untuk data LED 1 diperoleh nilai bandwitdh dan persentase galat bandwitdh
dengan perhitungan seperti dibawah ini.
LED 1 nyala pada frekuensi : 40 Hz – 180 Hz, sehingga
BW = ftinggi– frendah= 180 – 40 = 140 Hz.
% galat BW = 100% 12%
125 140 125
Tabel 4-3 Data Hasil PengujianFast Walsh Transformdenganinputberupa Sinyal dari AFG
Frekuensi Masukan (Hz)
Valve
1 2 3 4 5 6 7 8
10 0 0 0 0 0 0 0 0
30 1 0 0 0 0 0 0 0
100 1 0 0 0 0 0 0 0
150 1 0 0 0 0 0 0 0
180 1 0 0 0 0 0 0 0
190 0 1 0 0 0 0 0 0
250 0 1 0 0 0 0 0 0
300 0 1 0 0 0 0 0 0
310 0 1 0 0 0 0 0 0
320 0 0 1 0 0 0 0 0
330 0 0 1 0 0 0 0 0
400 0 0 1 0 0 0 0 0
440 0 0 1 0 0 0 0 0
450 0 0 0 1 0 0 0 0
500 0 0 0 1 0 0 0 0
550 0 0 0 1 0 0 0 0
580 0 0 0 0 1 0 0 0
650 0 0 0 0 1 0 0 0
700 0 0 0 0 1 0 0 0
720 0 0 0 0 0 1 0 0
800 0 0 0 0 0 1 0 0
840 0 0 0 0 0 1 0 0
850 0 0 0 0 0 0 1 0
900 0 0 0 0 0 0 1 0
950 0 0 0 0 0 0 1 0
990 0 0 0 0 0 0 0 1
50
Tabel 4-4 Bandwitdh dan Galat Bandwitdh
LED Frekuensi Bawah
(Hz)
Frekuensi Atas
(Hz)
Bandwidth
(Hz)
Galat BW
(%)
1 40 180 140 12
2 190 310 120 4
3 320 440 120 4
4 450 570 120 4
5 580 710 130 4
6 720 840 120 4
7 850 990 140 12
8 1000 - -
-Tabel 4-3 Data Hasil PengujianFast Walsh TransformdenganInputberupa Nada Dasar Musik
Nada Valve
1 2 3 4 5 6 7 8
A1 1 0 0 0 0 0 0 0
A2 1 0 0 0 0 0 0 0
A3 0 1 0 0 0 0 0 0
B3 0 1 0 0 0 0 0 0
C3 0 1 0 0 0 0 0 0
D3 0 1 0 0 0 0 0 0
G3 0 0 1 0 0 0 0 0
A4 0 0 1 1 0 0 0 0
D4 0 0 0 0 1 0 0 0
E4 0 0 0 0 1 0 0 0
F4 0 0 0 0 1 0 0 0
G4 0 0 0 0 0 1 0 0
A5 0 0 0 0 0 0 1 0
B5 0 0 0 0 0 0 1 1
Berdasarkan data pada tabel 4-4 terlihat bahwa transformasi walsh cepat
tertentu dan persentase galat yang diperoleh tidak melebihi 4%, kecuali LED 1
dan LED 7.
LED 1 memiliki persentase galat yang lebih besar, hal ini disebabkan
frekuensi bawah dari LED 1, karena pada frekuensi 40Hz LED 1 sudah mulai
menyala, tetapi masih dalam keadaan tidak stabil (hidup – mati), tetapi karena
mempertimbangkan bahwa LED 1 sudah mulai menyala, maka dalam data hasil
percobaan dibuat LED 1 mulai aktif pada frekuensi 40Hz.
LED 8 tidak memiliki batas frekuensi atas karena frekuensi sudah
mencapai batas maksimum, yaitu 1 KHz. LED 8 merupakan LED terakhir yang
menunjukkan frekuensi maksimum dari sinyal masukan, sehingga LED 8 hanya
52
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah dilakukan pendesainan, pemrograman dan pembuatan “Katup Air
Terkendali Musik pada Tirai Air (berbasis mikrokontroler ATMega32)”, dapat diambil
kesimpulan sebagai berikut:
1. Hasil dari serangkaian pengujian yang telah dilakukan menunjukkan bahwa
peralatan dapat bekerja dengan baik sebagaimana yang diinginkan pada perancangan
sehingga penelitian telah mencapai tujuan.
2. Fast Walsh Transform dapat bekerja dengan baik dengan masukan berupa nada-nada
dasar, katup air dari hasil operasi FWT dengan masukan nada-nada dasar dapat
berubah sesuai dengan frekuensi nada dasar tersebut.
3. Penggunaan transformasi Walsh 16 titik dapat dipakai sebagai spektum analiser.
Transformasi Walsh mampu menguraikan sinyal masukan dengan frekuensi 1 KHz.
5.2. Saran
Beberapa saran dari penulis untuk pengembangan dari hasil penelitian ini
dituliskan sebagai berikut:
1. Untuk meningkatkan resolusi dari keluaran maka katub air bisa diperbanyak.
Mikrokontroler yang dipakai ATmega32 tersedia port keluaran maksimal sebanyak
32 saluran.
2. Untuk meningkatkan resolusi dari spectrum analiser, maka transformasi Walsh dapat
[1] Ziemer, R.E., Tranter, W.H. and Fannin, R., 1993,“Signal and System : Continuous and
Discrete, 3rded.”Macmillan Publishing Company, New York.
[2] Jacoby, Benjamin,“Walsh Function : A Digital Fourier Series.”
[3] Ifeachor,E.C. and Jarvis,B.W., 1993,“Digital Signal Processing : A Practical Approach,
2nded.”Prentice Hall, New Jersey.
[4] Weisstein, Eric W., “Walsh Function”,
http://mathworld.wolfram.com/WalshFunction.html, tanggal akses: 6 November 2007.
[5] Stanley, W.D.,“Operational Amplifier with Linier Integrated Circuit”, 1994,
Macmillan-Publishing Company, New York.
[6] Lingga Wardhana, 2006, “Belajar Sendiri Mikrokontroler AVR Seri ATmega8535”,
Penerbit ANDI, Yogyakarta.
[7] ATMEL, 2002 ATmega32 datasheet, Atmel Corporation,www.atmel.com, tanggal akses:
Gambar Rangkaian :
Gambar RangkaianMinimum SystemATmega32:
Gambar Rangkaian Solid State Relay:
.
.
.
.
- +
D1
BRIDGE
1
4
3
2
R1
680
R2 520
R3
56
R4 39
C3 100nF U13
MOC3020
1 2
6
4
TRIAC
Vdc
LOAD
#include <mega32.h> #include <stdio.h> #include <math.h>
#define begin { #define end }
#define t1 200 #define t2 100 #define t3 400
#define int2fix(a) (((int)(a))<<8)
#define fix2int(a) ((signed char)((a)>>8)) #define float2fix(a) ((int)((a)*256.0)) #define fix2float(a) ((float)(a)/256.0)
#define N_WAVE 16
#define LOG2_N_WAVE int fwt_t1, fwt_t2;
int ain1[N_WAVE], ain0[N_WAVE] ; char countISR, Nbuffer;
unsigned char State;
unsigned int timer, debtime, time3;
flash char reorder16[16] = {0,15,7,8,3,12,4,11,1,14,6,9,2,13,5,10};
//========================================================
void FWTfix(int x[]) begin
unsigned char ii, k, j, i, bb, st;
bb = N_WAVE/2; st = N_WAVE; for (i=1; i<LOG2_N_WAVE+1; i++) begin
for (j=0; j<N_WAVE; j+=st) begin
for (k=0; k<bb; k++) begin
ii=j+k;
fwt_t1 = x[ii] >>1 ; fwt_t2 = x[ii+bb] >>1 ; x[ii] = fwt_t1 + fwt_t2 ; x[ii+bb] = fwt_t1 - fwt_t2 ; end
end
bb = bb>>1 ; st = st>>1 ; end
int xp[N_WAVE]; for (i=0; i<N_WAVE; i++) begin
j = r[i]; xp[j] = x[i]; end
for (i=0; i<N_WAVE; i++) begin
x[i] = xp[i]; end end
//========================================================
interrupt [TIM0_COMP] void getAD(void) begin
if(timer>0) timer--; if(debtime>0) debtime--; if(time3>0) time3--; if (countISR < N_WAVE) begin
if (Nbuffer) ain1[countISR] = (ADCH *2); else ain0[countISR] = (int)(ADCH *2) ; ADCSR.6 = 1;
countISR++; end
end
//========================================================
void main(void) begin
unsigned char CurBuf, i, m ; int compare[8], th;
TCCR0 = 0b00001011; TIMSK = 2 ;
OCR0 = 125; timer = t1; debtime = t2; time3 = t3;
ADMUX = 0b01100000; ADCSR = 0b11000111; DDRB=0xff;
#asm("sei")
Nbuffer = 0;
th=20;
while(1) begin
if (countISR == N_WAVE) begin
#asm("cli") CurBuf = Nbuffer; Nbuffer ^= 0x01; countISR = 0; #asm("sei")
if (CurBuf) FWTfix(ain1); else FWTfix(ain0);
if (CurBuf) FWTreorder(ain1,reorder16); else FWTreorder(ain0,reorder16); if (CurBuf)
begin
compare[0] = (abs(ain1[1])+abs(ain1[2])) ; compare[1] = (abs(ain1[3])+abs(ain1[4])) ; compare[2] = (abs(ain1[5])+abs(ain1[6])) ; compare[3] = (abs(ain1[7])+abs(ain1[8])) ; compare[4] = (abs(ain1[9])+abs(ain1[10])) ; compare[5] = (abs(ain1[11])+abs(ain1[12])) ; compare[6] = (abs(ain1[13])+abs(ain1[14])) ; compare[7] = (abs(ain1[15]));
end else begin
compare[0] = (abs(ain0[1])+abs(ain0[2])) ; compare[1] = (abs(ain0[3])+abs(ain0[4])) ; compare[2] = (abs(ain0[5])+abs(ain0[6])) ; compare[3] = (abs(ain0[7])+abs