MICROCONTROLLER ATmega8
PRASEPVIANTO ESTU BROTO
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
Pengukuran Curah Hujan Menggunakan Microcontroller ATmega8. Dibimbing oleh ARDIAN ARIF SETIAWAN dan JAJANG JUANSAH.
Penelitian ini dilakukan untuk merancang prototype penakar hujan otomatis atau yang lebih dikenal dengan sebutan automatic rain recorder (ARR) dengan akurasi yang diperoleh dari hasil pengujian adalah 88,3%. ARR terdiri dari Microcontroller ATmega8 sebagai CPU (central processing unit) serta akuisisi data. Pewaktuan lokal menggunakan RTC (real time clock) serial dengan dilengkapi baterai litium sebagai backup catu daya. Media penyimpan data menggunakan memori AT24C256 dengan kapasitas hingga 32 Kbyte. Komunikasi dengan komputer menggunakan jalur serial RS232 untuk mengatur waktu RTC dan mengunduh data dari memori . Sensor sebagai penakar curah hujan menggunakan jenis tipping bucket dengan resolusi alat sebesar 0.2 mm. Air hujan yang masuk ke dalam penampung pada tipping bucket menghidupkan read switch dan memberikan logika high pada Microcontroller.
Rain Recorde untuk Pengukuran Curah Hujan Menggunakan Microcontroller ATmega8 adalah benar-benar hasil karya saya sendiri di bawah bimbingan Ardian Arif Setiawan, S.Si. M.Si. dan Jajang Juansah, S.Si. M.Si. dan belum pernah dipublikasikan sebagai karya ilmiah pada perguruan tinggi atau lembaga manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Bogor, Agustus 2011
NRP : G74063206
Menyetujui :
Pembimbing I Pembimbing II
Ardian Arif Setiawan, S.Si. M.Si. Jajang Juansah, S.Si. M.Si.
NIP.19720311 200604 1011 NIP.197711020 200501 1002
Mengetahui :
Ketua Departemen Fisika FMIPA IPB
Dr. Ir. Irzaman, M.Si NIP. 19630708 199512 1001
MICROCONTROLLER ATmega8
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Sains
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh :
Prasepvianto Estu Broto
G74063206
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
Puji syukur penulis panjatkan ke hadirat Allah Swt karena atas segala rahmat, hidayah dan karunia-Nya, penulis dapat menyelesaikan skripsi dengan judul ”Pembuatan Automatic Rain Recorder untuk Pengukuran Curah Hujan Menggunakan Microcontroller ATmega8” . Skripsi ini sebagai salah satu syarat kelulusan program sarjana di Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.
Penulis mengucapkan terima kasih kepada pihak-pihak yang telah membantu dalam penyusunan skripsi ini, yaitu kepada :
1. Bapak Ardian Arif Setiawan, S.Si. M.Si. selaku dosen pembimbing I yang telah memberikan bimbingan, motivasi, serta arahan kepada penulis.
2. Bapak Jajang Juansah, S.Si. M.Si. selaku dosen pembimbing II yang telah memberikan bimbingan, saran dan semangat kepada penulis.
3. Bapak Drs. Moh. Nur Indro, M.Sc selaku dosen penguji atas masukan dan saran kepada penulis.
4. Bapak dan Ibu tercinta yang telah memberikan do’a, dukungan serta semangat kepada penulis.
5. Bapak dan Ibu dosen FISIKA IPB yang telah mengajar dan membantu penulis dalam meningkatkan ilmu pengetahuan selama masa studi.
6. Pakde Momon sekeluarga yang telah banyak memberikan nasehat dan motivasi. 7. Mas Adi yang telah banyak memberikan bantuan kepada penulis dalam menyelesaikan
tugas akhir ini.
8. Keluarga Besar Majlis Ta’lim Assalam yeng telah menemani penulis dalam mengerjakan tugas akhir ini.
9. Teman- teman fisika angkatan 41,42,43,44,45, dan 46 yang telah banyak membantu penulis.
Semoga skripsi ini dapat bermanfaat bagi masyarakat. Saran dan kritik yang dapat membangun sangat penulis harapkan.
Bogor, Agustus 2011
DAFTAR TABEL ... iii
DAFTAR GAMBAR ... iv
DAFTAR LAMPIRAN ... v
PENDAHULUAN ... 1
Latar Belakang ... 1
Tujuan Penelitian ... 1
TINJAUAN PUSTAKA ... 1
Curah Hujan ... 1
Pengertian Penakar Hujan ... 2
Tipping bucket Sensor ... 2
Kalibrasi Sensor ... 3
Microcontroller ATMega8 ... 3
Real Time Clock DS1307 ... 4
EEPROM ... 4
Komunikasi RS232 ... 5
BAHAN DAN METODE ... 5
Tempat dan Waktu Penelitian ... 5
Bahan dan Alat ... 5
Rancangan Blok Sistem ... 6
a. Logger ... 6
b. Rancangan Sistem ... 6
Metodologi Perancangan ... 6
a. Rangkaian Minimum Sistem ATmega8 ... 6
b. Rangkaian RTC DS1307 ... 6
c. Rangkaian EEPROM AT24C256 ... 7
d. Rancangan RS232 Converter ... 7
e. Pemrograman Microcontroller ... 7
HASIL DAN PEMBAHASAN ... 8
Hasil Perancangan Rangkaian ARR ... 8
a. Rangkaian ATmega8 ... 8
b. Rangkaian Tipping Bucket Sensor ... 8
c. Rangkaian RTC DS1307 ... 9
d. Rangkaian EEPROM AT24C256 ... 10
e. Rangkaian MAX232 Converter ... 10
f. Flowchart Umum Sistem ... 11
g. Flowchart Penghitung Pulsa ... 12
h. Flowchart Komunikasi PC ... 12
Hasil Uji Lapang dan Analisa Curah Hujan ... 13
Pengujian Laboratorium ... 13
Pengujian Tipping Bucket Sensor ... 13
Pengujian Kinerja Alat ... 14
Pengujian Alat dengan SensorTipping bucket dalam Pengukuran Curah Hujan……… 16
Pengujian Lapangan ... 17
KSIMPULAN DAN SARAN ... 20
Kesimpulan ... 20
Saran ... 20
DAFTAR PUSTAKA ... 20
Halaman 1. Hasil pengujian sensortipping bucket ... 14 2. Hasil Pengamatan di Stasiun Klimatologi Klas 1, Darmaga, Bogor pada tanggal
Halaman
1. Cara kerja penakar hujan jenis tipping bucket ... 3
2. Penakar hujan jenis tipping bucket ... 3
3. 3(a) Susunan pin microcontroller ATmega8, 3(b). Tampilan fisik microcontroller ATmega8……….. 4
4. 4(a) Susunan pin out, 4(b) tampilan fisik RTC DS1307 ... 4
5. Susunan antar muka RTC DS1307 dengan CPU ... 4
6. Susunan pin EEPROM AT24C256 ... 5
7. Susunan Port DB 9 ... 5
8. Blok diagram logger ... 6
9. Blok diagram penakar hujan otomatis ... 6
10. Rabgkaian minimum sistem ATMega8 ... 7
11. Rangkaian RTC DS1307 ... 7
12. Rangkaian EEPROM AT24C256 ... 7
13. Rangkaian RS232 converter ... 7
14. Hasil perancangan rangkaian ARR ... 8
15. Rangkaian ATmega8 yang telah terpasang ... 8
16. Rangkaian penahan goncangan ... 8
17. Reed switch yang terpasang pada tipping bucket sensor... 9
18. Jungkitan pada tipping bucket sensor dengan penahan yang telah dikalibrasi ... 9
19. Rangkaian RTC DS1307 yang telah terpasang ... 9
20. Rangkaian AT24C256 ... 11
21. Rangkaian MAX232 ... 11
22. Flowchart umum sistem ... 12
23. Flowchart penghitung pulsa ... 12
24. Flowchart komunikasi PC ... 13
25. Pengujian tipping bucket menggunakan pipet ... 13
26. Pengujian alat ARR ... 15
27. Pengiriman file text menggunakan hyperterminal ... 15
28. Download data curah hujan dari ARR ke PC ... 15
29. Format data curah hujan yang tersimpan dalam file.txt ... 15
30. Penakar hujan tipe Hellman ... 16
31. Penakar hujan Observatorium ... 17
32. Pemasangan ARR dengan penakar hujan tipe Hellman ... 17
33. Data hujan tanggal 1 Desember 2010 menggunakan Hellman ... 18
34. Data hujan tanggal 1 Desember 2010 menggunakan ARR... 18
35. Data hujan tanggal 4 Desember 2010 menggunakan Hellman ... 18
36. Data hujan tanggal 4 Desember 2010 menggunakan ARR... 18
37. Pengukuran curah hujan per hari menggunakan Observatorium ... 19
38. Pengukuran curah hujan per hari menggunakan Hellman ... 19
DAFTAR LAMPIRAN
Halaman
1. Data curah hujan menggunakan ARR pada bulan November 2010 ... 23
2. Data curah hujan menggunakan Hellman dan Observatorium pada bulan November 2010 ... 24
3. Hasil Pengamatan di Stasiun Klimatologi Klas 1, Darmaga, Bogor pada tanggal 1 dan 4 Desember 2010 ... 25
4. Datasheet Atmega 8 ... 26
5. Datasheet AT24C256 ... 27
6. Datasheet DS1307 ... 28
7. Datasheet Max232 ... 29
8. Skematik Rangkaian ARR ... 30
9. Layout PCB ... 31
PENDAHULUAN
Latar Belakang
Peranan air dalam kehidupan sangat besar. Mekanisme kompleks kehidupan tidak mungkin berfungsi tanpa kehadiran cairan yang berupa air. Bagian besar bumi dan makhluk hidup juga terdiri atas air. Air yang berasal dari hujan merupakan fenomena alam yang paling penting bagi terjadinya kehidupan di bumi, karena tanpa adanya air hujan, maka siklus hidrologi berubah dan keseimbangan bumi akan terganggu.1,2
Disisi lain adanya perubahan iklim secara global mengakibatkan perubahan musim yang cukup signifikan baik secara lokal maupun regional. Faktor curah hujan yang tinggi merupakan salah satu faktor utama penyebab banjir pada saat musim penghujan. Wilayah Indonesia merupakan daerah tropis yang mempunyai curah hujan sangat tinggi. Curah hujan yang tinggi, lereng yang curam di daerah hulu disertai dengan perubahan ekosistem dari tanaman tahunan atau tanaman keras berakar dalam ke tanaman semusim berakar dangkal mengakibatkan berkurangnya air yang disimpan dalam tanah, memperbesar aliran permukaan serta menyebabkan terjadinya tanah longsor. Curah hujan yang tinggi dalam kurun waktu yang singkat dan tidak dapat diserap tanah akan dilepas sebagai aliran permukaaan yang akhirnya menimbulkan banjir.1,3
Dari uraian di atas, kita mengetahui bahwa manfaat air hujan sangatlah penting bagi kehidupan. Namun, di lain pihak curah hujan yang sangat tinggi mengakibatkan suatu wilayah berpotensi terkena banjir. Untuk itu perlu dibuat sebuah alat pengukur curah hujan otomatis dan tercatat dalam sebuah database sehingga data curah hujan yang dihasilkan dapat dimanfaatkan secara optimal, sebagai contoh pemetaan daerah rawan banjir untuk mengurangi kerugian akibat banjir.3,4
Curah hujan dapat diukur dengan alat penakar curah hujan otomatis atau
manual. Alat-alat penakar hujan tersebut harus diletakkan pada daerah yang masih alamiah, sehingga curah hujan yang terukur dapat mewakili wilayah yang luas. Penghitungan curah hujan dari suatu alat penakar hujan dihitung dari volume air hujan dibagi dengan luas mulut penakar.4
Dengan menggunakan penakar hujan yang bekerja secara manual, maka pengambilan data juga dilakukan secara manual. Data yang diperoleh merupakan kumpulan curah hujan selama selang waktu tertentu dan dilakukan secara terus menerus. Ini menyebabkan tidak diketahui jam berapa terjadinya hujan pada suatu hari karena data yang didapat merupakan data rata-rata. Solusi dari masalah ini adalah pembuatan alat pengukur curah hujan dengan mengunakan microcontroller yang secara otomatis dapat menghitung dan menyimpan data curah hujan, sehingga dapat diketahui kapan waktu turunnya hujan dan kapan saat tidak ada hujan dari data yang tersimpan.4
Tujuan Penelitian
Tujuan penelitian ini adalah : 1. Membuat prototype logger penakar
curah hujan yang dapat bekerja secara otomatis dan menyimpan data secara real time untuk menghitung curah hujan dan dapat bekerja secara mandiri.
2. Melakukan komunikasi dengan
komputer untuk proses pengaturan alat serta proses download data dari memori logger.
3. Mempermudah pengolahan data
curah hujan.
TINJAUAN PUSTAKA
Curah Hujan
macam yaitu hujan halus, hujan rintik-rintik dan hujan lebat. Perbedaan terutama pada besarnya butir-butir. Hujan lebat biasanya turun sebentar saja jatuh dari awan cumulonimbus. Hujan semacam ini mempunyai intensitas yang besar.5
Salah satu tipe pengukur hujan manual yang paling banyak dipakai adalah tipe observatorium (obs) atau sering disebut ombrometer. Curah hujan dari pengukuran alat ini dihitung dari volume air hujan dibagi dengan luas mulut penakar. Alat tipe observatorium ini merupakan alat baku dengan mulut penakar seluas 100 cm2 dan dipasang dengan ketinggian mulut penakar 1,2 meter dari permukaan tanah.6
Alat pengukur hujan otomatis biasanya memakai prinsip pelampung, timbangan atau jungkitan. Keuntungan menggunakan alat ukur otomatis ini antara lain seperti, waktu terjadinya hujan dapat diketahui, intensitas setiap terjadinya hujan dapat dihitung, pada beberapa tipe alat, pengukuran tidak harus dilakukan tiap hari karena periode pencatatannya lebih dari sehari, dan beberapa keuntungan lain.7
Tinggi curah hujan diasumsikan sama di sekitar tempat penakaran, luasan yang tercakup oleh sebuah penakar hujan bergantung pada homogenitas daerahnya maupun kondisi cuaca lainnya. Penakar hujan dibagi dalam dua golongan yaitu tipe manual dan tipe otomatis. Bila yang diinginkan hanya jumlah hujan harian, maka dipakai tipe manual. Informasi lebih banyak diperoleh dari alat otomatis. Alat yang dipakai yang ada di lapangan. Makin canggih suatu alat makin banyak ketrampilan dan kemampuannya.8
Jenis-jenis hujan berdasarkan besarnya curah hujan menurut BMKG9 dibagi manjadi tiga, yaitu :
1. Hujan sedang, 20 - 50 mm per hari. 2. Hujan lebat, 50-100 mm per hari. 3. Hujan sangat lebat, di atas 100 mm per hari.
Curah hujan dibatasi sebagai tinggi air hujan yang diterima di permukaan sebelum mengalami aliran permukaan, evaporasi dan peresapan ke
dalam tanah. Data hujan mempunyai variasi yang sangat besar dibandingkan unsur iklim lainnya, baik variasi menurut tempat maupun waktu. Data hujan biasanya disimpan dalam satu hari dan berkelanjutan.10
Dengan mengetahui data curah hujan kita dapat melakukan pengamatan di suatu daerah untuk pengembangan dalam bidang pertanian dan perkebunan. Selain itu dapat juga digunakan untuk mengetahui potensi suatu daerah terhadap bencana alam yang disebabkan oleh faktor hujan.1,3,11
Pengertian Penakar hujan
Penakar hujan adalah instrumen yang digunakan untuk mendapatkan dan mengukur jumlah curah hujan pada satuan waktu tertentu. Panakar hujan mengukur tinggi hujan seolah-olah air hujan yang jatuh ke tanah menumpuk ke atas merupakan kolom air. Air yang tertampung volumenya dibagi dengan luas corong penampung, hasilnya adalah tinggi atau tebal, satuan yang dipakai adalah milimeter (mm).12
Tipping BucketSensor
Sensor yang dipakai untuk mengukur besarnya curah hujan adalah rain gauge. Jenis rain gauge bermacam-macam, ada sekitar 50 jenis rain gauge yang memenuhi standard internasional. Salah satunya adalah jenis tipping bucket.
menggerakkan counter (penghitung). Jumlah hitungan dikalikan dengan 0,2 mm atau sesuai dengan spesifikasi sensor merupakan tinggi hujan yang terjadi. Tipping bucket tidaklah seteliti instrumen standar lainnya, dikarenakan hujan dapat saja berhenti sebelum bejana berjungkit karena curah hujan belum mencapai nilai 0.2 mm. sehingga nilai curah hujan di bawah 0,2 mm tidak tercatat. Ketika bejana berjungkit, akan menggerakkan
saklar (seperti reed switch) yang
kemudian direkam secara elektronik. Cara kerja alat penakar hujan ditunjukkan pada Gambar 1.12
Keuntungan dari alat pengukur hujan tipe tipping bucket adalah karakter dari hujan (ringan, sedang atau berat) dapat dengan mudah diperoleh. Karakter hujan ditentukan oleh jumlah hujan yang turun dalam beberapa waktu (biasanya 1 jam) serta dengan menghitung jumlah jungkitan dalam jangka waktu 10 menit pengamat dapat menentukan karakter dari hujan. Contoh penakar hujan jenis tipping bucket yang terpasang di lapangan ditunjukkan pada Gambar 2.14
Gambar 1. Cara kerja penakar hujan jenis Tipping Bucket.13
Gambar 2. Penakar hujan jenis Tipping Bucket. (Difoto dengan kamera digital 9Mega
Pixel atau MP)
Kalibrasi Sensor
Kalibrasi pada tipping bucket sensor dilakukan dengan cara mengatur keseimbangan jungkitan dengan merubah ketinggian baut penahan jungkitan tersebut. Untuk mendapatkan volume yang tertampung dalam curah hujan diperoleh dari luas penampang corong pada tipping bucket dikalikan dengan tinggi curah hujan yang diinginkan. Misalnya diameter corong tabung 20 cm dan ketinggian curah hujan yang diinginkan 0.2 mm maka untuk mendapatkan volume pada setiap jungkitan dihitung dengan cara :
.
. . .
Microcontroller ATmega8
ATmega8 adalah low power
microcontroller 8 bit dengan arsitektur Reduced Instruction Set Computing
(RISC). Microcontroller ini dapat
mengeksekusi perintah dalam satu periode clock untuk setiap instruksi. Microcontroller ini diproduksi oleh atmel dari seri AVR. Penggunaan ATmega8 dikarenakan harganya yang murah dan mempunyai fasilitas yang sangat memadai untuk mengembangkan berbagai aplikasi. Selain itu, dalam perancangan alat ini tidak dibutuhkan banyak port untuk program I/0. Beberapa fitur dari ATmega8 adalah sebagai berikut15 :
• 8 Kbyte Flash Program • 512 Kbyte EEPROM • 1 Kbyte SRAM
• 2 timer 8 bit dan 1 timer 16 bit • Analog to Digital Converter • USART
m
Real Time Cl
Agar memory card pada setiap p lokal pencata diproses m DALLAS D pengantarmuk (I2C). Keluar dan waktu y masehi deng pencatuan da menyimpan n untuk tahun, detik juga penyimpanan Susunan pin DS1307 ditu Gambar 4(a) S
fi
nan pin dan
ler ATmega
r 3.
lock DS1307 pencatatan d d teridentifika pencatatan di atan. Waktu l menggunakan
DS1307 deng kaan komun ran IC ini ber yang sesuai d
gan tidak b an device la nilai dalam r bulan, hari,
tersedia n data sement
out serta tam unjukkan pa ocontroller ATm
Susunan pin ou isik RTC DS13
n tampilan f a8 ditunjukk
data hujan p asi dengan b iperlukan wa lokal pencata IC kelua gan komunik nikasi 2 ka rupa data tang dengan kalen ergantung p ain. IC DS13 register terpis jam, menit register un tara atau ala mpilan fisik R ada Gambar
menunjukk DS1307 den
3(b) microcontrolle mpilan fisik
mega8.17
mbar 5. Susunan den mori tersebut
at bermanfa g memerlu ggunaan I/O
k mengak yediakan lebi nakan untuk k
I2C adala al yang ditem n 1992 dan d g terbaru pada hanya menggu u Serial Data L).
SDA mer unikasi I2 upakan jalur k akan selalu n antarmuka R ngan CPU.21
lly
Read Only 24xx adal ggunakan tek an adanya p
t, jumlah hig n untuk semakin sedi at bagi seb ukan bany
yang sema kses memo
ih banyak I/O keperluan lain ah teknologi mukan oleh P direvisi hingg a tahun 2000 unakan 2 bua
(SDA) dan S
asi I2C dicip hanya un nkan juga dip
-komponen mampuan unt
leh karena ntara serial en-komponen ave addre entitas dari
RTC DS1307
Erasable y Memory
ah memori knologi I2C
penggunaan gh low (I/O) meng-akses ikit. Hal ini buah sistem
yak I/O. akin sedikit
ori, akan O yang dapat
n.
komunikasi Philips pada
ga versi 2.1 0. Teknologi ah jalur I/O Serial Clock
r data pada kan SCL mana sinyal
uk setiap bit
ptakan oleh ntuk serial
peruntukkan lain yang tuk diakses
itu, untuk EEPROM n yang lain
ess yang
t antarmuka k
PC dan pe
RS232 yang serial interfa untuk inter terminal atau Antar perangkat k dapat mengir saat yang komunikasi baud. Dalam rendah, baud RS232 ini d KBaud.24
Peral dibagi menja Communicati Data Termina dari DCE ada dan lain lain. adalah termin elektronik da Electronic Ind 1. “Space” ( antara +3 hin 2. “Mark” ( antara -3 hing 3. Daerah an didefinisikan port sebagai merupakan komunikasi a
erangkat lain g biasanya d face dan se
rconnection komputer ke
rmuka se
omunikasi d rim dan men
sama. K
RS232 din m akuisisi d setara denga
dapat berjalan
latan pada ko di dua kelom ion Equipme al Equipment alah modem, p
Sedangkan c nal di kompu ari serial por
dustry Associ (logika 0) ada gga +25 V. logika 1) ada gga -25V.
ntara +3V hin / tidak dipak n open circuit V.
bungan singka mA.
unikasi seria i saluran da
tampilan po akan sebagai p
serial EEPRO . Susunan itunjukkan p
akan stan antara kompu
nnya. Interf dikenal seba ring digunak
terminal e peralatan lai
erial ada dua arah y
erima data p Kecepatan d
nyatakan dal data kecepa an bit per de n hingga 11
omunikasi ser mpok, yaitu D
ent (DCE) t (DTE). Con plotter, scann contoh dati D uter. Spesifik rt merujuk p iation (EIA): alah tegangan
alah tegangan
ngga -3V tida ai.
t tidak boleh
at tidak boleh
al membutuhk ata. Gambar
Gambar 6. Su AT
Gambar 7. S
BAHAN D
pat dan Wak Penelitian ocontroller, ultas Mate getahuan Ala
or. Penelitian n yaitu, pad 0.
an dan Alat Bahan u m penelitia
ocontroller 4C256, RTC 32, baterei
tor dan kapa yang di puter, multim acktor, kabe al, catu day ket sensor.
usunan Pin EEP T24C256.23
Susunan port D da bulan Me
utama yang an ini an meter, logic pr el download a 12VDC d
t Pertanian an selama 8 ei-Desember
digunakan ntara lain
EEPROM MAX232, abel, PCB, i keperluan. erdiri dari robe, solder,
Rancangan Blok Sistem a. Logger
Sebuah data logger adalah perangkat elektronik yang mencatat data dari waktu ke waktu atau berhubungan dengan lokasi baik dengan built in instrumen atau sensor atau melalui instrumen eksternal dan sensor.
Diagram logger diperlihatkan pada Gambar 8 terdiri dari microcontroller ATmega8, Real Time Clock, Memori EEPROM, serta RS232 Transceiver. ATmega8 menghitung jumlah pulsa dari sensor curah hujan, mengambil data waktu dari RTC dan menyimpan data curah hujan serta waktu kedalam EEPROM. ATmega 8 juga bisa mengeset waktu dan menghapus data yang tersimpan dalam EEPROM. RS232 berfungsi untuk mengirimkan dan menerima perintah dari komputer ke ATmega 8.
b. Rancangan Sistem
Sistem panakar hujan otomatis terdiri dari bagian perangkat lunak komputer dan logger (perekam data). Perangkat lunak komputer dapat melakukan perintah untuk pengaturan parameter logger serta download data curah hujan harian dari memori EEPROM sesuai dengan file yang tersimpan tiap hari melalui jalur serial RS232. Selain itu juga dapat menghapus data pada EEPROM dan mengeset waktu RTC. Desain lengkap sistem panakar hujan otomatis ditunjukkan gambar dibawah ini. Gambar 9 merupakan blok diagram sistem penakar hujan otomatis.
Secara umum microcontroller mengendalikan semua proses sistem dan juga komunikasi dengan eksternal sistem. Titik berat tugas microcontroller adalah pembacaan sensor curah hujan, menggabungkannya dengan sistem perwaktu RTC, menyimpan data ke dalam EEPROM dan mengirimkannya dalam bentuk data serial jika terjadi komunikasi dengan PC.
Gambar 8. Blok diagram Logger
Gambar 9. Blok diagram sistem penakar hujan otomatis.
Metodologi Perancangan
a. Rangkaian Minimum Sistem ATmega8
Pada penelitian akan dibuat rangkaian menggunakan microcontroller ATmega8 dengan konfigurasi seperti pada Gambar 10. Rangkaian ini sebagai inti dari kontrol sistem pengukuran.
b. Rangkaian RTC DS1307
Sistem pewaktuan diperlukan
pada data logger untuk mendukung
sistematika data. Pencatatan waktu lokal dibangun menggunakan IC keluaran DALLAS DS1307 dengan komunikasi pengantarmukaan komunikasi 2 kabel (I2C).
Gambar 10. Rangkaian minimum sistem ATMega 8
Gambar 11. Rangkaian RTC DS1307
c. Rancangan EEPROM AT24C256
I2C Serial EEPROM adalah merupakan Serial EEPROM yang diakses dengan teknologi komunikasi serial. Memori ini adalah merupakan memori eksternal yang cukup efektif bagi microcontroller yang membutuhkan ekstra memori. Hal ini disebabkan karena I2C Serial EEPROM hanya membutuhkan 2 jalur I/O saja sehingga mereduksi
pemakaian I/O microcontroller.
Rangkaian EEPROM AT24C256 ditunjukkan pada Gambar 12.
d. Rancangan RS232 Converter
RS232 converter merupakan
pengubah level tegangan TTL menjadi level teganga RS232, IC yang digunakan dalam perancangan ini adalah MAX232 produksi maxim. Chip ini memiliki dapat mengakomodir 2 jalur pengirim dan 2 jalur penerima. Membutuhkan beberapa
kapastor tambahan untuk desain rangkaian. Skema rangkaian RS232 converter ditunjukkan pada Gambar 13.
e. Pemrograman Microcontroller.
Pembuatan ARR menggunakan microcontroller ATmega 8 dapat diprogram dengan CodeVisionAVR yang merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C. CodeVision memiliki IDE (Integrated development Environment) yang lengkap, dimana penulisan program, compile, link, pembuatan kode mesin (assembler) dan download program ke ATmega8 dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan microcontroller yang sudah di program. Proses download program ke microcontroller ATmega8 dapat
menggunakan System programmable
Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.
Gambar 12. Rangkaian EEPROM AT24C256
HASIL DAN PEMBAHASAN
Hasil Perancangan Rangkaian ARR Perancangan rangkaian ARR dibuat berdasarkan skematik rangkaian. Skematik tersebut kemudian dicetak menjadi PCB, selanjutnya dipasang komponen sesuai tempat yang telah dirancang. Gambar 14 menunjukkan hasil perancangan dari rangkaian ARR secara keseluruhan.
a. Rangkaian ATmega8
Microcontroller ATmega8 merupakan pusat dari proses yang akan dijalankan oleh sistem. Microcontroller menerima perintah berupa program dari komputer dan melaksanakannya. Untuk dapat berkomunikasi dengan komputer, microcontroller minimal harus memiliki sebuah rangkaian seperti yang ditunjukkan pada Gambar 8.15
PortD.7 pada ATmega8
disambungkan ke kaki LED yang negatif dan kaki LED positif diberi hambatan sebesar 560 Ω sebelum dihubungkan ke VCC. Pin Reset dihubungkan ke resistor 47 k Ω ke VCC dan ke kapasitor 3.3 µF menuju GND (ground). Kristal tidak dipasang karena menggunakan kristal internal pada ATmega8 sebesar 1 MHz. Konektor ISP dihubungkan ke pin MOSI, RST, SCK, MISO, GND dan VCC. Gambar 15 menunjukkan komponen ATmega8 yang tela terpasang.
Gambar 14. Hasil rancangan rangkaian ARR. (Difoto menggunakan kamera digital 9 MP)
Gambar 15. Rangkaian Atmega 8 yang telah terpasang. (Difoto menggunakan kamera
digital 9 MP)
Gambar 16. Rangkaian penahan goncangan.
b. Rangkaian Tipping Bucket Sensor
Pembacaan sensor penakar hujan akan memanfaatkan fasilitas interupt 0 dari microcontroller yang digabungkan dengan sumber ground. Dimana jika pin interupt 0 dipicu oleh ground maka akan menyebabkan penghitung curah hujan bekerja. Untuk menghindari adanya goncangan yang sering terjadi pada pin interupt 0 perlu dipasang resistor serta kapasitor keramik, sehingga hanya satu pulsa yang terjadi setiap terjadi jungkitan pada sensor curah hujan. Gambar 16 merupakan rangkaian penahan goncangan.
Prinsip dasar tipping bucket sensor yaitu apabila bagian permukaan dari sensor terkena medan magnet maka dua buah kontak plate tipis yang terdapat dibagian dalam sensor akan tertarik oleh medan magnet, sehingga kontak akan terhubung dan mengakibatkan logika high pada interup 0. Setiap kali kontak terhubung berarti 1 kali jungkitan pada tipping bucket yang merupakan curah hujan dalam 0.2 mm. Gambar 17 merupakan reed switch yang terpasang pada tipping bucket sensor.
470
0.1 uF Reed Switch
INT0
m reed switch. dua buah kab dihubungkan ground.
Kalib merubah ket agar dapat be jungkitan seb n reed switc g terdapat ket, yang ber an itulah yan Sensor ini ha bel untuk ke ke pin in
brasi sensor d tinggian pen ergerak ketik besar 6.28 m n jungkitan
r dengan pena
Reed switch yan et sensor. (Difo amera digital 9
Jungkitan pada engan penahan (Difoto mengg digital 9 MP
gnet un ch, berasal d
pada jungki rgerak naik
g dideteksi o anya mempun eluarannya, y
nterup dan
dilakukan den nahan jungki
a volume dal mm3. Gambar
pada tipp ahan yang su
ng terpasang pa oto menggunak
9MP)
a tipping bucke n yang sudah
mbar 19. Rang h terpasang. (Di dig
Rangkaian RTC
RTC DS gan antarmuk 2 pin yan ocontroller. A serta SCL.
up resistor 1 sheet. Pada al 32.768 s uk menahan
ketika catu d rai eksternal . Hasil ran njukkan pada
Pada per mbar 9, pin
gan kristal pem sar 32 MHz. ah bateri CM ngan yang a litas kerja RT tu saat catu d
gai ground ukan catu d daya yang m iri dari regul k menjamin 5(SDA) dan yang diguna ik I2C d gai jalur data
.
Untuk m
tu diatur m kut :
set_jam(void) //R,T,14:00:
gkaian RTC DS ifoto menggun gital 9 MP)
C DS1307
S1307 merup ka i2C sehin ng dihungk
Kedua pin Kedua pin m 10 Kohm ses
rangkaian m sebagai sum
data waktu daya dimatika RTC dalam pe
daya utama pa d, sedangka dayanya mela
menuju RTC lator 78L05 catu daya u pin 6 (SCL) akan untuk
dengan mic
waktu yang d
melakukan menggunakan
d)
:00,16:03:11*
S1307 yang nakan kamera
pakan RTC ngga hanya kan dengan
ini adalah memerlukan suai dengan menggunaan
eperti pada dihubungkan
kuensi clock bungkan ke i catu daya gsi menjaga enghitungan adam. Pin 4 an sebagai
alui pin 8. C disediakan
sebesar 5V utama RTC. merupakan
komunikasi rocontroller diambil dari
pengesetan n program
//012345678901234567890123 + dat_ser[11];
// data hari/tgl
dat_ser[13] = dat_ser[13]*10 + dat_ser[14];
dat_ser[16] = dat_ser[16]*10 + dat_ser[17];
dat_ser[19] = dat_ser[19]*10 + dat_ser[20];
// write to rtc
d. Rangkaian EEPROM AT24C256
Perancangan pada Gambar 10, pin 1 sampai dengan 4 dihubungkan ke GND. Pin 5(SDA) dan pin 6 (SCL) merupakan pin yang digunakan untuk komunikasi teknik I2C seperti pada RTC. Pin 7 merupakan write protect yang disambung ke resistor 10 k Ω dan selanjutnya dihubungkan ke VCC. Pin 8 sebagai masukan catu daya yang dihubungkan ke VCC. Gambar 20 merupakan hasil rangkaian AT24C256.
Pembacaan dan pencatatan data ke EEPROM menggunakan program : void read24C256(char slave, unsigned int ads, int count)
{
if (i2c_start() && i2c_write(slave)) { i2c_write(ads >> 8); to slave %02X\r\n", slave);
}
void write24C256(char slave, unsigned int ads, int count)
{
if (i2c_start() && i2c_write(slave)) { i2c_write(ads >> 8); // uses a two-byte address
i2c_write(ads & 255); // lo-byte time for eeprom to write
} else
printf("the 24C256 did not respond to slave %02X\r\n", slave);
}
e. Rangkaian MAX232 Converter
Pemasangan MAX232 seperti pada Gambar 11, dilakukan dengan menghubungkan pin 1 dan 3 ke kaki positif kapasitor 10 µF. Sedang pin 4 dan 5 dihubungkan ke kaki negative dari
kapasitur 10 µF tersebut. Pin 2
dihubungkan ke kaki positif kapasitor 10 µF yang telah terhubung ke VCC. Untuk pin 6 dihubungkan ke kaki negative kapasitor 10 µF yang telah terhubung ke
GND. Pin 11 (TXD) dan 12 (RXD)
digunakan untuk pengiriman dan penerimaan data dengan microcontroller.
Pin 13 (RXDIN) dan 14 (TXDA)
Gambar 20. Rangkaian AT24C256. (Difoto dengan kamera digital 9 MP)
Gambar 21. Rangkaian MAX232. (Difoto dengan kamera digital 9 MP)
Program untuk mengeset ARR dengan komputer yaitu :
void order_serial(void) {
// R,T,00:00:00,00:00:00* // 0123456789012345678901234
delay_ms(10); PORTD.7 = 0;
for(index_in = 2; index_in <=30; index_in++){
dat_ser[index_in] = dat_ser_in[index_in]-0x30;
}
kontrol_input = dat_ser_in[2]; if(kontrol_input == 'T'){ // Time set_jam();
status(); }
if(kontrol_input == 'D'){ // Download status();
download(); }
if(kontrol_input == 'S'){ // Status status();
}
if(kontrol_input == 'E'){ //Erase erase_data();
status(); }
status_serial_in = 0; index_in = 0; PORTD.7 = 1; }
Pemasangan pin 2 (transmitted data) dan pin 3 (received data) pada DB9 dihubungkan menyilang dengan ARR. Pin 2 ke RXDIN dan pin 3 ke TXDA. Ini dikarenakan transmitter data komputer agar masuk ke receiver dari ARR dan receiver data komputer memperoleh data dari transmitter ARR, sehingga terjadi komunikasi dua arah yang dapat mengirim dan menerima data secara bersamaan.
f. Flowchart Umum Sistem
Microcontroller pertama kali menginisialisasi komunikasi serial (USART), pewaktu (RTC), memory, dan counter. Sebelum microcontroller melakukan pembacaan sensor curah hujan kondisi counter harus sama dengan 0.
Selanjutnya microcontroller akan
Gambar 22. Flowchart umum sistem.
g. Flowchart Penghitung Pulsa (Pembacaan Sensor Curah Hujan)
Penghitungan pulsa pada pembacaan sensor curah hujan dilakukan
dengan menghidupkan fungsi interup pada microcontroller yang ditunjukkan pada Gambar 23. Jika sensor curah hujan
aktif maka microcontroller akan
membacanya dengan melakukan penghitungan jumlah pulsa yang terjadi karena reed switch yang ada dalam sensor curah hujan dalam kondisi high akibat air hujan yang menggerakkan jungkitan pada sensor tersebut. Penghitungan pulsa tersebut dilakukan secara terus menerus kemudian menyimpannya ke dalam memory tiap satu jam.
h. Flowchart Komunikasi PC
Proses komunikasi dilakukan jika ada interuksi dari PC. Perintah yang masuk dikirim melalui serial dengan format file text. Perintah tersebut berisi download data, pengaturan waktu dan penghapusan memory.
Gambar 24 menunjukkan flowchart umum perancangan sistem ARR.
H
Hasil Uji L Hujan mengetahui k dilakukan su yang telah Hasil dari p dimanfaatkan ah setting
aktu? kinerja alat uatu proses p diimplementa pengujian se n untuk mem
rhasilan per sistem, sehin at digunakan aan kinerja ebagai dasar
apat 2 pengu kukan, yai dan pengu aboratorium b
Kirim data ke
Setting data R
Hapus data
omunikasi PC.
Analisa Cur
ancangan y lumnya, in erja sistem y
kan den gan. Un
ini maka pe pengujian sist asikan terseb elanjutnya da
mpelajari sej rancangan ngga dari h n sebagai acu a, dan da
pengemban
ujian kinerja itu penguj
bandingan a gan alat dari B patan kinerja
gujian Labor Pada p kukan berdas kur dari gukuran cura meter yang gujian tipp gujian kinerja gan tipping gukuran curah
gujian Tipping
Pengujian h ditentukan. ah 6.28 mm3 h hujan 0.2 brasi yang
lumnya. Ga kaian penguji
Gambar 25. Pe nggunakan pip kamera
erja alat y pengujian in an baik se aka akan
ian lapang apangan alat yang te BMKG untuk
sistem.
ratorium engujian la sarkan varia
sistem, pad ah hujan ot
akan diuk ing bucke
alat, serta pe bucket sen h hujan.
g Bucket Sens
n ini bertuj rja sensor c cket terhadap tertampung n cara mem g kedua jung sor dengan v Volume yang
untuk setiap 2 mm sesu g telah ambar 25 ian tipping bu
engujian tipping pet. (Difoto me
a digital 9 MP)
yang sudah ni alat dapat esuai yang
dilanjutkan gan. Pada
dilakukan elah dibuat
mengetahui
aboratorium abel-variabel
da sistem tomatis ini, kur adalah et sensor, engujian alat nsor dalam
sor
juan untuk curah hujan p ketepatan . Pengujian mberikan air gkitan yang volume yang g digunakan p ketinggian uai dengan
Tabel 1 berikut menunjukkan hasil pengujian tipping bucket sensor dengan menggunakan pipet tipe morh untuk memasukkan air ke dalam penampung.
Tabel 1 Hasil Pengujan Tipping Bucket Sensor.
N o
Volume (mm3)
1 6.3 -0.01 0.0001
2 6.2 0.09 0.0081
3 6.3 -0.01 0.0001
4 6.4 -0.11 0.0121
5 6.2 0.09 0.0081
6 6.3 -0.01 0.0001
7 6.3 -0.01 0.0001
8 6.4 -0.11 0.0121
9 6.2 0.09 0.0081
10 6.3 -0.01 0.0001
Dari hasil pengujian dapat dicari penyimpangan nilai rata-rata sampel terhadap nilai besaran fisis sebenarnya yang dinyatakan sebagai suatu deviasi standar rata-rata sampel, yang dirumuskan. 26
Dimana :
X = Besaran fisis yang diukur; = Nilai terbaik pengganti nilai
besaran fisis yang sebenarnya; = Nilai percobaan ke-i;
n = Jumlah percobaan yang dilakukan; = Standar deviasi rata-rata sampel.
∆
Diperoleh nilai ∆X = 0.0233 mm dan = 6.29 mm.
Suatu percobaan dikatakan memiliki ketelitian tinggi jika kesalahan
percobaan (∆X) kecil. Dan suatu
percobaan dikatakan memiliki ketepatan tinggi jika kesalahan sistematik percobaan tersebut kecil. Secara matematik ketelitian dan ketepatan suatu percobaan dapat ditulis sebagai berikut :
Dimana :
H = Harga seharusnya;
= Harga rata-rata hasil percobaan.
Dari data percobaan diperoleh nilai ketelitian sebesar 99.63% sedangkan ketepatannya 99.84%.
Pengujian Kinerja Alat
Pengujian kinerja alat dilakukan dengan pengisian pengaturan ke dalam program ATmega8 yang dimasukkan
menggunakan hyperterminal melalui
fasilitas send file text. Pengujian berupa pengisian file pengaturan sesuai dengan yang dibutuhkan. Pada perancangan sistem, penyusunan data diberi tambahan atribut HEADER untuk menentukan awal data dan STOP untuk menetukan akhir data, sedangkan nilai data berada di antaranya. Tujuan dari pemberian atribut adalah untuk mengenali data yang dikirimkan oleh data logger ke terminal
unit. Gambar 26 merupakan hasil
d
Gambar 26. menggun
Gambar 27. Pe hypertermina
Data dimasukkan m 1. Status ala
Pengatura
. Pengujian ala nakan kamera d
engiriman file t l. (Diambil den
pada kompute
pengat meliputi: at
an yang dik mendapatkan
berikut :
R” merupaka gaturan, sed an perintah un
lat. ARR a
at ARR. (Difoto digital 9 MP)
text mengguna ngan print scre er)
turan y
kirim ke sist status terak
an header un dang huruf ntuk mengeta
Download dat Untuk pengatu file.txt dengan R,D,*
Huruf “D” bahwa file pen perintah ke s download dat Gambar 28. rsimpan dalam print scree ta
uran bagian i n isi :
merupakan ngaturan ini m sistem untuk ta yang ditunj
mpan denga h hujan perjam
.
nload data cura ambil dengan p a komputer)
mat data curah h file.txt. (Diam en pada kompu
ni diberikan
penunjuk memberikan melakukan jukkan pada
an format
hujan yang mbil dengan
Format data yang tersimpan ditunjukkan pada Gambar 29.
Atribut tanggal, bulan dan tahun pada pembuatan file ini disimpan di dalam EEPROM dengan memanfaatkan data tanggal, bulan dan tahun yang diambil dari RTC. Hal ini bertujuan untuk mempermudah inventarisasi sistem back up data.
3. Hapus data
Penghapusan data dari EEPROM dilakukan dengan memsaukkan file pengaturan yang berisi :
R,E,*
Huruf “E” merupakan kode untuk perintah hapus data.
4. Pengaturan waktu
Pengaturan waktu dilakukan dengan file yang berisi tulisan waktu pada saat itu, dengan format penulisan : R,T, hh:mm:ss,dd:mm:yy *
“T” merupakan perintah pengaturan waktu. Untuk “hh:mm:ss” diisi sesuai dengan jam, menit, detik. Sedangkan “dd:mm:yy” berupa hari, tanggal dan tahun. Secara otomatis waktu di RTC akan sesuai dengan pengaturan yang telah ditentukan.
Pengujian Alat dengan Tipping Bucket Sensor dalam Pengukuran Curah Hujan
Setelah dilakukan pengujian tipping bucket sensor dan kinerja alat, selanjutnya alat dan sensor tersebut dipasang pada tempat terbuka untuk pengujian pengukuran curah hujan. Pengujian dilakukan pada bulan November 2010. Data yang tercatat kemudian disimpan ke dalam file.txt dan selanjutnya diolah dalam microsoft exel. Hasil pengukuran curah hujan kemudian dibandingkan dengan hasil yang didapat dari BMKG Darmaga yang diukur dengan menggunakan penakar hujan jenis Hellman dan Observatorium.
a. Penakar Hujan Jenis Hellman
Penakar hujan jenis Hellman termasuk penakar hujan yang dapat mencatat sendiri. Jika hujan turun, air hujan masuk melalui corong yang berdiameter 16cm dan dipasang
dengan tinggi 1.2m dari permukaan tanah. Air yang masuk ke dalam corong kemudian terkumpul dalam tabung tempat pelampung. Air ini menyebabkan pelampung serta tangkainya terangkat (naik). Pada tangkai pelampung terdapat tongkat pena yang gerakkannya selalu mengikuti tangkai pelampung. Gerakkan pena dicatat pada pias yang digulung pada silinder jam yang dapat berputar dengan bantuan tenaga per. Jika air dalam tabung hampir penuh, pena akan mencapai tempat teratas pada pias. Setelah air mencapai atau melewati puncak lengkungan selang gelas, air di dalam tabung akan keluar sampai ketinggian ujung selang dalam tabung dan tangki pelampung dan pena turun dan pencatatannya pada pias merupakan garis lurus vertikal. Dengan demikian jumlah curah hujan dapat ditentukan dengan menghitung jumlah garis-garis vertikal yang terdapat pada pias. Penakar hujan tipe Hellman ditunjukkan pada Gambar 30.12
b. Penakar hujan Observatorium
Penakar hujan Observatorium (OBS) adalah jenis penakar hujan manual. Jumlah air hujan yang tertampung diukur dengan gelas ukur yang telah dikonversi dalam satuan tinggi. Diameter corong sebesar 1 cm dan dipasang dengan tinggi 1.2m dari permukaan tanah. Pengamatan dilakukan sekali dalam 24 jam yaitu pada pagi hari. Hujan yang diukur pada pagi itu adalah data hujan satu hari kemarin. Penakar hujan OBS ditunjukkan pada Gambar 31.12
Pengujian Lapangan
Pengujian pertama dilakukan dengan cara membandingkan alat yang telah dibuat dengan penakar curah hujan dari BMKG yang terletak di Darmaga. Alat dipasang berdekatan dengan penakar hujan tipe Hellman. Pemasangan dilakukan pada tanggal 1 Desember 2010 yang terlihat pada Gambar 32.
Data yang tersimpan kemudian dibandingkan untuk mengetahui ketepatan, kesalahan serta resolusi dari alat yang diuji dengan data pembanding yang berasal dari penakar hujan Hellman dan Observatorium.
Gambar 31. Penakar Hujan OBS. (Difoto
dengan kamera digital 9 MP)
Gambar 32. Pemasangan ARR dengan penakar hujan tipe Hellman. (Difoto menggunakan
kamera digital 9 MP)
Tabel 2. Hasil Pengamatan di Stasiun Klimatologi Klas 1, Darmaga, Bogor pada tanggal 1 dan 4 Desember 2010.
Data Tanggal 1 Desember
Data Tanggal 4 Desember
Ja m
Hujan tiap
jam (mm) Ja
m
Hujan tiap jam (mm) Hellm
an
AR R
Hellm an
AR R
8 0 0 8 0 0
9 0 0 9 0 0
10 0 0 10 0 0
11 0 0 11 0 0
12 0 0 12 0 0
13 0 0 13 0.3 0.2
14 0 0 14 0 0
15 0 0 15 0.1 0.2
16 0.2 0.2 16 0.2 0.2
17 0.4 0.4 17 1.8 1.6
18 0.1 0 18 1.2 1
19 0 0 19 0.4 0.4
20 0 0 20 0 0
21 0 0 21 0 0
22 0 0 22 0.1 0.2
23 0 0 23 0.1 0
24 0 0 24 0.1 0.2
1 0 0 1 0.1 0
2 0 0 2 0 0
3 0 0 3 0 0
4 0 0 4 0 0
5 0 0 5 0 0
6 0 0 6 0 0
7 0 0 7 0 0
Gambar 33. Data hujan tanggal 1 Desember 2010 menggunakan Hellman.
Gambar 34. Data hujan tanggal 1 Desember 2010 menggunakan ARR
Gambar 33 dan 34 merupakan data curah hujan yang terukur menggnakan Hellman dan ARR pada tanggal 1 Desember 2010. Sedangkan Gambar 35 dan 36 merupakan data curah hujan yang terukur menggnakan Hellman dan ARR pada tanggal 4 Desember 2010.
Gambar 35. Data hujan tanggal 1 Desember 2010 menggunakan Hellman.
Gambar 36. Data hujan tanggal 4 Desember 2010 menggunakan ARR.
Dari data yang diperoleh dapat dicari nilai ketepatan yang terukur oleh ARR dengan membandingkan data hasil pengukuran penakar hujan tipe Hellman. Ketepatan dan kesalahan dapat dicari dengan menggunakan rumus :
%
%
Ketepatan pengukuran pertama, tanggal 1 Desember 2010 :
. .
. %
. %
. .
. % . %
Ketepatan pengukuran kedua, tanggal 4 Desember 2010
.
. %
. % .
. % . %
. % . . %
. % .
. %
Nilai rata-rata ketepatan dan kesalahan yang didapat dari kedua pengukuran sebesar 88.3% dan 11.7%. Data yang terukur tidak terlalu jauh dengan data kalibrator dari BMKG. Terdapat sedikit perbedaan pengukuran saat terjadi hujan, ini dikarenakan resolusi alat yang diuji sebesar 0.2 mm sedang
resolusi kalibrator sebesar 0.1 mm. Perbedaan pengukuran dikarenakan tipping bucket sensor akan bergerak jika volume penampung sudah 0.2 mm, jika kurang dari itu maka tidak ada respon apapun dari sensor, sehingga saat hujan di bawah 0.2 mm, alat tidak melakukan pengukuran.
Pengujian kedua dilakukan dengan meletakkan alat yang telah dibuat berlainan tempat dengan alat pengkalibrasi milik BMKG. Pemasangan alat terletak di Semplak, kecamatan Bogor Barat yang berjarak sekitar 15 km dari Stasiun Klimatologi Klas 1, Darmaga Bogor.
Dari hasil pengukuran didapat data curah hujan dari masing-masing alat, untuk ARR dan Hellman diperoleh data curah hujan per jam, sedang untuk observatorium hanya data perhari saja. Gambar 37, 38 dan 39 merupakan pengukuran curah hujan per hari menggunakan OBS, Hellman dan ARR. Nilai curah hujan berbeda karena tempat pemasangan alat tidak dalam satu wilayah. Tetapi dari pola yang terbentuk, terlihat bahwa intensitas hujan dalam satu hari hampir sama. Besarnya intensitas curah hujan ini berbeda-beda tergantung dari lamanya curah hujan dan frekuensi kejadiannya. Intensitas curah hujan yang tinggi pada umumnya berlangsung dengan durasi pendek dan meliputi daerah yang tidak luas. Hujan yang meliputi daerah luas, jarang sekali dengan intensitas tinggi, tetapi dapat berlangsung dengan durasi cukup panjang.
Gambar 37. Pengukuran curah hujan per hari menggunakan Observatorium.
Gambar 38. Pengukuran curah hujan per hari menggunakan Hellman.
Gambar 39. Pengukuran curah hujan per hari
menggunakan ARR.
Dari Gambar 37, 38 dan 39 dapat disimpulkan bahwa alat yang dibuat yaitu ARR (Automatic Rain Recorder) dapat berfungsi dengan baik. Alat dapat bekerja
dengan sensor dan menyimpan data
kedalam EEPROM sesuai dengan waktu terjadinya hujan. Microcontroller dapat melakukan pembacaan sensor curah hujan, menggabungkannya dengan sistem perwaktuan RTC, menyimpan data ke dalam EEPROM dan mengirimkannya dalam bentuk data serial jika terjadi
komunikasi dengan PC. Data yang
KESIMPULAN DAN SARAN
Kesimpulan
Berdasarkan hasil pengamatan, pengujian dan analisis hasil perancangan yang dibuat dapat diperoleh beberapa kesimpulan sebagai berikut :
1. Sistem Automatic Rain Recorder
(ARR) yang dirancang mampu mengukur curah hujan dan dapat menyimpan data dengan baik. Alat dapat bekerja dengan sensor dan menyimpan data kedalam EEPROM sesuai dengan waktu terjadinya hujan. Microcontroller dapat melakukan pembacaan sensor curah hujan, menggabungkannya dengan sistem perwaktuan RTC, menyimpan data ke
dalam EEPROM dan mengirimkannya dalam bentuk data serial jika terjadi komunikasi dengan PC. Data curah hujan yang disimpan dapat langsung dimasukkan ke dalam microsoft exel tanpa harus mengetik ulang sehingga memudahkan dalam pengolahan dan analisis data.
2. Tingkat keakurasian tipping bucket sensor tegantung dari ketepatan kalibrasi sensor tersebut. Hasil pengujian diperoleh nilai ketepatan sebesar 88.3%. Adanya perbedaan data yang didapat antara alat yang diuji dengan kalibratornya dikarenakan perbedaan resolusi kedua alat tersebut. Resolusi kalibratornya adalah 0.1 mm sedangkan resolusi tipping bucket sensor yang digunakan sebesar 0.2 mm. Ini menyebabkan jika hujan dibawah 0.2 mm maka tipping bucket sensor tidak dapat membacanya sehingga terjadi perbedaan data.
3. Penyimpanan data ARR dilakukan
secara otomatis, sehingga pengambilan data curah hujan tidak perlu dilakukan secara rutin seperti pada penakar hujan manual. Data
curah hujan tidak akan hilang selama sistem bekerja dengan normal dan masih ada catu daya untuk menjalankan sistem.
Saran
Untuk pengembangan lebih lanjut dapat ditambahkan suatu sistem telemetri agar pengamatan dapat dilakukan secara real time. Penggunaan SD Card dapat memudahkan dalam melakukan download data, sehingga tidak perlu lagi melakukan komunikasi serial untuk pengambilan data dan juga kapasitas untuk menyimpan data curah hujan semakin besar. Untuk pengamatan dalam jangka watktu yang lama dapat menggunakan solar panel dan juga accu sebagai sumber tegangan untuk menjalankan sistem.
DAFTAR PUSTAKA
1. Amien, I., Pawitan, H. & Pasandaran,
E. (2005). Sistem Informasi
Sumberdaya Iklim dan Air. Bogor: Balitklimat.
2. Prawirowardoyo, S. (1996).
Meteorologi. Bandung: ITB.
3. Kartasapoetra, A. G. (2006).
Klimatologi Pengaruh Iklim Terhadap Tanah dan Tanaman Edisi Revisi. Jakarta: PT Bumi Aksara.
4. Nasir, A. A. & Manan, M. E. (1980). Alat – Alat Pengukur Cuaca di Stasiun Klimatologi Pertanian. Bogor: IPB.
5. Karim, K. (1985). Diktat Kuliah Dasar-Dasar Klimatologi. Banda Aceh: Universitas Syiah Kuala.
6. Jumin, Basri, H. (2002). Agroekologi Suatu Pendekatan Fisiologi. Jakarta: PT
Raja Grafindo Persada.
7. Sutedjo, Suryani, M. & Kartasapoetra. (2005). Pengantar Ilmu Tanah. Jakarta : PT Rineka Cipta.
8. Rao, N., S., Subba, (1994).
Mikroorganisme Tanah dan Pertumbuhan
9. Anonim. (2010). Hujan. http://www.wikipedia.co.id/wiki/hujan . [15 April 2010].
10. Handoko. (1993). Klimatologi Dasar. Jakarta: PT Dunia Pustaka Jaya. 11. Manan, E. (1982). Klimatologi Dasar.
Bogor: IPB.
12. Anonim. (2010).
http://www.klimatologibanjarbaru.co
m/artikel/2008/12/alat-alat-klimatologi-konvensional. [15 April 2010].
13. Anonim. (2010).
http://www.weathershack.com/educati on/tipping-bucket-rain-gauge.html. [15 April 2010].
14. Erwin MI, Sakti I dan Wahyu Y.
(2003). Pengukuran Curah Hujan Berbasis SCADA. Jurnal Elektronika dan Telekomunikasi 2(3): 1-6.
15. Kurniawan, D. (2009). ATmega8 dan Aplikasinya. Jakarta: PT. Elex Media Komputindo.
16. Anonim. (2010).
http://www.hvwtech.com/products/59 5/mega8.gif. [15 April 2010].
17. Anonim. (2010).
http://www.xyzeebo.com/img/p/154-172-large.jpg. [15 April 2010].
18. Anonim. (2010).
http://www.sparkfun.com/datasheets/ Components/DS1307.pdf. [15 April 2010].
19. Anonim. (2010).
http://wahyusp.files.wordpress.com/2 009/06/ds1305_pinout.gif. [15 April 2010].
20. Anonim. (2010).
http://www.futurlec.com/Pictures/ET-MINI_DS1307_B.jpg. [15 April 2010].
21. Anonim. (2010). http://www.maxim-ic.com/images/qv/2688.gif. [15 April 2010].
22. Anonim. (2010).
http://www.datasheetcatalog.org/datas heet/atmel/doc0670.pdf. [15 April 2010].
23. Anonim. (2010).
http://i00.i.aliimg.com/photo/v0/4012 59306/AT24C256.summ.jpg. [15 April 2010].
24. Anonim. (2010).
http://www.datasheetcatalog.org/datas heet/texasinstruments/max232.pdf. [15 April 2010].
25. Anonim. (2010).
http://blogs.unpad.ac.id/Ishakq/wp-content/uploads/9-pinout.gif. [15 April 2010].
26. Anonim. (2006). Penuntun Praktikum Fisika. Bogor: Departemen Fisika IPB.
27. Lakitan. (1985). Dasar-Dasar
Klimatologi. Jakarta: PT Raja Gravindo Persada.
28. Blocher, R. (2003). Dasar
Elektronika. Yogyakarta: Andi.
29. Bishop, O. (2004). Dasar – Dasar Elektronika. Jakarta: Erlangga.
30. Budiharto, W. (2007). Paduan
Praktikum Mikrokontoler AVR ATMega 16. Jakarta: PT. Elex Media Komputindo.
31. Andrianto, H. (2008). Pemrograman Microcontroller AVR ATmega16 Menggunakan Bahasa C. Bandung: Informatika.
32. Heryanto, A. & Wisnu Adi P. (2008). Pemrograman Bahasa C untuk Microcontroller
ATmega8535.Yogyakarta: Andi. 33. Tipler, P., A. (200)1. Fisika Untuk
Sains dan Teknik Ed Ke-3 Jilid 1. Prasetyo L, Adi R W, penerjemah: Sutrisno J, editor. Jakarta: Erlangga.
Terjemahan dari: PHYSICS for
Scientists and Engineers, 3rd Ed. 34. Giancoli, D., C.( 2001). Fisika Ed
Hasil Pengamatan di Stasiun Klimatologi Klas 1, Darmaga, Bogor pada tanggal 1 dan 4 Desember 2010
#include <mega8.h>
// I2C Bus functions #asm
.equ __i2c_port=0x15 ;PORTC .equ __sda_bit=5
.equ __scl_bit=4 #endasm
#include <i2c.h> #include <delay.h>
// DS1307 Real Time Clock functions #include <ds1307.h>
// Standard Input/Output functions #include <stdio.h>
// Declare your global variables here volatile unsigned char h,m,s,dd,mm,yy; unsigned char i,ii;
unsigned int a,b;
unsigned int addrs,save_set; unsigned char cal;
unsigned char eep[65]; unsigned char eep2[65];
volatile unsigned char hujan_jam;
unsigned char index_in,kontrol_input; unsigned char status_serial_in=0; unsigned char dat_ser_in[25]; unsigned char dat_ser[25]; unsigned char status_simpan=0;
// External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void) {
// Place your code here delay_ms(3);
PORTD.7 = 0; delay_ms(5);
PORTD.7 = 1; hujan_jam++; }
interrupt [USART_RXC] void usart_rx_isr(void) {
dat_ser_in[index_in] = UDR; //Take data from serial buffer
if (index_in > 0) {
if(status_serial_in == 0){
if (dat_ser_in[index_in] == 0x0d) status_serial_in = 1;
if (index_in++ > 100) index_in =100; }
{
if (dat_ser_in[index_in] == 0x0d)index_in++; if (dat_ser_in[index_in] == 'R')index_in++; }
}
void read24C256(char slave, unsigned int ads, int count) {
if (i2c_start() && i2c_write(slave)) { i2c_write(ads >> 8);
i2c_write(ads & 0xFF); i2c_start();
i2c_write(slave | 1); ads = 0;
while (count--)
eep2[ads++] = i2c_read(1); i2c_read(0);
i2c_stop(); } else
printf("the 24C256 did not respond to slave %02X\r\n", slave); }
void write24C256(char slave, unsigned int ads, int count) {
if (i2c_start() && i2c_write(slave)) {
i2c_write(ads >> 8); // uses a two-byte address i2c_write(ads & 255); // lo-byte
ads = 0; while (count--)
i2c_write(eep[ads++]); i2c_stop();
delay_ms(10); // allow time for eeprom to write
} else
printf("the 24C256 did not respond to slave %02X\r\n", slave);
}
void build_data(void) {
eep[0]=dd; eep[1]=mm; eep[2]=yy;
// eep[3]=h; // save per menit // eep[4+m]=hujan_jam;
eep[3+m]=hujan_jam; // save per jam
}
void read_pointer(void) {
read24C256(0xA0, 0x7D00, 64); delay_ms(10); addrs = eep2[0] + eep2[1]; save_set = eep2[3];
void erase_data(void) {
eep[1]=0; eep[0]=0;
write24C256(0xA0, 0x7D00, 64);
}
void set_jam(void) {
//R,T,17:44:08,29:03:08* //012345678901234567890123 // 1 2
if(dat_ser[6]+0x30 == ':'){
if(dat_ser[9]+0x30 == ':'){
// printf("OK \n\r"); dat_ser[4] = dat_ser[4]*10 + dat_ser[5];
dat_ser[7] = dat_ser[7]*10 + dat_ser[8]; dat_ser[10] = dat_ser[10]*10 + dat_ser[11];
// data hari/tgl
dat_ser[13] = dat_ser[13]*10 + dat_ser[14]; dat_ser[16] = dat_ser[16]*10 + dat_ser[17]; dat_ser[19] = dat_ser[19]*10 + dat_ser[20];
// write to rtc
rtc_set_time(dat_ser[4],dat_ser[7],dat_ser[10]); rtc_set_date(dat_ser[13],dat_ser[16],dat_ser[19]);
} }
}
void download(void) {
read_pointer(); for(i=0;i<addrs;i++){ a=i*64;
read24C256(0xA0, a, 64); delay_ms(10);
printf("ARR,02,"); printf("%03d,",i); for(ii=0;ii<3;ii++){
printf("%02d:",eep2[ii]); }
//printf("%02d,",eep2[2]);
for(ii=4;ii<28;ii++){
printf("%03d,",eep2[ii]); }
printf("*\n\r"); }
void status(void) {
read_pointer();
rtc_get_time(&h,&m,&s);
rtc_get_date(&dd,&mm,&yy); printf
("ARR,01,%02d:%02d:%02d,%02d:%02d:%02d,%03d,%01d,%01d.%01d,*\n\r", h,m,s,dd,mm,yy,addrs,save_set,eep2[5],eep2[7]);
}
void set_save(void) {
// R,V,0,*
// 01234567890 if(dat_ser[4]< 2) {
eep[0]=dat_ser[4];// 0 save/minute ; 1 save/30minute ; 2 save/hour
write24C256(0xA0, 0x7D03, 1); delay_ms(10);
read_pointer();
if(save_set == 0){ /*save per menit*/ rtc_write(0x0b,0x80);
rtc_write(0x0c,0x80);
rtc_write(0x0d,0x80); rtc_write(0x0e,6); // save interrupt enable }
if(save_set == 1){ /* save per jam*/ rtc_write(0x07,0x00);
rtc_write(0x08,0x00); rtc_write(0x09,0x80);
rtc_write(0x0a,0x80); rtc_write(0x0e,5); // save interrupt enable }
}
}
void set_calibration(void) {
// R,C,0.0,* // 01234567890
eep[0]=dat_ser[4]; eep[1]=dat_ser[5]; eep[1]=dat_ser[6];
write24C256(0xA0, 0x7D05, 3); delay_ms(10);
}
// R,T,00:00:00,00:00:00* // 0123456789012345678901234
// 1 2
delay_ms(10); PORTD.7 = 0;
for(index_in = 2; index_in <=30; index_in++){ dat_ser[index_in] = dat_ser_in[index_in]-0x30; }
kontrol_input = dat_ser_in[2];
if(kontrol_input == 'T'){ // Time .... setting waktu set_jam();
status(); }
if(kontrol_input == 'D'){ // Download .... dowload data status();
download(); }
if(kontrol_input == 'S'){ // Status .... status();
}
if(kontrol_input == 'E'){ //Erase... delete pointer erase_data();
status(); }
status_serial_in = 0; index_in = 0;
PORTD.7 = 1; }
void simpan_data(void) {
PORTD.7 = 0;
rtc_get_time(&h,&m,&s); rtc_get_date(&dd,&mm,&yy); read_pointer();
a=(addrs-1)*64;
b=a+h+3; // save per jam build_data();
if(addrs < 499) {
if (m>0){
eep[0]=hujan_jam; write24C256(0xA0, b, 1);
delay_ms(10); }
if (m==0){
eep[0]=hujan_jam;
if(h==0)write24C256(0xA0, b+24, 1); // save per jam
hujan_jam = 0; }
}
if(h==0){ // if day change make new line`s if (m==0){
addrs++; if(addrs>0xff){
eep[1]=addrs-0xff; eep[0]=0xff;
} else{
eep[1]=0; eep[0]=addrs; }
write24C256(0xA0, 0x7D00, 64); delay_ms(10);
read_pointer();
a=(addrs-1)*64; b=a+h+3; // save per jam
rtc_get_date(&dd,&mm,&yy); build_data();
eep[2]=yy;
write24C256(0xA0, a, 4); delay_ms(50);
eep[0]=hujan_jam; write24C256(0xA0, b, 1); delay_ms(10);
} }
status_simpan = 0; PORTD.7 = 1;
}
void main(void) {
// Declare your local variables here status_simpan = 0;
hujan_jam = 0;
// Input/Output Ports initialization // Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00; DDRB=0x00;
// Port C initialization
// Func6=In Func5=Out Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=1 State4=P State3=T State2=T State1=T State0=T //PORTC=0x30;
//DDRC=0x20; PORTC=0x00; DDRC=0x18;
// Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=1 State6=T State5=P State4=T State3=P State2=P State1=T State0=T
PORTD=0xAC; DDRD=0x80;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=FFh
// OC2 output: Disconnected //ASSR=0x00;
//TCCR2=0x00; //TCNT2=0x00; //OCR2=0x00;
// External Interrupt(s) initialization // INT0: On
// INT0 Mode: Falling Edge // INT1: Off
GICR|=0x40; MCUCR=0x02; GIFR=0x40;
//MCUCR=0x00;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous
// USART Baud Rate: 9600 (Double Speed Mode) UCSRA=0x02;
UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0C;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
for(i=0;i<3;i++){ PORTD.7 = 0; delay_ms(100); PORTD.7 = 1;
delay_ms(100); }
// I2C Bus initialization i2c_init(); PORTC.3 = 0;
read_pointer(); //addrs=0; if (addrs==0){
rtc_get_time(&h,&m,&s); rtc_get_date(&dd,&mm,&yy); build_data();
a=0;
b=3+m;
write24C256(0xA0, a, 4); delay_ms(20);
addrs=1;//++; eep[1]=0; eep[0]=addrs;
write24C256(0xA0, 0x7D00, 64); delay_ms(20); }
status();
// DS1307 Real Time Clock initialization // Square wave output on pin SQW/OUT: Off // SQW/OUT pin state: 0
//rtc_init(0,0,0);
//rtc_write(0x0b,0x80); //rtc_write(0x0c,0x80); //rtc_write(0x0d,0x80);
//rtc_write(0x0e,7); // alarm interrupt enable
//rtc_get_time(&h,&m,&s); //rtc_set_time(19,44,40); //rtc_set_date(13,3,10);
// Global enable interrupts #asm("sei")
//idle();
//sleep_enable();
while (1) {
//idle();
//sleep_enable();
rtc_get_time(&h,&m,&s); rtc_get_date(&dd,&mm,&yy); if (s==0){
printf ("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
status_simpan = 1; }
if (s==10)printf
("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
if (s==20)printf
("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
if (s==30)printf
("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
if (s==40)printf
("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
if (s==50)printf
("ARR,02,%02d:%02d:%02d,%02d:%02d:%02d,%03d,*\n\r", h,m,s,dd,mm,yy,hujan_jam,);
if(status_serial_in == 1) order_serial(); if(status_simpan == 1) simpan_data(); delay_ms(300);
};
}