i
KATUP AIR PADA TIRAI AIR
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
TRI JOKO PURNOMO
NIM : 045114014
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
CONTROL AT WATER FALL MODEL
In partial fulfillment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
Electrical Engineering Departement
Science and Tecology Faculty Sanata Dharma University
By :
TRI JOKO PURNOMO
Student Number : 045114014
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTEMENT
SCIENCE AND TECNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
iv
ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, Juli 2009
v
ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, Juli 2009
vi
MOTTO :
“Berupayalah tidak hanya menjadi manusia yang
sukses, tetapi juga manusia yang bernilai”
Kupersembahkan Tugas Akhir ini untuk:
vii
dikendalikan urutan jatuhnya air. Penambahan melodi dan pengaturan urutan keluarnya air pada tirai air akan memberikan kesan dinamis dan lebih menarik. Pada penelitian ini akan dibahas tentang pembangkit melodi dan sekaligus berfungsi sebagai pengendali urutan bekerja tirai air.
Melodi terdiri dari nada dan nilai ketukan. Lama ketukan ditentukan oleh tempo dari lagu. Gelombang sinus dapat dibangkitkan dari mikrokontroler. Satu periode dihasilkan gelombang sinus tercuplik 64 titik. Total periode dari sebuah sinyal menunjukkan frekuensi tertentu.
Hasil dari penelitian ini dapat membangkitkan gelombang sinus dengan galat sebesar 0,29% dan dapat membangkitkan nada mulai dari nada G3 sampai nada D6
viii
dynamic and attraction. This research discussed abaut melody generator and sequence control for water fountain.
Melody consist of tones and duration. Tones represent the fix frequency and duration depend on song tempo. The equipment generate the tones by sine wave generator based on AVR micro controller. The sine wave produced by sequence of 64 numbers represent sampled sine wave function for one period. Reciprocal of total period for single waveform represent the frequency.
The result are controller able to generate sine wave with frequency accuracy less then 0.29% error and able to generate G3 up to D6 tones.
ix
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Tri Joko Purnomo
Nomor Mahasiswa : 045114014
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PEMBANGKIT MELODI DAN KENDALI KATUP AIR
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 royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 15 Juli 2009
Yang menyatakan
x
telah melimpahkan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul. “Pembangkit Melodi Dan Kendali
Katub Air Pada Tirai Air”. Tugas Akhir ini disusun sebagai salah satu syarat
untuk memperoleh gelar Sarjana Teknik. Dalam penyusunannya, banyak pihak yang telah membantu dan memberikan dukungan pada penulis, oleh karena itu, penulis ingin mengucapkan terima kasih kepada :
1. Bapak Yosef Agung Cahyanta, S.T.,M.T. selaku Dekan Fakultas Sains Dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu B.Wuri Harini S.T, M.T. selaku Ketua Program Studi Teknik Elektro Fakultas Sains Dan Teknologi Universitas Sanata Dharma Yogyakarta. 3. Dosen dan Karyawan Program Studi Teknik Elektro Fakultas Sains Dan
Teknologi Universitas Sanata Dharma Yogyakarta.
4. Bapak Djoko Untoro Suwarno, S.Si., M.T. selaku dosen pembimbing I karya tulis yang telah meluangkan waktu, tenaga, dan pikirannya untuk membimbing penulis.
5. Bapak Ir. Tjendro selaku dosen pembimbing II karya tulis yang telah meluangkan waktu, tenaga, dan pikirannya untuk membimbing penulis. 6. Bapak, Ibuk, Mbak Ika, Mbak Dewi, dan saudara-saudara penulis yang
xi
8. Sdri Anggun Permulia Gari yang selalu memberikan semangat untuk menyelesaikan tugas akhir.
9. Teman-teman satu team Hendy Paulus Dan Kiong Hin yang selalu bahu-membahu dan bekerja sama hingga sampai tugas akhir terselesaikan. 10. Teman-teman Elektro angkatan ’04 semoga kompak selalu.
Penulis menyadari bahwa laporan Tugas Akhir ini masih jauh dari sempurna, oleh karena itu penulis sangat mengharapkan saran dan kritik yang membangun dari pembaca agar dalam proses penulisan di kemudian hari dapat semakin baik. Semoga Tugas Akhir ini dapat bermanfaat secara luas, baik bagi penulis maupun bagi semua pihak yang membacanya.
Yogyakarta, Juli 2009 Peneliti
xii
HALAMAN SAMPUL (BAHASA INDONESIA)...………. i
HALAMAN SAMPUL (BAHASA INGGIS)………..………… ii
HALAMAN PERSETUJUAN………....……... iii
HALAMAN PENGESAHAN………...……….…. iv
PERNYATAAN KEASLIAN KARYA……… v
MOTTO DAN PERSEMBAHAN…….………...…. vi
INTISARI...………... vii
ABSTRACT.………... viii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA…….… ix
KATA PENGANTAR………...……….…. x
DAFTAR ISI... xii
DAFTAR GAMBAR... xv
DAFTAR TABEL... xvii
DAFTAR LAMPIRAN... xviii
Bab I. PENDAHULUAN...1
1.1 Latar Belakang Masalah...1
1.2 Tujuan dan Manfaat...,,,,,,,,,,...2
1.3 Batasan Masalah...2
1.4 Metodologi Penelitian...3
Bab II. DASAR TEORI...4
2.1 Nada dan Ketukan Nada...4
2.2 Pembangkit Sinus...5
2.3 Katup Air Elektronis (Solenoid ) ...7
2.4R-2R Ladder Digital to Analog Converter...8
xiii
2.8.1 Gambaran Umum...11
2.8.2 Memori... ...14
2.8.3Port Input/Output (I/O Port)………..16
Bab III. RANCANGAN PENELITIAN………..…...19
3.1 Perancangan Perangkat keras...23
3.1.1 Tombol Pemilih Lagu...23
3.1.2Digital to Analog Converter...24
3.1.3 Penguat Audio...26
3.1.4 Penggerak Katub Air Elektronis (Solenoid)...28
3.1.5 Katub Air Elektronis (Solenoid)...30
3.2 Perancangan Perangkat Lunak...32
3.2.1 Diagram Alir (Flowchart)...32
3.2.2 Program Utama...36
Bab IV. HASIL DAN PEMBAHASAN………...38
4.1 Hasil Perancangan Perangkat Keras ………...38
4.2 Hasil Pengujian……….. ……….…41
4.2.1 Pengujian Tombol Pemilh Lagu………..…….41
4.2.2 PengujianR-2R Ladder Digital to Analog Converter…….42
4.2.3 Pengujian Penguat Audio…………...………..44
4.2.4 Pengujian Katub Air Elektronis (Solenoid)………46
4.2.5 PengujianSolid State Relay( SSR)………..………48
xiv
xv
2. Gambar 2-2 Bentuk Gelombang Sinus... 6
3. Gambar 2-3 Simbol dan Bagian-Bagian Pada Katub Air Elektronis... 7
4. Gambar 2-4 Katub Air Elektronis... 7
5. Gambar 2-5R-2R LadderDAC... 8
6. Gambar 2-6 KontruksiSpeaker...10
7. Gambar 2-7 RangkaianSolid State Relay...11
8. Gambar 2-8 Konfigurasi Pin Mikrokontroler ATmega32...…..13
9. Gambar 2-9 Diagram Blok Mikrokontroler ATmega32... 13
10. Gambar 2-10 Peta Memori Flash Mikrokontroler Atmega32...14
11. Gambar 2-11 Peta Memori Data SRAM... 15
12. Gambar 2-12 Register – Register Pada EEPROM... 16
13. Gambar 3-1 Diagram Blok Sistem Secara Keseluruhan ………... 19
14. Gambar 3-2 Tombol Logika Aktif Rendah... 23
15. Gambar 3-3 Tombol Pemilih Lagu... 24
16. Gambar 3-4R-2R LadderDAC………... 25
17. Gambar 3-5 Pembagi Tegangan...27
18. Gambar 3-6 Penguat Audio Dengan IC LM386... 27
19. Gambar 3-7 RangkaianSolid State Relay...……….. 28
20. Gambar 3-8 Blok Diagram SSR danSolenoid... 30
21. Gambar 3-9 Susunan Katub Air... 30
xvi
1. Tabel 2-1 Frekuensi Nada...………...….…. 4
2. Tabel 2-2 Perhitungan Ketukan dan Tempo.………...… 5
3. Tabel 2-3 Fungsi AlternatifPortA... 17
4. Tabel 2-4 Fungsi AlternatifPort B... 17
5. Tabel 2-5 Fungsi AlternatifPort C... 17
6. Tabel 2-6 Fungsi AlternatifPort D... 18
7. Tabel 3-1 Nada, Frekuensi dan Nilai Cacahan Timer 1... 21
8. Tabel 3-2 Katub Air Yang Bekerja ... 22
9. Tabel-4-1 Bagian-Bagian DariControl Board dan Fungsi Secara Umum……….. 38
10. Tabel 4-2 Data Hasil Pengujian Tombol Pemilih...42
11. Tabel 4-3 Data Hasil PengujianR-2R Ladder Digital to Analog Converter... 43
12. Tabel 4-4 Data hasil Pengujian Penguat Audio... 45
13. Tabel 4-5 Hasil Pengujian Tampilan Air dengan Lebar Pulsa Tertentu. 47 14. Tabel 4-6 Data Hasil PengujianSolid State Relay(SSR)……..………..48
xvii
1. LAMPIRAN SYAIR DAN NOT LAGU...….... L1
2. LAMPIRAN LISTING PROGRAM ...…... L2
3. LAMPIRAN FREKUENSI YANG DI BANGKITKAN ATmega32.. L3
4. LAMPIRAN RANGKAIAN LENGKAP ………....L4
BAB I
PENDAHULUAN
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-peralatan yang sifatnya menarik perhatian, Pengunjung yang tertarik
biasanya berusaha untuk mencoba peralatan tersebut. Salah satu dari peralatan
yang sering di jumpai adalah tirai air.
Tirai air merupakan suatu perangkat yang berfungsi menerjunkan titik-titik
air membentuk suatu tirai. Tirai air banyak dijumpai pada tempat tempat umum
atau dalam pameran untuk menarik perhatian pengunjung. Tirai air juga
memberikan efek sejuk dan segar untuk ruangan tersebut. Saat ini tirai air yang
banyak dijumpai masih berupa tirai air konvensional karena belum dikendalikan
urutan secara elektronis[1]. Tirai air manual dapat dibuat dengan menggunakan
pipa yang berlubang dan diberi aliran air. Air akan turun ( terjun ) dari lubang
pada pipa, tidak ada pengaturan kapan air dan pada posisi manakah air dapat
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 mengikuti sinyal
musik yang di bangkitkan oleh mikrokontroler.
Manfaat yang akan dicapai adalah :
1. Untuk masyarakat umum
Masyarakat dapat menikmati suatu peralatan yang 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 pembangkit melodi dan kendali katup air
pada tirai air ini lebih diarahkan dan difokuskan dalam batasan – batasan masalah
sebagai berikut :
a. Berbasis mikrokontroler ATmega32 sebagai pembangkit frekuensi dan
b. Menggunakan rangkaian SSR ( Solid State Relay ) pada bagian keluaran
untuk mengontrol katup air.
c. Keluaran berupa 8 buah katup air ( solenoid ) yang bereaksi terhadap
musik yang diberikan dan 8 buah LED yang berfungsi sebagai indikator
katup air yang bekerja. Katup air dapat merespon nada 1 oktaf yaitu pada
oktaf 4.
d. Nada yang dapat di bangkitkan oleh mikrokontroler mulai dari nada G3
sampai dengan nada D#6.
1.4 Metodologi Penelitian
Metode yang digunakan pada penelitian ini adalah mengumpulkan
sejumlah referensi atau literatur dari perpustakaan, internet dan sebagainya
mengenai mikrokontroler ATmega32, solenoid valve, driver valve, menyusun
program yang akan diisi ke dalam mikrokontroler dengan tujuan untuk
membangkitkan frekuensi dan mengendalikan katup air elektronis, menyusun
perancangan, membuat rangkain keseluruhan yang di dalamnya terdiri dari
rangkaian minimum system, amplifier, driver valve, DAC, membuat konstruksi
tirai air, kemudian melakukan serangkaian percobaan untuk merealisasikan
BAB II
DASAR TEORI
2.1 Nada dan Ketukan Nada
Dasar suara tunggal yang biasa di dengar disebut dengan nada, setiap nada
di visualisasikan dalam bentuk huruf A, B, C, D, E, F, G sesuai dengan tingkatan
frekuensi yang dihasilkannya.Tangga nada ( Scale ) di ciptakan dari variasi susunan / pola-pola tinggkatan nada. Beberapa nada yang di bunyikan secara
bersama di sebut chord, kemudian chord bersama-sama membentuk suatu irama yang akhirnya akan bermuara menjadi lagu atau musik. Tabel nada beserta
frekuensinya dapat dilihat pada tabel 2-1, sedangkan tanda ketukan dan tanda
istirahat dapat dilihat pada gambar 2-1.
Tabel 2-1 Frekuensi Nada [2]
octaf 1 2 3 4 5 6
seper empat
seper delapan setengah
seper enambelas penuh
ketukan
penuh Tanda Istirahat
setengah
seper empat
seper delapan
seper enambelas
Gambar 2-1 Simbol Ketukan Nada dan Tanda Istirahat
Lama ketukan ditentukan oleh tempo dari lagu. Lagu dengan tempo 100
berarti 100 ketukan per menit. Setiap ketukan mempunyai durasi waktu sebesar
60/100 detik. Perhitungan ketukan dan tempo dapat dilihat pada tabel 2-2.
Tabel 2-2 Perhitungan Ketukan dan Tempo[3]
Perioda Ketukan (s) Tempo
60 bpm 100 bpm 110 bpm 120 bpm
Penuh 1.000 s 0.600 s 0.545 s 0.500 s
Setengah 0.500 s 0.300 s 0.273 s 0.250 s
Seper_empat 0.250 s 0.150 s 0.136 s 0.125 s
Seper_delapan 0.125 s 0.075 s 0.068 s 0.0625 s
Seper_enambelas 0.0625 s 0.038 s 0.034 s 0.03125 s
Ket: bpm = bit per menit
Dari tabel 2-2 terlihat waktu yang paling kecil adalah sebesar 31 ms untuk
ketukan seper_enambelas pada tempo 120.
2.2 Pembangkit Sinus
Nada terdiri dari gelombang sinus, untuk menghasilkan nada yang bagus
dapat dihasilkan dari berbagai gelombang yaitu gelombang kotak, gelombang
mikrokontroler. Gelombang kotak hanya terdiri darion danoff saja. Pada perioda T maka gelombang kotak terdiri dari beberapa frekuensi harmonisa. Untuk
menghasilkan gelombang dengan frekuensi tunggal maka dibentuklah gelombang
sinus. Gelombang sinus dapat dibangkitkan dari mikrokontroler melalui DAC
dengan data sinus tercuplik. Gelombang sinus yang dibangkitkan pada
pembangkit melodi terdiri dari sinus tercuplik 64 titik dan dikeluarkan melalui
DAC. Perhitungan koefisien sinyal sinus tercuplik dihitung dengan program
MATLAB berikut :
% SinCuplik.m
>> GenT=linspace (0,2*pi,65); >> SinGen=128 + 128*sin(t); >> Disp (SinGen)
Hasil yang diperoleh sebagai berikut :
128,141,153,165,177,188,199,209,219,227,234,241,246, 250,254,255,256,255,254,250,246,241,234,227,219,209, 199,188,177,165,153,141,128,115,103,91,79,68,57,47,37, 29,22,15,10,6,2,1,0,1,2,6,10,15,22,29,37,47,57,79,91,1 03,115
Bentuk gelombang sinus dapat dilihat pada gambar 2-2.
0 1 2 3 4 5 6 7
0 50 100 150 200 250 300
Sinyal sinus tercuplik dengan 64 titik
2.3 Katup Air Elektronis
Katub air elektronis adalah kran air yang bekerja terhadap tegangan listrik.
Untuk jenis masukan teganganya ada 2 jenis yaitu AC ( 220v ) dan DC ( 12v dan
24v ). Katub air elektronis ini hanya bisa on / off saja tidak bisa diatur besarnya tekanan air yang akan dialirkan.
Katub elektronis terdiri dari bagiansolenoid ( kumparan ), inti kumparan dan katub air seperti pada gambar 2-3 dan 2-4. 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. Gerakan inti kumparan kembali ke posisi semula
dikarenakan adanya pegas yang terhubung pada inti kumparan dan gaya berat
karena inti kumparan. Katub yang dipakai berupa katub air normal tertutup atau
aktif terbuka.[4]
Simbol dan bagian-bagian pada katub air elektronis dapat dilihat pada
gambar 2-3 dan bentuk katub air elektronis dapat dilihat pada gambar 2-4.
simbol katub elektronik
kumparan
inti kumparan
saluran air
Gambar 2-4 Katub Air Elektronis
2.4 R-2R Ladder Digital to Analog Converter
Salah satu jenisDigital to Analog Converter( DAC ) yang populer adalah R-2R LadderDAC yang skematiknya dapat dilihat pada gambar 2-5.
Masukan b(1) sampai b(n) adalah bit digital dengan b(1) sebagai Least Significant Bit(LSB) dan b(n) sebagaiMost Significant Bit(MSB). Masukan data digital dari mikrokontroler diubah menjadi nilai tegangan sebagai keluaran.
Rangkaian ini hanya membutuhkan dua nilai resistor yang salah satunya adalah
dua kali nilai resistor lainya.
Dengan tegangan catu daya
Vr
, jumlah bit sebagaindan bit ke-n sebagai b(n), maka keluaran tegangan analog Vout dirumuskan sebagai berikut:[5](
)
( ) (
) (
)
( )
÷ ø ö ç è æ - + + + -+ = + -=å
= r n
n i n r out b n b n b n b V i n b V V 2 1 ... 8 2 4 1 2 2 1 1 ……...….(2-1)
2.5 Penguat Audio (
Amplifier )
Penguat audio adalah penguat yang menyalurkan sejumlah daya menuju
beban. Karena alasan inilah, penguat Audio diletakkan pada bagian akhir dari
rangkaian. Penguat audio memiliki tingkat konsumsi energi yang rendah sehingga
sudah dapat beroperasi hanya dengan catu daya DC. Penguat audio yang
digunakan mengambil dari rangkaian terapan IC LM386 padadata sheet[6]
2.6
Speaker
Speaker bekerja berdasarkan prinsip induksi elektromagnetik. Speaker terdiri dari sebuah magnet permanen dan sebuah elektromagnet. Kuncup dari
speaker terdiri dari sebuah kertas seperti diafragma menutupi sebuah silinder
Untuk menghasilkan bunyi, speaker memerlukan sinyal suara dalam bentuk tegangan yang diterima oleh kumparan speaker yang mengakibatkan diafragma akan bergetar dan getaran tersebut mengakibatkan udara di sekitarnya
bergetar dan membentuk sebuah gelombang suara. [7] Konstruksi speaker dapat dilihat pada gambar 2-6.
Gambar 2-6 KontruksiSpeaker
2.7 Solid State Relay (SSR)
menjalankan beban dengan catu tegangan yang lebih tinggi. RangkaianSolid State Relay dapat dilihat pada gambar 2-7.
. . . . - + 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 220v VAC ~
Gambar 2-7 RangkaianSolid State Relay
Apabila rangkaian penggeraksolenoid katub air elektronis diberi tegangan masukan dc, maka beban yang membutuhkan sumber catu ac akan aktif. Begitu juga sebaliknya apabila tidak diberi tegangan masukan, maka beban akan
langsung berhenti / tidak aktif. [8]
2.8 Mikrokontroler ATmega32
2.8.1 Gambaran Umum
ATmega32[9] termasuk dalammicrocontroller unit (MCU) 8 – bit keluarga AVR (Alf and Vegard’s Risc Processor) ATmega yang berdaya guna tinggi dan berdaya rendah. ATmega32 dirancang berdasarkan
Fitur :
a. Mikrokontroler AVR berkemampuan tinggi.
b. Didesain berdaya rendah dan semua operasi bersifat statis.
c. Memory flash sebesar 32K –bytes. d. EEPROM sebesar 1024bytes. e. SRAMinternal sebesar 2K –bytes.
f. Antarmuka (interface) JTAG (memenuhi standard IEEE 1149.1). g. Dua buahtimer / counter 8 – bit.
h. Satu buahtimer / counter 16 – 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 modesleep penghemat penggunaan daya listrik.
n. Tegangan operasi 2.7 – 5.5V (untuk ATmega32L) dan 4.5 – 5.5V
(untuk ATmega32).
o. Kecepatan maksimal 16 MHz.
p. Antarmuka SPI.
q. Unit interupsi internal dan eksternal.
r. SaluranI/O sebanyak 32 buah, yaitu Port A, Port B, PortC dan Port D.
Konfigurasi pin dan diagram blok dari mikrokontroler ATmega32
dapat dilihat pada gambar 2-8 dan 2-9 berikut ini.
Gambar 2-8 Konfigurasi Pin Mikrokontroler ATmega32
2.8.2 Memori
a. Memori Flash (Program Memory)
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. Memoriflash terletak pada alamat $0000 - $3FFF. Peta memoriflash dapat dilihat pada gambar 2-10.
Gambar 2-10 Peta Memori Flash Mikrokontroler ATmega32
b. Memori Data SRAM (Static Random – Access Memory)
Mikrokontroler ATmega32 memiliki SRAM internal sebesar 2K bytes. Oraganisasi memori data SRAM pada mikrokontroler ATmega32 dapat dilihat pada peta memori data dapat dilihat pada
Gambar 2-11 Peta 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
operasi dari EEPROM. Gambar register EEPROM dapat dilihat
pada gambar 2-12.
(a)
(b)
(c)
Gambar 2-12 Register – Register pada EEPROM
(a) Register EEAR;(b)Register EEDR;(c)Register EECR.
2.8.3
Port Input/Output (I/O Ports)
Tabel 2-3 Fungsi AlternatifPortA
Selain Port A, Port B, Port C dan Port D mikrokontroler ATmega32 juga memiliki fungsi alternatif. Fungsi alternatif Port A, Port B,Port C danPort D dapat dilihat pada tabel 2-4, 2-5 dan 2-6.
Tabel 2-4 Fungsi Alternatif Port B
BAB III
RANCANGAN PENELITIAN
Perancangan penelitian terdiri dari beberapa bagian yaitu tombol pemilih
lagu, mikrokontroler sebagai pembangkit melodi, penggerak solenoid dan katub
air. Diagram blok sistem dapat dilihat pada gambar 3-1.
Penguat Audio penggerak solenoid
AVR ATMEGA32
katub air
speaker Pemilih
Lagu DAC
Gambar 3-1 Diagram Blok Sistem Secara Keseluruhan
Pemilih lagu terdiri dari 5 tombol untuk memilih 4 lagu dan satu tombol
untuk menghentikan lagu. Pemilih lagu dihubungkan dengan port C pada
mikrokontroler AVR. Melodi dihasilkan dari generator sinus berupa program
dikuatkan melalui penguat audio dan dilewatkan speaker untuk menghasilkan
suara. Keluaran yang lain yaitu penggerak solenoid (solid state relay ) yang
dihubungkan dengan katub air elektronis padaportA.
Timer 1 (16 bit) dengan nilai maksimal sebesar FFFF (65535), dengan
sumber masukan 4.000 MHz dan prescale CK diperoleh timer tick sebesar
1/(4.000 MHz) atau waktu ketelitian sebesar 0.25 us. Isi timer 1 untuk
menghasilkan frekuensi nada (dengan 64 sampel) dihasilkan dari persamaan
berikut : 64 * _ 1 nada frek xtal
Timer = ……….………(3-1)
Berikut ini adalah contoh perhitungan nilai cacahantimer 1 untuk nada G3 yang
dihitung menggunakan persamaam (3-1)
319 877 , 318 64 * 196 4
1= Mhz = =
Timer
Untuk perhitungan nada yang lain dapat dilihat pada tabel 3-1.
Pembangkit gelombang sinus berupa program dengan masukan berupa
perioda sampling untuk nada tertentu. Perioda sampling dihasilkan dari timer 1
pada mikrokontroler. Nada, frekuensi dan nilai cacahan timer 1 dapat dilihat pada
tabel 3-1. Koefisien sinus tercuplik dapat dilihat pada potongan program berikut :
// 64 sinewave samples
Tabel 3-1 Nada, Frekuensi dan Nilai Cacahan Timer 1 No
nada Nada frekuensi
Nilai cacahan Timer 1
0 Pause
1 G3 196 319
2 G#3/Ab3 207.65 301
3 A3 220 284
4 A#3/Bb3 233.08 268
5 B3 246.94 253
6 C4 261.63 239
7 C#4/Db4 277.18 225
8 D4 293.66 213
9 D#4/Eb4 311.13 201
10 E4 329.63 190
11 F4 349.23 179
12 F#4/Gb4 369.99 169
13 G4 392 159
14 G#4/Ab4 415.3 150
15 A4 440 142
16 A#4/Bb4 466.16 134
17 B4 493.88 127
18 C5 523.25 119
19 C#5/Db5 554.37 113
20 D5 587.33 106
21 D#5/Eb5 622.25 100
22 E5 659.26 95
23 F5 698.46 89
24 F#5/Gb5 739.99 84
25 G5 783.99 80
26 G#5/Ab5 830.61 75
27 A5 880 71
28 A#5/Bb5 932.33 67
29 B5 987.77 63
30 C6 1046.5 60
31 C#6/Db6 1108.73 56
32 D6 1174.66 53
33 D#6/Eb6 1244.51 50
Untuk membangkitkan suatu lagu diperlukan dua buah parameter yaitu
nada dan ketukan. Untuk memudahkan dalam pemrograman pemilihan nada
seper_enambelas berdasarkan pada tempo 120 pada tabel 2-2. Ketukan
seper_delapan diperoleh dari dua kali ketukan seper_enambelas, masing-masing
katub air elektronis (solenoid ) yang terdapat pada sistem dirancang untuk
merespon bila ada nada yang dibangkitkan. Katub air elektronis yang bekerja bila
ada nada yang dibangkitkan dapat dilihat pada tabel 3-2.
Tabel 3-2 Katub Air Yang Bekerja Nomor nada Nada Katub air
6 C4 Solenoid 1
8 D4 Solenoid 2
10 E4 Solenoid 3
11 F4 Solenoid 4
13 G4 Solenoid 5
15 A4 Solenoid 6
17 B4 Solenoid 7
18 C5 Solenoid 8
Nada yang dapat ditampilkan pada solenoid adalah satu oktaf (hanya
oktaf ke 4). Untuk nada yang masih dalam tangga nada oktaf ke 4 seperti nada
C#4/Db4, D#4/Eb4, F#4/Gb4, G#4/Ab4, A#4/Bb4, dan C#5/Db5 tidak
ditampilkan karena tidak didifinisikan dalam program. Lagu yang akan
dibangkitkan adalah 4 lagu yang akan dimainkan jika tombol pemilih lagu di
tekan. Urutan lagu yang akan dimainkan sesuai dengan tombol yang di tekan
berikut ini:
1. Tombol 1 untuk memainkan lagu hymne Sanata Dharma
2. Tombol 2 untuk memainkan lagu di muka Tuhan Yesus
3. Tombol 3 untuk memainkan lagu gundul-gundul pacul
4. Tombol 4 untuk memainkan lagu anak kambing saya
3.1 Perancangan Perangkat Keras
3.1.1 Tombol Pemilih Lagu
Pengguna dapat memilih melodi yang diinginkan dengan cara
menekan tombol pemilih lagu. Setiap kali tombol pemilih lagu ditekan,
maka mikrokontroler akan menjalankan instruksi yang telah diprogram
sesuai dengan melodi yang telah dipilih tersebut. Tombol yang digunakan
adalah dengan logika aktif rendah. Rangkaian tombol dengan logika aktif
rendah dapat dilihat pada gambar 3-2.
Gambar 3-2 Tombol LogikaAktif Rendah
Kapasitor yang ada pada rangkaian digunakan untuk
mengantisipasi terjadinya bounching tegangan saat saklar push button
ditekan atau dilepas. Gambar rangkaian tombol pemilih lagu dapat dilihat
Gambar 3-3 Tombol Pemilih Lagu
3.1.2
Digital to Analog Converter
Pada perancangan ini digunakan rangkaian R-2R Ladder DAC
untuk membentuk sinyal analog dari sinyal digital hasil keluaran
mikrokontroler sebelum dikuatkan oleh penguat daya. Resistansi yang di
pakai dalam rangkaian rangkaian R-2R Ladder DAC adalah 1:2, dalam
perancangan R1= 10K maka R2=2*R1=20K. Rangkaian R-2R Ladder
Gambar 3-4R-2R LadderDAC
Dengan nilai tegangan 5V sebagai logika 1 dan tegangan 0V
sebagai logika 0 maka jangkauan DAC dapat dihitung dengan rumus (2-1)
sebagai berikut:
a. Bila data=00000000, maka
(
)
V i n b V V n i n r out 0 256 01 128 0 64 0 32 0 16 0 8 0 4 0 2 0 5 2 1 1 = ÷ ø ö ç è æ + + + + + + + = + -=å
=b. Bila data=11111111, maka
(
)
V i n b V V n i n rout 4.98
Dari perhitungan di atas, DAC memiliki jangkauan tegangan dari
0V sampai 4,98V.
3.1.3 Penguat Audio (Amplifier)
Penguat audio yang digunakan mengambil dari rangkaian terapan IC
LM386. Penguatan tegangan yang digunakan sebesar 20 kali, untuk jumlah
komponen eksternal yang minimum sebagaimana ditunjukkan pada data sheet
LM386. Tegangan catu daya yang digunakan sebesar 12V dan speaker yang
digunakan mempunyai impedansi 8Ω. Rangkaian penguat audio dapat dilihat pada
gambar 3-6.
Besarnya penguatan tegangan (AV) dapat dihitung dengan persamaan berikut:
Vin Vout
AV = ...(3-2)
Mengacu grafik pada data sheet ( Peak-to-Peak Output Voltage Swing vs Supply
Voltage ) jika menggunakan catu daya sebesar 12V dan beban sebesar 8Ω maka
tegangan keluaran dariamplifier kurang lebih sebesar 6,6Vpp (ideal), ditentukan
tegangan keluaran (Vout) sebesar 6Vpp, maka tegangan masukan penguat
tegangan maksimal (Vin) dapat dihitung menggunakan persamaan 3-2 berikut:
Vin
6
20=
mVpp Vpp
Vin 0.3 300 20
6 = =
=
Tegangan keluaran dariR-2R Ladder DAC (VDAC) maksimal yaitu sebesar
agar tegangan keluaran pada penguat tidak mengalami clipping karena terpotong
oleh tegangan saturasinya maka dipasang resistor sebagai pembagi tegangan.
Rangkaian pembagi tegangan dapat dilihat pada gambar 3-5.
Gambar 3-5 Pembagi Tegangan
Besarnya perbandingan nilai R1 dan R2 dapat dihitung mengunakan persamaan
berikut DAC V Vin R R = 2 1 ...(3-4) 98 . 4 3 . 0 2 1 = R R
, jika nilai R1 ditentukan 1KΩ maka besarnya nilai R2 adalah:
W =
W =
= K K
R 16600 16.6
3 . 0 98 . 4 * 1
2 digunakan resistor 15KΩ + 1.5KΩ yang ada
di pasaran.
3.1.4 Penggerak Katub Air Elektronis (
Solenoid
)
Untuk menggerakkansolenoidkatub air elektronis digunakanSolid
State Relay (SSR). Solid State Relay menggunakan prinsip saklar
elektronis (switching). Rangkaian Solid State Relay dapat dilihat pada
gambar 3-7.
. . . . - + 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 220v VAC ~
Gambar 3-7 RangkaianSolid State Relay
Fungsi masing-masing komponen secara umum pada rangkaiansolid state
relay yaitu sebagai berikut:
· Diode Bridge berfungsi sebagai pengaman masukan dc bagi
komponen optokopler MOC-3020. dengan adanyadiode brige ini,
polaritas masukan tegangan dc tidak perlu diperhatikan lagi,
dengan kata lain polaritasnya dapat di bolak-balik dan tidak akan
merusak komponen MOC-3020.
· Optokopler MOC3020 berfungsi untuk memicu tegangan gate
pada TRIAC BT-136, sehingga TRIAC BT-136 tersebut aktif.
· TRIAC BT-136 berfungsi untuk meng-ON / OFF-kan beban yang
· Kapasitor 100nF dan Resistor 39Ω berfungsi untuk mencegah
pergeseran fasa dan inteferensi frekuensi tinggi.
Cara kerja rangkaiansolid state relay adalah sebagai berikut:
1. Apabila tidak ada tegangan masukan dc, maka diode yang ada di
dalam optokopler MOC-3020 tidak memendarkan cahaya sehingga
phototriac tidak aktif dan tidak ada arus yang mengalir menuju
kaki gate pada TRIAC, sehingga komponen TRIAC tidak aktif.
Dan arus yang melewati beban sangat kecil sehingga beban tidak
aktif.
2. Apabila diberi tegangan masukan, maka diode di dalam optokopler
MOC-3020 akan memendarkan cahaya sehingga phototriac akan
aktif. Karenaphototriac aktif maka ada arus yang mengalir menuju
kaki gate TRIAC sehingga mengaktifkan TRIAC. Dan arus yang
mengalir cukup besar untuk menjalankan beban. Beban yang
digunakan adalah katub air elektronis.
Masukan penggerak solenoid katub air elektronis diambil dari
keluaran mikrokontroler sehingga tegangan masukan penggerak solenoid
katub air elektronis dapat diatur dengan menggunakan logika low atau
high.
Katub air elektronis yang digunakan adalah 8 buah, maka
dibutuhkan rangkaian Solid State Relay sebanyak 8 buah. blok diagram
Gambar 3-8 Blok Diagram SSR danSolenoid
3.1.5 Katub Air Elektronis (
Solenoid
)
Katub air elektronis yang dipakai berupa solenoid dengan sumber
catu 220VAC dan kebutuhan arus sebesar 27 mA. Posisisolenoid sebagai
katub air berada pada normal tertutup (aktif terbuka). Ukuran pipa air
keluar dengan diameter 1 cm, luas (0.2 cm2). Penempatan katub disusun
secara berderet dapat dilihat pada gambar 3-9.
Gambar 3-9 Susunan Katub Air
Supaya air yang keluar dari masing-masing katub air menghasilkan
tekanan yang sama maka sumber masukan airnya di buat dua sisi yaitu sisi
kanan dan sisi kiri, Untuk mendapatkan keluaran air yang bagus digunakan
bak air yang diatur dengan ketinggian tertentu untuk mendapatkan tekanan
yang cukup. Air yang dikeluarkan dari katub air ditampung menggunakan
SSR 1
SSR 2
SSR 3
SSR 4
SSR 5
SSR 6
SSR 7
SSR 8
AVR ATMEGA32
bak air juga. Agar air dapat bersirkulasi maka digunakan pompa air untuk
memompa air dari bak penampung II ke bak penampung I. Konstruksi tirai
air dapat dilihat pada gambar 3-10.
Gambar 3-10 Konstruksi Tirai Air
Dimensi konstruksi tirai air:
(P x L x T ) = ( 1m x 0.5m x 2m )
Dimensi Bak Penampung I:
(P x L x T ) = ( 0.85m x 0.45m x 0.5m )
Dimensi Bak Penampung II:
Ukuran dimensi alat meggunakan satuan meter. Pompa air menngunakan pompa
celup yang sering di pakai pada aquarium, pompa ini mampu bekerja selama 24
jam nonstop.
3.2 Perancangan Perangkat Lunak
3.2.1 Diagram Alir (
Flow Chart
)
Perancangan perangkat lunak dititik-beratkan pada perancangan
pembangkit frekuensi, karena program utama dari penelitian ini adalah
membuat suatu program yang dapat membangkitkan frekuensi sesuai
dengan nada yang telah di tentukan.
Secara umum, perancangan perangkat lunak terdiri atas inisialisasi
dan pemberian nilai awal, tahap inisialisasi ini meliputi inisialisasi port
I/O, timer, sedangkan untuk alamat memori tidak perlu dilakukan
inisialisasi karena secara otomatis telah dilakukan olehcompiler.
Setelah tahapan inisialisasi, program akan mengambil data dari
tombol eksekusi. Pada awal eksekusi program, data yang diambil
berdasarkan tombol yang dipilih. Masukan pilihan akan mengubah isi
register penyimpan data. Data-data yang diambil kemudian akan
digunakan untuk membangkitkan gelombang sinus dalam main loop.
Gambar 3-11 Rancangan Diagram Alir Program
Main loop akan berisi sekumpulan instruksi yang akan terus
berulang, dengan diagram alir seperti pada gambar 3-12. Apabila tombol 1
yang ditekan, maka instruksi yang dijalankan adalah instruksi untuk lagu
1, ketika lagu sudah habis maka lagu akan diulang terus dan akan berhenti
ketika tombol stop ditekan (menggunakan eksternal interup), begitu juga
dengan tombol pemilih lainnya.
Setelah tombol pemilih ditekan, lihat diagram alir gambar 3-13,
maka eksekusi yang dijalankan adalah membangkitkan frekuensi yang
diteruskan ke DAC dan pengecekan nada yang akan diteruskan ke
penggerak solenoid. Pembankitan frekuensi menggunakan dua buah timer
yaitu timer pertama sebagai penentu nada berdasarkan array yang telah
didefinisikan dan timer kedua sebagai tempo untuk menentukan lama
bunyi suatu nada.
MAIN LOOP
selesai Inisialisasi
mulai
Masukan data awal
Gambar 3-12 Diagram AlirMain Loop
Gambar 3-13 Diagram Alir Jalankan Lagu
Diagram alir untuk pengecekan nada-nada yang akan ditampilkan
ke valve dapat dilihat pada gambar 3-14.
T
Y Tombol
1
Jalankan lagu pertama
selesai Mulai
T
Y Tombol
2
Jalankan lagu ke-2
T
Y Tombol
3
Jalankan lagu ke-3
T
Y Tombol
4
Jalankan lagu ke-4
mulai
bangkitkan frekuensi
Y T Y Y Y Y Y Y Y Y T T T T T T T T T T T
Gambar 3-14Diagram Alir Pengecekan Nada
Nada C4 Nada D4 Nada E4 Nada F4 Nada G4 Nada A4 Nada B4 Nada C5 Cek ada nada? Nada=nada+1
Valve 1 aktif
Valve 2 aktif
Valve 3 aktif
Valve 4 aktif
Valve 5 aktif
Valve 6 aktif
Valve 7 aktif
Valve 8 aktif
Mulai
Dari nada-nada yang di bangkitkan, dan mengingat keterbatasan
jumlah valve yang digunakan maka nada yang akan digunakan untuk di
tampilkan ke valve sebanyak 8 nada yaitu nada C4 sampai nada C5 yang
dapat dilihat pada tabel 3-2.
3.2.2 Program Utama
Program utama ini berisi program yang akan membangkitkan 4
buah lagu dan kendali katub air elektonis yang bekerja berdasarkan nada
yang di bangkitkan. Lagu yang akan di bangkitkan sebagai berikut:
1. Hymne Sanata Dharma.
2. Di muka Tuhan Yesus.
3. Gundul-gundul pacul.
4. Anak kambing saya.
Berikut ini contoh syair lagu Hymne Sanata Dharma kemudian
diubah kedalam bahasa pemrograman. Syair lagu yang lain dapat dilihat
pada halaman lampiran 1.
Not lagu di ubah menjadi kunci nada dasar, karena dalam syair
lagu tertulis Do = C maka urutan tangga nadanya adalah Do = 1 = C,
Re = 2 = D, Mi = 3 = E, Fa = 4 = F, Sol = 5 = G, La = 6 = A, Si = 7 = B.
Dalam perancangan, frekuensi nada yang di bangkitkan adalah oktaf 3
sampai dengan oktaf 6. Not lagu yang akan dibangkitkan di ubah ke dalam
oktaf 4 agar katub air dapat merespon not nada yang dibangkitkan.
Berikut ini adalah hasil dari pengubahan not lagu Hymne Sanata Dharma
menjadi kunci nada dasar pada oktaf 4:
Katub air yang bekerja jika lagu Hymne Sanata Dhatma dimainkan sebagai berikut:
Dalam pemrograman menggunakan code vision C compiler,
penulisan not lagu berdasarkan nomer urut nada pada tabel 3-1. Berikut ini
potongan program lagu Hymne Sanata Dharma.
//Hymne Sanata Dharma
BAB IV
HASIL DAN PEMBAHASAN
4.1 Hasil Perancangan Perangkat Keras
Hasil perancangan perangkat keras terdiri dari beberapa blok yang
tergabung dalam satucontrol board yang dapat dilihat pada gambar 4-1. Tabel 4-1
menunjukkan nama tiap bagian dan fungsi secara umum.
Gambar 4-1 Control Board
Tabel 4-1 Bagian-Bagian DariControl Board dan Fungsi Secara Umum
No Nama Bagian Fungsi
1 Power Supply Sebagai sumber tegangan
2 Minimum system
ATmega32
Sebagai pembangkitmelody dan penggerakSolid State
Relay
3 DAC Untuk mengubah sinyal digital menjadi sinyal analog
4 Amplifier Sebagai penguat sinyalaudio yang dibangkitkan
Untuk mengendalikan keluaran air digunakan 8 buah katub air elektronis
( solenoid ) yang dapat dilihat pada gambar 4-2 dengan penggerak solenoidnya
menggunakanSolid State Relay ( SSR ) untuk masing-masingsolenoid yang dapat
dilihat pada gambar 4-3.
Gambar 4-2 Katub Air Elektronis (Solenoid )
Gambar 4-3 Solid State Relay (SSR)
Konstruksi mengalami perubahan dari perancangan awal, karena tekanan
air yang di hasilkan dengan menggunakan konstruksi awal tidak cukup besar,
sehingga keluaran air yang dihasilkan tidak maksimal ( kurang bagus ). Pada
konstruksi awal menggunakan dua buah bak penampung air dan satu buah pompa
air. Bak penampung air yang pertama terletak di bagian paling atas yang daripada
solenoid yang berfungsi sebagai penampung air yang akan dialirkan ke solenoid
bawah yang berfungsi sebagai penampung air yang jatuh darisolenoid dan pompa
air digunakan untuk memompakan air dari bak penampung air kedua ke bak
penampung air pertama. Bentuk konstruksi perancangan awal dapat dilihat pada
gambar 4-4.
Gambar 4-4 Konstruksi Perancangan Awal
Perubahan konstruksi yang dilakukan adalah dengan mengganti bak
penampung air pertama yang berada di bagian atas dengan sebuah pompa yang
mempunyai tekanan yang cukup besar. Jadi, solenoid langsung dialiri air yang
berasal dari pompa sehingga tekanan air yang dihasilkan menjadi lebih besar
Untuk menarik perhatian, tahap finishing di tambahkan hiasan lampu
natal, kain, dan pewarna air. Setelah mengalami perubahan konstruksi hasil
implementasi secara keseluruhan untuk pembangkit melodi dan kendali katub air
pada tirai air dapat dilihat pada gambar 4-5.
a) b) Gambar 4-5 Kontruksi Rancangan Kedua
a) Tampak Depan b) Tampak Samping
4.2 Hasil Pengujian
4.2.1 Pengujian Tombol Pemilih Lagu
Pengujian tombol pemilih lagu bertujuan untuk melihat tegangan keluaran
dari saklar jika tombol di tekan dan tombol tidak ditekan. Tegangan keluaran di
gunakan sebagai interupsi mikrokontroler untuk memainkan dan menghentikan
Tabel 4-2 Data Hasil Pengujian Tombol Pemilih
Tombol Tegangan Keluaran ( Volt ) Di Tekan Tidak di tekan
Tombol 1 0,06 4,7
Tombol 2 0,06 4,7
Tombol 3 0,06 4,7
Tombol 4 0,06 4,7
Tombol 5 0,06 4,7
Dari tabel 4-2 dapat dilihat bahwa jika tombol ditekan maka tegangan
keluaran 0,06 volt atau logika ”0” dan jika tombol tidak ditekan tegangan
keluaran 4,7 volt atau logika ”1”. Dari hasil pengujian dapat disimpulkan bahwa
tombol pemilih lagu dapat bekerja sesuai dengan perancangan.
4.2.2 PengujianR-2R Ladder Digital to Analog Converter
Pengujian R-2R Ladder Digital to Analog Converter dilakukan dengan
cara memberikan masukandigital, masukan berupa bilangan biner 8-bit. Dengan
tegangan 0V sebagai logika ’0’ dan tegangan 5V sebagai logika ’1’ dan tegangan
referensi 5V.
Contoh perhitungan tegangan keluaran DAC dan prosentase galat
menggunakan persamaan (2-1) berikut:
· Masukan bilangan biner 00000001
(
)
V i n b V V n i n rout 0,0195
256 1 128 0 64 0 32 0 16 0 8 0 4 0 2 0 5 2 1 1 = ÷ ø ö ç è æ + + + + + + + = + -=
å
=hasil pengukuran sebesar 0.019V
· Masukan bilangan biner 00000010
(
)
V i n b V V n i n rout 0,0390
256 0 128 1 64 0 32 0 16 0 8 0 4 0 2 0 5 2 1 1 = ÷ ø ö ç è æ + + + + + + + = + -=
å
=hasil pengukuran sebesar 0.038V
% 5 , 2 100 * 038 , 0 038 , 0 0390 , 0 100 * % = - = - = pengukuran data pengukuran data n perhitunga data Galat
· Masukan bilangan biner 00000100:
(
)
V i n b V V n i n rout 0.0781
256 0 128 0 64 1 32 0 16 0 8 0 4 0 2 0 5 2 1 1 = ÷ ø ö ç è æ + + + + + + + = + -=
å
=hasil pengukuran sebesar 0.077V
% 4 . 1 100 * 077 . 0 077 . 0 078 . 0 100 * % = - = - = pengukuran data pengukuran data n perhitunga data Galat
Hasil pengujian yang lain dapat dilihat pada tabel 4-3.
Tabel 4-3 Data Hasil PengujianR-2R Ladder Digital to Analog Converter
Data Masukan (biner) Perhitungan (volt) Pengukuran (volt) Galat (volt) Galat (%)
00000000 0 0 0 0
00000001 0,0195 0,019 0,0005 2,5
00000010 0,0390 0,038 0,0010 2,5
00000100 0,0781 0,077 0,0011 1,4
00001000 0,1562 0,154 0,0022 1,4
00010000 0,3125 0,304 0,0085 2,72
00100000 0,6250 0,615 0,0100 1,6
01000000 1,2500 1,252 -0,0020 0,16
10000000 2,5000 2,464 0,0360 1,44
11000000 3,7500 3,748 0,0020 0,05
11111111 4,9800 4,926 0,0540 1,08
Berdasarkan tabel 4-3 perbandingan pengukuran dan perhitungan
komponoen resistor sebesar 5%. Nilai pengukuran mendekati nilai perhitungan ini
berarti rangkaian DAC bekerja sesuai dengan perancangan.
4.2.3 Pengujian Penguat Audio ( Amplifier )
Pengujian penguat audio (amplifier) dilakukan dengan cara memberikan
masukan frekuensi menggunakan Audio Frequency Generator (AFG) dengan
amplitudo tetap dan frekuensi yang diubah-ubah. Pengukuran sinyal keluaran IC
LM386 sebagai penguat tegangan untuk memperlihatkan nilai penguatan tegangan
yang diberikan terhadap gelombang sinus yang dibangkitkan AFG. Data yang
diperoleh dari pengujian penguat tegangan bertujuan membandingkan amplitudo
sinyal masukan ( Vin ) dan sinyal keluarannya (Vout).
Prosentase galat penguatan tegangan (Av) dihitung berdasarkan prosentase
besarnya galat terhadap penguatan idealnya. Nilai penguatan tegangan ideal yang
digunakan adalah 20 kali.
Contoh perhitungan besarnya AV menggunakan persamaan (3-2) dan
prosentase galat AV dihitung sebagai berikut:
· data Vin = 296mVpp dan Vout = 5,83Vpp
69 , 19 296 83 , 5 = = = mV Vin Vout Av % 5 , 1 100 * 20 69 , 19 20 100 * 20 20
%galat Av= -Av = - =
· data Vin = 296mVpp dan Vout = 5,84Vpp
% 4 , 1 100 * 20 72 , 19 20 100 * 20 20
%galatAv= -Av = - =
· data Vin = 296mVpp dan Vout = 5,85Vpp
76 , 19 296 85 , 5 = = = mV Vin Vout Av % 2 , 1 100 * 20 76 , 19 20 100 * 20 20
%galat Av= -Av = - =
Untuk perhitungan yang lain dapat dilihat pada tabel 4-4.
Tabel 4-4 Data Hasil Pengujian Penguat Audio Frekuensi (Hz) Vin(vpp) Vout Perhitungan(vpp) Vout Pengukuran(vpp) Av Galat (volt) Galat(%)
80 296mV 5.92 5.84 19.72 0.08 1.4
100 296mV 5.92 5.83 19.69 0.05 1.5
200 296mV 5.92 5.83 19.69 0.03 1.5
300 296mV 5.92 5.84 19.72 0.12 1.4
400 296mV 5.92 5.85 19.76 0.17 1.2
500 296mV 5.92 5.84 19.72 0.24 1.4
600 296mV 5.92 5.83 19.69 0.02 1.2
700 296mV 5.92 5.84 19.72 0.08 1.4
800 296mV 5.92 5.84 19.72 0.06 1.4
900 296mV 5.92 5.84 19.72 0.08 1.4
1000 296mV 5.92 5.84 19.72 0.08 1.4
1100 296mV 5.92 5.84 19.72 0.07 1.4
1200 296mV 5.92 5.85 19.76 0.08 1.2
1300 296mV 5.92 5.84 19.72 0.07 1.4
1400 296mV 5.92 5.84 19.72 0.07 1.4
10000 296mV 5.92 5.85 19.76 0.08 1.2
Tanggapan frekuensi masukan dapat dilihat pada gambar 4-6, sedangkan
Gambar 4-6Sinyal Frekuensi masukan
Gambar 4-7 Sinyal Frekuensi Keluaran
Dari gambar 4-6 dan gambar 4-7 dapat di lihat bahwa tanggapan frekuensi
sinyal masukan dan sinyal keluaranya sama, gelombang keluaran berupa sinus
murni tidak terpotong dan tidak adanoise. Besar galat rerata penguatan tegangan
( AV ) sebesar 1.36%, Mengacu pada tabel 4-4 dapat dikatakan penguat sinyal
bekerja sesuai dengan perancangan.
4.2.4 Pengujian Katub Air Elektronis (Solenoid)
Pengujian kecepatan ON /OFF solenoid dilakukan dengan cara mengatur
variasi waktu lamanya ON /OFF. Pengaturan lebar sempitnya pulsa dilakukan
Tampilan air dikatakan terlihat putus-putus apabila jeda antara ON /OFF
pada air masih kelihatan. Atau dengan kata lain, tampilan air antara kondisi
solenoid = ON dengan kondisi solenoid = OFF masih dapat dibedakan.
Sedangkan untuk tampilan air tampak mengalir, tampilan antara kondisi solenoid
= ON dengan kondisi solenoid = OFF sudah sulit untuk dibedakan (jeda antara
ON /OFF kecil)
Pengujian lebar pulsa ON /OFF pada katub air elektronis ini hanya
menggunakan 3 buah sampel saja, yaitu solenoid-1, solenoid-4, dan solenoid-7
yang dapat dilihat pada tabel 4-5.
Tabel 4-5 Data Hasil Pengujian Tampilan Air dengan Lebar Pulsa Tertentu Frekuensi
Input (Hz)
Lebar Pulsa
ON/OFF
(s)
Pengamatan Tampilan Air ( Jeda antaraON/OFF )
solenoid-1 solenoid-4 solenoid-7
1 0.500 Tampak putus-putus Tampak putus-putus Tampak putus-putus 2 0.250 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3 0.333 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3.5 0.166 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3.6 0.139 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3.7 0.135 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3.8 0.263 Tampak putus-putus Tampak putus-putus Tampak putus-putus 3.9 0.131 Tampak putus-putus Tampak putus-putus Tampak putus-putus 4 0.125 Tampak putus-putus Tampak mengalir Tampak putus-putus 4.1 0.122 Tampak mengalir Tampak mengalir Tampak mengalir 4.2 0.119 Tampak mengalir Tampak mengalir Tampak mengalir 4.5 0.111 Tampak mengalir Tampak mengalir Tampak mengalir
5 0.100 Tampak mengalir Tampak mengalir Tampak mengalir
Semakin lebar pulsa ON /OFF, maka waktu jeda air yang jatuh dari
solenoid sampai ke bak penampung air 2 juga semakin lama. Begitu sebaliknya,
semakin sempit pulsa ON /OFF, maka waktu jeda air yang jatuh dari solenoid
sampai ke bak penampung air 2 juga semakin cepat. Dengan kata lain lebar pulsa
Dari data hasil pengujian tampilan air di atas, dapat disimpulkan bahwa
solenoid masih bisa bekerja dengan baik dengan lebar pulsa ON /OFF minimal
sebesar 0.131 detik dengan frekuensi maksimal 3.9 Hz.
4.2.5 PengujianSolid State Relay( SSR)
Pengujian solid state relay dilakukan dengan cara memberikan tegangan
masukan DC yang bervariasi pada sumber masukannya. Data hasil pengujian
Solid State Relay( SSR ) dapat dilihat pada tabel 4-6.
Tabel 4-6 Data Hasil pengujian Solid State Relay(SSR) Tegangan Input dc
(Volt)
Tegangan Output AC (Volt)
Keadaan Beban
0 5.46 OFF
1 5.46 OFF
2 5.46 OFF
3 5.43 OFF
3.1 5.42 OFF
3.2 5.41 OFF
3.3 5.42 OFF
3.4 ~ masa transisi ON/OFF
3.5 217.6 ON
3.6 217.2 ON
3.7 217.2 ON
3.8 217.2 ON
4 217.2 ON
5 217.2 ON
Dari hasil pengujian Solid State Relay ( SSR ), dapat disimpulkan bahwa
Solid State Relay mulai bekerja dengan baik apabila diberi masukan tegangan dc
sebesar 3,5 volt. Sehingga Solid State Relay ( SSR ) ini bisa digunakan untuk
aplikasi mikrokontroler yang memiliki tegangan keluaran sebesar 0 volt sebagai
4.2.6 Pengujian Nada-Nada Yang Dibangkitkan
Pengujian nada dilakukan dengan cara membandingkan frekuensi yang
dibangkitkan oleh mikrokontroler dengan nilai frekuensi yang telah ditentukan
untuk setiap nada yang sesuai dengan dasar teori. Pengambilan data dengan cara
membangkitkan frekuensi per nada dasar.
Contoh perhitungan % galat menggunakan persamaan berikut:
· % galat nada G3
% 35 . 0 100 * 196 3 . 195 196 100 * % = - = - = pengukuran data pengukuran data n perhitunga data Galat
· % galat nada G#3 / Ab3
% 31 . 0 100 * 65 . 207 207 65 . 207 100 * % = - = - = pengukuran data pengukuran data n perhitunga data Galat
· % galat nada A3
% 31 . 0 100 * 220 3 . 219 220 100 * % = - = - = pengukuran data pengukuran data n perhitunga data Galat .
Tabel 4-7 Data Hasil Pengujian Nada Yang dibangkitkan
No
nada Nada Frekuensi
Frekuensi yang
dihasilkan Galat (Hz) % Galat
0 Pause
1 G3 196 195.3 0.7 0.35
2 G#3/Ab3 207.65 207 0.65 0.31
3 A3 220 219.3 0.7 0.31
4 A#3/Bb3 233.08 232.3 0.78 0,33
5 B3 246.94 246.1 0.84 0.34
6 C4 261.63 260.4 1.23 0.47
7 C#4/Db4 277.18 276.6 0.58 0.2
8 D4 293.66 292.1 1.56 0.53
9 D#4/Eb4 311.13 309.4 1.73 0.55
10 E4 329.63 327.2 2.43 0.73
11 F4 349.23 348.3 0.93 0.26
12 F#4/Gb4 369.99 367.1 2.89 0.78
13 G4 392 391.6 0.4 0.1
14 G#4/Ab4 415.3 413.9 1.4 0.33
15 A4 440 439.1 0.9 0.33
16 A#4/Bb4 466.16 465.5 0.66 0.14
17 B4 493.88 490.8 3.8 0.62
18 C5 523.25 523.4 0.15 0.02
19 C#5/Db5 554.37 553.3 1.4 0.19
20 D5 587.33 586.7 0.63 0.1
21 D#5/Eb5 622.25 623.9 1.65 0.26
22 E5 659.26 657.1 2.16 0.32
23 F5 698.46 699.5 1.04 0.14
24 F#5/Gb5 739.99 737.9 2.09 0.28
25 G5 783.99 784.3 0.31 0.03
26 G#5/Ab5 830.61 830.2 0.41 0.04
27 A5 880 879.6 0.4 0.04
28 A#5/Bb5 932.33 931.1 1.21 0.13
29 B5 987.77 986.1 1.67 0.16
30 C6 1046.5 1042 4.5 0.43
31 C#6/Db6 1108.73 1106 2.73 0.24
32 D6 1174.66 1172 2.66 0.22
33 D#6/Eb6 1244.51 1240 4.51 0.36
Dari data hasil pengujian nada yang dibangkitkan diperoleh rerata galat
yang terjadi sebesar 0.29 %, sehingga frekuensi nada dasar yang terbentuk dapat
dikatakan cukup presisi. Galat disebabkan pembulatan pada saat pengisian nilai
Bentuk gelombang sinus nada G3 dapat dilihat pada gambar 4-8 dibawah
ini. Dari gambar terlihat gelombang sinus yang terbentuk mendekati gelombang
sinus yang ideal. Gambar gelombang sinus untuk nada-nada yang lain dapat
dilihat pada halaman lampiran.
Gambar 4-8 Bentuk Gelombang Sinus Nada G3
Selain pengambilan data frekuensi yang dibangkitkan juga diamati
solenoid yangaktif. Pengambilan data solenoid yangaktif dilakukan dengan cara
mengamati per nada dasar yang dibangkitkan. Data hasil pengamatan solenoid
yang aktif dapat dilihat pada tabel 4-8. Nada yang dapat ditampilkan pada
solenoidsebanyak 8 nada (1 oktaf ) yaitu oktaf ke 4 (C4, D4, E4, F4, G4, A4, B4,
C5). Kondisi semua solenoid = OFF jika nada yang dibangkitkan tidak sama
dengan urutan nomer nada pada tabel 3-2, dan lama kondisi solenoid = ON
ditentukan oleh tempo nada yang dibangkitkan. Dari tabel 4-8 dapat dilihat bahwa
Tabel 4-8Solenoid yangAktif No nada Nada Kondisi Solenoid Solenoid-1 Solenoid-2 Solenoid-3 Solenoid-4 Solenoid-5 Solenoid-6 Solenoid-7 Solenoid-8
0 Pause OFF OFF OFF OFF OFF OFF OFF OFF
1 G3 OFF OFF OFF OFF OFF OFF OFF OFF
2 G#3/Ab3 OFF OFF OFF OFF OFF OFF OFF OFF
3 A3 OFF OFF OFF OFF OFF OFF OFF OFF
4 A#3/Bb3 OFF OFF OFF OFF OFF OFF OFF OFF
5 B3 OFF OFF OFF OFF OFF OFF OFF OFF
6 C4 ON OFF OFF OFF OFF OFF OFF OFF
7 C#4/Db4 OFF OFF OFF OFF OFF OFF OFF OFF
8 D4 OFF ON OFF OFF OFF OFF OFF OFF
9 D#4/Eb4 OFF OFF OFF OFF OFF OFF OFF OFF
10 E4 OFF OFF ON OFF OFF OFF OFF OFF
11 F4 OFF OFF OFF ON OFF OFF OFF OFF
12 F#4/Gb4 OFF OFF OFF OFF OFF OFF OFF OFF
13 G4 OFF OFF OFF OFF ON OFF OFF OFF
14 G#4/Ab4 OFF OFF OFF OFF OFF OFF OFF OFF
15 A4 OFF OFF OFF OFF OFF ON OFF OFF
16 A#4/Bb4 OFF OFF OFF OFF OFF OFF OFF OFF
17 B4 OFF OFF OFF OFF OFF OFF ON OFF
18 C5 OFF OFF OFF OFF OFF OFF OFF ON
19 C#5/Db5 OFF OFF OFF OFF OFF OFF OFF OFF
20 D5 OFF OFF OFF OFF OFF OFF OFF OFF
21 D#5/Eb5 OFF OFF OFF OFF OFF OFF OFF OFF
22 E5 OFF OFF OFF OFF OFF OFF OFF OFF
23 F5 OFF OFF OFF OFF OFF OFF OFF OFF
24 F#5/Gb5 OFF OFF OFF OFF OFF OFF OFF OFF
25 G5 OFF OFF OFF OFF OFF OFF OFF OFF
26 G#5/Ab5 OFF OFF OFF OFF OFF OFF OFF OFF
27 A5 OFF OFF OFF OFF OFF OFF OFF OFF
28 A#5/Bb5 OFF OFF OFF OFF OFF OFF OFF OFF
29 B5 OFF OFF OFF OFF OFF OFF OFF OFF
30 C6 OFF OFF OFF OFF OFF OFF OFF OFF
31 C#6/Db6 OFF OFF OFF OFF OFF OFF OFF OFF
32 D6 OFF OFF OFF OFF OFF OFF OFF OFF
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil perancangan dan pengamatan pada sistem pembangkit melodi
dan kendali katub air pada tirai air yang berbasis mikrokontroler ATmega32 dapat
disimpulkan:
1. Sistem yang dirancang untuk pembangkit melodi dan kendali katub air
pada tirai air dapat bekerja sesuai dengan perancangan.
2. Nada yang dihasilkan mulai dari nadaG3 sampai nada D#6 dan yang
ditampilkan pada katup air adalah 1 oktaf pada oktaf ke 4 (C4, D4, E4,
F4, G4, A4, C5)
3. Frekuensi yang dihasilkan (gelombang sinus) yang dibangkitkan
dengan 64 titik cuplikan, mempunyai rerata galat sebesar 0.29%.
4. Tampilan air dikatakan bagus (relatif) dengan minimal waktu on/off
sebesar 0.131 detik.
5.2 Saran
Berdasarkan kesimpulan diatas dan untuk pengembangan lebih lanjut ada
beberapa saran agar alat ini jauh lebih baik, yaitu sebagai berikut:
1. Pembangkit melodi dapat di tingkatkan menjadi polifonik dan di
gabung dengan pembangkit midi.
2. Cacah katub air dapat diperbanyak sehingga banyak nada yang dapat
DAFTAR PUSTAKA
[1] Tao Jin, et al, 2006, “Musical Water Fountain”
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/indx.htm,
diakses tanggal 10 Juli 2007.
[2] Arvin Yeung, Karen Li, 2003, “Tap The Dance”
http://instruct2.cit.cornell.edu/courses/ecp476/FinalProjects/s2003/index.htm,
diakses tanggal 4 Juni 2007.
[3] Thursan(a) Hakim, 2005, “Teknik Tercepat Belajar Bermain Keyboard”,
Penerbit PT. Kawan Pustaka, Jakarta.
[4] _____, ”Katub air Elektronis”, http://en.wikipedia.org/wiki/Katub _air
_elektronis, diakses tanggal 6 juni 2007.
[5] _____, “DAC”, http://en.wikipedia.org/wiki/Digital-to-analog_conversion,
diakses tanggal 6 Juni 2007.
[6] _____, “data sheet search site”, www.alldatasheet.com, diakses tanggal 6 Juni
2007.
[7] _____, “Speaker”, http://en.wikipedia.org/wiki/speaker, diakses tanggal 6 Juni
2007.
[8] _____, “Solid State Relay”, http://en.wikipedia.org/wiki/SSR, diakses tanggal
17 Juni 2007.
[9] Lingga Wardhana, ”Belajar Sendiri Mikrokontroler AVR Seri ATmega8535”,
Penerbit Andi, Yogyakarta, 2006.
LAMPIRAN
LAMPIRAN
LISTING PROGRAM
#include <Mega32.h> #define begin { #define end } //inialisasi urutan lagu #define Lagu0 0x01 #define Lagu1 0x02 #define Lagu2 0x04 #define Lagu3 0x08 #define Off 0x00
/*urutan nomer nada yang dibangkitkan
//sebagai contoh 1 menunjukkan no urut nada, G3 menunjukkan nada, 196 menunjukkan nilai frekuensi,319 menunjukkan banyaknya cacahan timer
0 Pause
1 G3 196 319
2 G#3/Ab3 207.65 301
3 A3 220 284
4 A#3/Bb3 233.08 268
5 B3 246.94 253
6 C4 261.63 239
7 C#4/Db4 277.18 225
8 D4 293.66 213
9 D#4/Eb4 311.13 201
10 E4 329.63 190
11 F4 349.23 179
12 F#4/Gb4 369.99 169
13 G4 392 159
14 G#4/Ab4 415.3 150
15 A4 440 142
16 A#4/Bb4 466.16 134
17 B4 493.88 127
18 C5 523.25 119
19 C#5/Db5 554.37 113
20 D5 587.33 106
21 D#5/Eb5 622.25 100
22 E5 659.26 95
23 F5 698.46 89
24 F#5/Gb5 739.99 84
25 G5 783.99 80
26 G#5/Ab5 830.61 75
27 A5 880 71
28 A#5/Bb5 932.33 67
29 B5 987.77 63
30 C6 1046.5 60
31 C#6/Db6 1108.73 56
32 D6 1174.66 53
33 D#6/Eb6 1244.51 50
*/
//inisialisasi data register
unsigned char masukan_port;
// Array Lagu dua dimensi, baris pertama sebagai not lagu, baris kedua sebagai tempo (ketukan minimal 31,250ms)
//Hymne Sanata Dharma
flash unsigned char nyanyi0[2][69]={{10,18,18,17,0,17,13,0,13,10,0,8,6,10,13,15,13, 0,18,18,20,17,15,13,10,10,13,15,13,13,11,10,8, 0,10,8,6,10,13,15,15,13,0,13,18,18,20,20,22,
0,22,23,22,22,20,18,18,13,0,18,20,22,20,18,20,17,18,0,0}, //not lagu
{20,20,20,10,1,10,20,1,40,20,10,10,20,20,20,20,40, 20,20,20,20,20,20,40,20,10,10,20,10,10,20,20,40, 20,10,10,20,20,20,20,40,20,10,10,20,20,20,20,40,
20,20,20,10,10,20,20,20,20,20,10,10,20,10,10,20,20,40,20,30}}; //tempo
//Di Muka Tuhan Yesus
flash unsigned char nyanyi1[2][44]={{3,5,6,6,8,6,5,3,0,3,6,8,10,10,15,13,15,10,8,10,0,
15,17,18,18,18,17,13,15,13,11,10,0,6,8,10,10,8,6,5,3,0,3,0},
{10,10,20,20,20,10,10,40,2,20,10,10,20,20,20,10,10,20,20,20,20,
10,10,20,20,20,10,10,20,10,10,20,5,10,10,20,20,20,10,10,30,3,40,40}};
//gundul gundul pacul
flash unsigned char nyanyi2[2][58]={{6,10,6,10,11,13,0,13,0,17,18,17,18,17,13,0, 6,10,6,10,11,13,0,13,0,17,18,17,18,17,13,0, 6,10,13,11,11,13,11,10,6,11,10,6,0, 6,10,13,11,11,13,11,10,6,11,10,6,0}, {8,8,8,8,8,1,8,8,8,8,8,8,8,8,16,8, 8,8,8,8,8,1,8,8,8,8,8,8,8,8,16,8, 8,8,16,8,8,8,8,8,8,8,8,8,8, 16,8,16,8,8,8,8,8,8,8,8,16,30}}; //test valve
flash unsigned char nyanyi3[2][72]={{6,8,10,11,13,15,17,18,0,6,8,10,11,13,15,17,18,0, 6,8,10,11,13,15,17,18,0,6,8,10,11,13,15,17,18,0, 6,8,10,11,13,15,17,18,0,6,8,10,11,13,15,17,18,0, 6,8,10,11,13,15,17,18,0,6,8,10,11,13,15,17,18,0}, {20,20,20,20,20,20,20,20,40,15,15,15,15,15,15,15,15,40, 10,10,10,10,10,10,10,10,40,8,8,8,8,8,8,8,8,40, 6,6,6,6,6,6,6,6,40,4,4,4,4,4,4,4,4,40,2,2,2,2,2,2,2,2,40,1,1,1,1,1,1,1,1,40}}; // array urutan nada
unsigned int notes[34]={65535,319,301,284,268,253,239,225,213,201,190,179,169,159,150,142, 134,127,119,113,106,100,95,89,84,80,75,71,67,63,60,56,53,50};
// gelombang sinus tercuplik 64 titik unsigned char
0xFF,0xFC,0xFA,0xF8,0xF6,0xEF,0xE8,0xE1,0xDA,0xCF,0xC5,0xBB,0xB1,0xA4,0x98,0x8C,
0x80,0x73,0x67,0x59,0x4F,0x44,0x3A,0x30,0x26,0x1F,0x18,0x11,0x0A,0x07,0x05,0x0 2,
0x00,0x02,0x05,0x07,0x0A,0x11,0x18,0x1F,0x26,0x30,0x3A,0x44,0x4F,0x59,0x67,0x7 3};
// Timer 0 sebagai pembangkit nada dan di perbaharui setiap 31.250ms (CLK/128) void seleksi_valve(char i);
#pragma savereg-
interrupt [TIM0_OVF] void timer0_overflow(void) begin
#asm("in r9,SREG")
if(state <= 0x30) // jika lagu dipanggil / dipilih begin
time++; // naikkan nilai timer switch(state)
begin
case Lagu0: // lagu Hymne sanata dharma dimainkam
if(time == nyanyi0[1][note]) begin
TCCR1B = 0; time = 0;
if(++note == length[0]) note = 0;// jika lagu habis,lagu dimainkan kembali(ulang)
temp = nyanyi0[0][note];
seleksi_valve(temp); // pengecekan nada sebagai penggerak solenid(valve)
end
break; //lagu di muka Tuhan Yesus dimainkan case Lagu1:
if(time == nyanyi1[1][note]) begin
TCCR1B = 0; time = 0;
if(++note == length[1]) note = 0; temp = nyanyi1[0][note];
seleksi_valve(temp); end
break;
case Lagu2: //lagu Gundul gundul pacul dimainkan if(time == nyanyi2[1][note])
begin
TCCR1B = 0; time = 0;
if(++note == length[2]) note = 0; temp = nyanyi2[0][note];
seleksi_valve(temp); end
break;
case Lagu3: //lagu anak kambing saya dimainkan if(time == nyanyi3[1][note])
begin
temp = nyanyi3[0][note]; seleksi_valve(temp); end
break; end
if((time == 0) && (temp != 0)) // Reset timer begin
TCNT1 = 0;
OCR1A = notes[temp]; TCCR1B = 9;
end end
TCNT0 = 128; #asm("out SREG,r9") end
// Timer 1 sebagai ketukan
interrupt [TIM1_COMPA] void cmpA_overflow(void) begin
#asm
in r8, SREG mov r30, r4 inc r4 clr r31
subi r30, low(-_sine) sbci r31, high(-_sine) ld r30, z
out 0x18, r30