SISTEM DRAINASE OTOMATIS BERBASIS MIKROKONTROLER ATMEGA8535
PI. Sistem Komputer. Fakultas Ilmu Komputer dan Teknologi Informasi.
Universitas Gunadarma, 2011 https://brian_dendiatama@gunadarma.ac.id
Oleh : Brian Dendiatama
Abstrak
Kata Kunci : Mikrokontroler, Drainase, Sensor Air, LCD.
Sistem drainase merupakan salah satu cara pembuangan air yang berlebihan pada suatu tempat atau kawasan. Secara umum, sistem drainase didefinisikan sebagai serangkaian bangunan air yang berfungsi untuk mengurangi atau membuang kelebihan air dari suatu kawasan atau lahan, sehingga dapat difungsikan secara optimal.
Pada dasarnya rangkaian ini dirancang guna untuk membuang air yang berlebihan pada suatu tempat atau kawasan yang daerah resapan airnya kurang bagus bahkan tidak adanya sistem resapan air yang tertata dengan baik dan benar. Oleh karena itu, dirancang sebuah alat yang berjudul “Sistem Drainase Otomatis Berbasis Mikrokontroler ATMega8535” yang difungsikan sebagai media resapan air yang terdiri dari sensor air yang akan membuat aksi pada rangkaian pompa air sebagai alat untuk membuang air melalui pipa atau selang yang terhubung pada pompa air dan hasilnya atau output akan ditampilkan pada display LCD sesuai dengan level air yang mengenai sensor air tersebut dan juga akan di tampilkan pada lampu indikator yang tersusun sesuai dengan kondisi sensor air, serta akan menginformasikan dalam bentuk gelombang suara yang dihasilkan oleh buzzer yang terhubung pada rangkaian Sistem Drainase Otomatis Berbasis Mikrokontroler ATMega8535 ini.
1. PENDAHULUAN
1.1 Latar Belakang
Sistem drainase merupakan salah satu cara pembuangan air yang berlebihan pada suatu tempat atau kawasan. Secara umum, sistem drainase didefinisikan sebagai serangkaian bangunan air yang berfungsi untuk mengurangi atau membuang kelebihan air dari suatu kawasan atau lahan, sehingga dapat difungsikan secara optimal. Dari sudut pandang lain, sistem drainase adalah salah satu unsur dari prasarana umum yang dibutuhkan oleh masyarakat kota dalam rangka menuju kehidupan kota yang aman, nyaman, bersih, dan sehat. Prasarana drainase berfungsi mengalirkan air ke tempat pembuangan air atau resapan air, selain itu juga berfungsi sebagai pengendali kebutuhan air dengan tindakan untuk memperbaiki daerah rawan banjir atau daerah genangan air yang secara berlebihan.
Sistem drainase juga dirancang sebagai suatu sistem guna membantu memenuhi kebutuhan masyarakat akan terbatasnya dari masalah banjir yang menggangu aktifitas dan rutinitas masyarakat kota sehari-harinya. Sistem drainase juga merupakan komponen penting dalam perancangan kota (perancangan infrastruktur khususnya).
1.2 Batasan Masalah
Pada masalah ini akan disajikan solusi penanggulangan dini dan sistem drainase secara otomatis dengan sistem pembuangan air. Akan dilakukan perancangan alat yang berjudul “Sistem Drainase Berbasis Mikrokontroler ATMega8535”.
1.3 Tujuan Penulisan
Adapun tujuan dari suatu perancangan rangkaian sistem drainase atau pembuangan air otomatis berbasis mikrokontroler ATMega8535 dengan tampilan LCD, yaitu yang pertama adalah untuk mengurangi atau membuang air yang berlebihan dari suatu kawasan atau lahan yang memaksimalkan fungsionalnya. yang kedua yaitu mengontrol ketinggian air banjir atau penanggulangan dini terhadap masalah banjir yang sering dihadapi masyarakat perkotaan terutama daerah rawan banjir.
1.4 Metode Penulisan
Dalam penulisan ini menggunakan metode penulisan dari berbagai sumber diantaranya dengan menggunakan metode Studi Pustaka dan Studi Lapangan. Pada metode studi pustaka dilakukan dengan cara mengambil data dari berbagai sumber internet dan buku yang dijadikan pedoman dalam penulisan ini. Selain itu menggunakan metode studi lapangan yang dilakukan dengan cara mencari data dan pengamatan terhadap rangkaian atau alat yang dibuat secara langsung, agar data yang diperoleh dapat seakurat mungkin.
2. LANDASAN TEORI
2.1 Mikrokontroler AVR ATMega8535
Mikrokontroler sebagai sebuah “one chip solution” pada dasarnya adalah rangkaian terintregrasi (Integrated Circuit- IC) yang telah mengandung secara lengkap berbagai komponen pembentuk sebuah komputer. Berbeda dengan penggunaan mikroprosesor yang masih memerlukan komponen luar tambahan seperti RAM, ROM, Timer, dan sebagainya untuk sistem mikrokontroler, tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi. Hal ini disebabkan semua komponen penting tersebut telah ditanam bersama dengan sistem prosesor ke dalam IC tunggal mikrokontroler bersangkutan. Dengan alasan itu sistem mikrokontroler dikenal juga dengan istilah populer the real Computer On a Chip-komputer utuh dalam keping tunggal, sedangkan sistem mikroprosesor dikenal dengan istilah yang lebih terbatas yaitu Computer on a Chip-komputer dalam keping tunggal.
Dengan berbagai macam kelebihan yang dimiliki, dewasa ini mikrokontroler AVR 8 bit produk perusahaan Atmel adalah salah satu mikrokontroler yang banyak merebut minat kalangan profesional dan juga cocok dijadikan sarana berlatih bagi para pemula. Hal ini selain karena ragam fitur yang ditawarkan, juga disebabkan kemudahan untuk memperoleh mikrokontroler tersebut (berikut papan pengembangnya) di pasaran dengan harga yang relatif murah.
Secara histories mikrokontroler seri AVR pertama kali diperkenalkan ke pasaran sekitar tahun 1997 oleh perusahaan Atmel, yaitu sebuah perusahaan yang sangat terkenal dengan produk mikrokontroler seri AT89S51/52-nya yang sampai sekarang masih banyak digunakan di lapangan. Tidak seperti mikrokontroler seri AT89S51/52 yang masih mempertahankan arsitektur dan set instruksi dasar mikrokontroler 8031 dari perusahaan INTEL. Mikrokontroler AVR ini diklaim memiliki arsitektur dan set instruksi yang benar-benar baru dan berbeda dengan arsitektur mikrokontroler sebelumnya yang diproduksi oleh perusahaan tersebut. Tetapi walaupun demikian, bagi para programmer yang sebelumnya telah terbiasa dengan mikrokontroler seri AT89S51/52, dan berencana untuk beralih ke mikrokontroler AVR, maka secara teknis tidak akan banyak kesulitan yang berarti, hal ini dikarenakan selain konsep dan istilah-istilah dasarnya hampir sama, pemrograman level assembler-nya pun relative tidak jauh berbeda.
Berdasarkan arsitekturnya, AVR merupakan mikrokontroler RISC (Reduce Instruction Set Computer) dengan lebar bus data 8 bit. Berbeda dengan sistem AT89S51/52 yang memiliki frekuensi kerja seperduabelas kali frekuensi oscilator, frekuensi kerja mikrokontroler AVR ini pada dasarnya sama dengan frekuensi oscilator, sehingga hal tersebut menyebabkan kecepatan kerja AVR untuk frekuensi oscilator yang sama, akan dua belas kali lebih cepat dibandingkan dengan mikrokontroler keluarga AT89S51/52.
Dengan instruksi yang sangat variatif (mirip dengan sistem CISC-Complex Instruction Set Computer) serta jumlah register serbaguna (general purpose Register) sebanyak 32 buah yang semuanya terhubung secara langsung ke ALU (Arithmetic Logic Unit), kecepatan operasi mikrokontroler AVR ini dapat mencapai 16 MIPS (enam belas juta instruksi per detik) sebuah kecepatan yang sangat tinggi untuk ukuran mikrokontroler 8 bit yang ada di pasaran sampai saat ini.
Untuk memenuhi kebutuhan dan aplikasi industri yang sangat beragam, mikrokontroler keluarga AVR ini muncul di pasaran dengan tiga seri utama: tinyAVR, ClasicAVR (AVR), megaAVR. Berikut ini beberapa seri yang dapat anda jumpai di pasaran : ATtiny13, AT90S2313, ATmega103, ATtiny22, AT90S2323 ATmega128, ATtiny22L AT90S2333 ATmega16, ATtiny2313 AT90S4414 ATmega162, ATtiny2313V AT90S4433 ATmega168, ATtiny26 AT90S8515 ATmega8535.
Keseluruhan seri AVR ini pada dasarnya memiliki organisasi memori dan set instruksi yang sama (sehingga dengan demikian jika telah mahir menggunakan salah satu seri AVR, untuk beralih ke seri yang lain akan relatif mudah). Perbedaan antara tinyAVR, AVR dan megaAVR pada kenyataannya hanya merefleksikan tambahan-tambahan fitur yang ditawarkannya saja (misal adanya tambahan ADC internal pada seri AVR tertentu, jumlah Port I/O serta memori yang berbeda, dan sebagainya). Diantara ketiganya, megaAVR umumnya memiliki fitur yang paling lengkap, disusul oleh AVR, dan terakhir tinyAVR. Untuk memberi gambaran yang lebih jelas. berikut memperlihatkan perbedaan ketiga seri AVR ditinjau dari jumlah memori yang dimilikinya.
Pengisian memory Flash dengan menggunakan saluran SPI ini dapat dilakukan bahkan ketika chip AVR telah terpasang pada sistem akhir (end system), sehingga dengan demikian pemrogramannya sangat fleksibel dan tidak merepotkan pengguna (secara praktis metoda ini dikenal dengan istilah ISP (In System Programming) sedangkan perangkat lunaknya dinamakan (In System Programmer).
Untuk penyimpanan data, mikrokontroler AVR menyediakan dua jenis memori yang berbeda : EEPROM (Electrically Erasable Programmable Read Only Memory) dan SRAM (Static Random Access memory). EEPROM umumnya digunakan untuk menyimpan data-data program yang bersifat permanen, sedangkan SRAM digunakan untuk menyimpan data variabel yang dimungkinkan berubah setiap saatnya. Kapasitas simpan data kedua memori ini bervariasi tergantung pada jenis AVR-nya. Untuk seri AVR yang tidak memiliki SRAM, penyimpanan data variabel dapat dilakukan pada register serbaguna yang terdapat pada CPU mikrokontroler tersebut.
Selain seri-seri diatas yang sifatnya lebih umum, perusahaan Atmel juga memproduksi beberapa jenis mikrokontroler AVR untuk tujuan yang lebih khusus dan terbatas, seperti seri AT86RF401 yang khusus digunakan untuk aplikasi wireless remote control dengan menggunakan gelombang radio (RF), seri AT90SC yang khusus digunakan untuk peralatan sistem- sistem keamanan kartu SIM GSM,pembayaran via internet, dan lain sebagainya.Pada rangkaian ini menggunakan mikrokontroler AVR ATMega8535, dengan penjelasan sebagai berikut :

Gambar 2.1 Konfigurasi Pin Pada Mikrokontroler ATMega8535

Gambar 2.2 Bentuk Fisik Mikrokontroler ATMega8535
2.2 Sistem Minimum DT-AVR Low
Cost Micro System
DT-AVR Low Cost Micro System merupakan modul single chip mikrokontroler ATmega8535 dengan Kbyte Flash Memory, 512 byte SRAM, dan 512 byte EEPROM. DT-AVR Low Cost Micro System juga memiliki ADC hingga 8 channel single-ended A/D converter dengan resolusi 10 bit.

Fitur-fitur ATmega8535 DT-AVR Low Cost Micro System, dua 8-bit timer/counter, satu 16-bit timer/counter, dan Real Time Counter, 4 channel PWM, Two- wire Serial Interface Programmable Serial USART Universal Synchronous and Asynchronous serial Receiver and Transmitter), master/slave SPI Serial Interface, Programmable Watchdog Timer, On-chip Analog Comparator, Internal Calibrated RC Oscillator.
Spesifikasi DT-AVR Low Cost Micro System adalah mendukung varian AVR 40 pin antara lain: AT90S8535, ATmega8535L, ATmega16(L), ATmega8515(L), AT90S8515, dan ATmega162(L) (seri AVR yang tidak memiliki ADC membutuhkan converter socket), memiliki fasilitas In- System Programming untuk IC yang mendukung, dilengkapi LED Programming Indicator, memiliki hingga 35 pin jalur input/output, lengkap dengan osilator 4 MHZ dan memiliki kemampuan komunikasi Serial UART RS-232 yang sudah disempurnakan, lengkap dengan rangkaian reset, tombol manual reset, dan brown-out detector dengan menggunakan tegangan input 9 - 12 VDC dan memiliki tegangan output 5 VDC. Perlengkapan DT-AVR Low Cost Micro System, 1 bh Board DT-AVR Low Cost Micro System, 1 set Kabel Serial, 1 CD/DVD berisi CodeVisionAVR versi demo serta kumpulan produk Innovative Eledctronics yang lain, 1 buah converter socket untuk seri AVR tanpa internal ADC dan semuanya itu dikemas dalam plastik yang menarik.
2.3 DI-Smart LCD 16×2 Board
Deskripsi DI-Smart LCD16X2 Display adalah modul tampilan LCD 16×2 karakter yang siap untuk digunakan.

Aplikasi pada rangkaian adalah sebagai tampilan (display) untuk menampilkan karakter-karakter yang diperlukan dalam suatu sistem seperti jumlah suatu variabel, tampilan indikator kejadian, atau bisa juga untuk estetika.
Spesifikasi LCD dengan jumlah karakter yang dapat ditampilakan adalah 32 karakter dalam 2 baris x 16 kolom, koneksi pengendalian yang digunakan adalah 4 BIT DATA INTERFACE, telah dilengkapi pengendali CONTRAST dan BRIGHTNESS, telah disediakan kabel IDC-10 sehingga dapat langsung dihubungkan dengan DI- Smart AVR System.
2.4 Sensor Air
Sensor air adalah suatu indikator pada suatu rangkaian yang menandakan bahwa rangkaian itu terkena air atau tidaknya. Konsep yang digunakan pada sensor air yaitu dengan menggunakan sebuah papan PCB yang dibuat garis zig-zag dan dihubungkan dengan kabel sebagai konduktor. Sebagaimana sifat air sebagai konduktor atau penghantar arus listrik.

2.5 Bahasa Pemrograman C untuk AVR
Dalam perancangan alat ini dibuat sebuah pemrograman agar alat dapat dikendalikan dan beroperasi sesuai dengan yang diharapkan. Bahasa pemrograman yang dipakai pada rancangan alat ini adalah bahasa pemrograman C. Akar dan asal dari bahasa pengaturcaraan C (C language) adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan idea pada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan panggilan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan adalah pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sepenuhnya sistem pengoperasian UNIX.
Standard bahasa C (Ansi C) yang asli adalah standard dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopularan bahasa C membuatkan setiap versi dari bahasa ini banyak dibuat untuk komputer jenis mikro. ANSI (American National Standard Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang kemudian menetapkan standard ANSI untuk bahasa C. Standard ANSI ini didasarkan kepada standard UNIX yang diperluas.
CodeVision AVR merupakan software untuk membuat code program microcontroller AVR. Kebanyakan programmer memakai software ini karena fasilitas-fasilitas yang disediakan CodeVision AVR sangatlah memudahkan bagi programmer dalam membuat code. HP InfoTech menyajikan versi baru (lebih dari 9500 pengguna terdaftar) yang paling populer C Compiler komersial untuk Atmel AVR.
Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut. Struktur penulisan program :
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional [global variables] // Opsional [functions] // Opsional
void main(void) // Program Utama
{
[Deklarasi local variable/constant] [Isi Program Utama]
}
Preprocessor #include
Biasanya digunakan untuk menyertakan file header (.h) atau file library. File include berguna untuk memberitahu compiler agar membaca file yang di include-kan lebih dahulu agar mengenali definisi-definisi yang digunakan adalah program sehingga tidak dianggap error. Cara penulisan:
#include <……………> untuk lokasi standar file yang telah disetting oleh tools biasanya pada folder include atau folder direktori compiler.
Tabel 2.3 Tabel Tipe Data

Deklarasi variabel dan konstanta pada bahasa C yaitu: variabel adalah memori penyimpanan data yang nilainya dapat diubah, penulisan: [tipe data] [nama] = [nilai]. Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah, penulisan: const [nama] = [nilai]. Global variabel/konstanta yang dapat diakses di seluruh bagian program. Lokal variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [/* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
Contoh:
suhu=adc/255*100; //contoh rumus perhitungan suhu
Function adalah bagian program yang dapat dipanggil oleh program utama.
Penulisan :
[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2])
{
[statement] ;
}
Conditional statement dan looping
if else : digunakan untuk penyeleksian kondisi
if ( [persyaratan] ) { [statement1]; [statement2];
}
else { [statement3]; [statement4];
}
for : digunakan untuk looping dengan jumlah yang sudah diketahui
for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) {
[statement1]; [statement2];
}
while : digunakan untuk looping jika dan salama memenuhi syarat tertentu
while ( [persyaratan] ) { [statement1]; [statement2];
}
do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun minimal 1 kali
do { [statement1];
[statement2];
}
while ( [persyaratan] )
switch case : digunakan untuk menguji satu variabel dengan banyak kondisi
switch ( [nama variabel] ) { case [nilai1]: [statement]; break;
Operator relasional (perbandingan), operator ini berfungsi untuk menguji benar atau tidaknya hubungan dua operand, jika hubunganya benar maka akan menghasilkan 1 dan jika salah akan menghasilkan 0.
Tabel 2.4 Operasi Relasional (Perbandingan)

Contoh :
If (x==5) {x++;); // x akan dinaikan jika x berisi 5.
If (x!=5) {x++;); // x akan dinaikan jika x bukan berisi 5.
If (x>5) {x++;); // x akan dinaikan jika x berisi lebih besar dari 5.
If (x<5) {x++;); // x akan dinaikan jika x berisi lebih kecil dari 5.
If (x>=5) {x++;); // x akan dinaikan jika x berisi lebih besar atau sama dengan 5.
If (x<=5) {x++;); // x akan dinaikan jika x berisi lebih kecil atau sama dengan 5.
3. PERANCANGAN DAN IMPLEMENTASI
3.1 Gambaran Umum
Pada dasarnya rangkaian ini dirancang guna untuk membuang air yang berlebihan pada suatu tempat atau kawasan yang daerah resapan airnya kurang bagus bahkan tidak adanya sistem resapan air yang tertata dengan baik dan benar. Oleh karena itu, dirancang sebuah alat yang berjudul “Sistem Drainase Otomatis Berbasis Mikrokontroler ATMega8535” yang difungsikan sebagai media resapan air yang terdiri dari sensor air yang akan membuat aksi pada rangkaian pompa air sebagai alat untuk membuang air melalui pipa atau selang yang terhubung pada pompa air tersebut dan hasilnya atau output akan ditampilkan pada display LCD.
3.2 Analisa Rangkaian Secara Diagram Blok

Gambar 3.1 Blok Diagram Rangkaian
3.2.1 Blok Input
Pada blok diagram mendapat sumber daya yang dihasilkan oleh aktifator yang menyuplay sumber tegangan kedalam blok input, blok proses dan blok output. Dalam diagram blok input terdiri dari otomatis dan manual, dimana kondisi otomatis dipengaruhi inputan dari air yang mengenai sensor air pada rangkaian, sedangkan kondisi manual dipengaruhi inputan dari saklar dan push on yang akan berfungsi apabila ditekan dan air mengenai sensor air.

Gambar Sensor Air
Pada dasarnya air bersifat penghantar arus atau konduktor yang baik dan mempunyai elektrolit yang dapat mengantar arus. Dan inputan pada blok input akan mengirimkan data ke dalam mikrokontroler ATMega8535.
3.2.2 Blok Proses
Selanjutnya pada blok proses, akan memproses inputan yang berasal dari sensor air dan diolah oleh mikrokontroler ATMega8535 sebagai pusat kontrol secara keseluruhan.

Dalam mikrokontroler ATMega8535 akan mengolah data pada program CAVR yang dihasilkan oleh port-port yang terhubung pada sensor air. Dan data yang sudah diolah oleh program akan dikirim ke dalam blok output.
3.2.3 Blok Output
Dan pada blok output, akan dihasilkan keluaran berupa tampilan pada LCD sebagai display informasi yang dapat dibaca oleh manusia.

LED sebagai keluaran indikator yang terdiri dari warna hijau dalam keadaan aman dan normal, warna putih keadaan siaga 1, warna biru dalam keadaan siaga 2, warna kuning dalam keadaan waspada, dan warna merah dalam keadaan awas serta suara yang dihasilkan oleh buzzer sebagai informasi yang disampaikan oleh alat agar dapat didengar oleh manusia, dan pompa air berfungsi untuk membuang air pada tempat air resapan.

3.3 Analisa Software
3.3.1 Diagram Alur (flowchart)

Flowchart dijelaskan bahwa pada saat kondisi mulai apakah saklar dalam kondisi on atau off, jika off maka akan ke kondisi manual dimana harus menekan tombol push on terlebih dahulu dan program akan melakukan inisialisasi, jika tombol push on tidak ditekan maka program akan selesai. Sedangkan pada saat saklar dalam kondisi on maka akan inisialisasi port yang digunakan pada program. Setelah selesai inisialisasi port yang digunakan baik sebagai input atau output, maka kondisi selanjutnya adalah default dimana semua sensor tidak terkena air sehingga tidak ada yang menyala baik LED maupun pompa air. Setelah kondisi default ada kondisi dimana sensor 1 terkena air dengan data FE (1111-1110) dan akan menghasilkan output berupa status normal, lampu LED hijau dalam kondisi on, jika sensor 1 tidak terkena air maka akan ke kondisi penekanan pada push on.
Setelah air mengalir dan mengenai sensor 1, 2 dengan data FC (1111-1100) dan akan menghasilkan output berupa status siaga 1, lampu LED putih, dan pompa air on, jika air tidak mengenai sensor 1, 2 maka akan kembali ke kondisi sensor 1 dengan data FE (1111-1110) dan pompa air off.
Air terus mengalir dan mengenai sensor 1, 2, 3 dengan data F8 (1111-1000) dan akan menghasilkan output berupa status siaga 2, lampu LED biru, dan pompa air on, jika air tidak mengenai sensor 1, 2, 3 maka akan kembali ke kondisi sensor 1 dengan data FE (1111-1110) dan pompa air off.
Selanjutnya air terus mengalir dan mengenai sensor 1, 2, 3, 4 dengan data F0 (1111-0000) dan akan menghasilkan output berupa status waspada, lampu LED kuning, dan pompa air on, jika air tidak mengenai sensor 1, 2, 3, 4 maka akan kembali ke kondisi sensor 1 dengan data FE (1111-1110) dan pompa air off.
Dan air terus mengalir mengenai sensor 1, 2, 3, 4, 5 dengan data E0 (1110-0000) dan akan menghasilkan output berupa staus awas, lampu LED merah, Buzzer dan pompa air dalam kondisi on, jika air tidak mengenai sensor 1, 2, 3, 4, 5 maka akan kembali ke kondisi sensor 1 dengan data FE (1111-1110) dan pompa air off. Dan jika ingin kembali ke kondisi default maka saklar dikondisikan dalam keadaan off dan menekan terus tombol push on untuk mengaktifkan pompa air dan membuang air ke selang pembuangan hingga batas bawah pompa air menyerap air.
4. HASIL UJI COBA ALAT
4.1 Cara Kerja Alat

Suplay minimal yang digunakan agar chip dapat bekerja adalah (kurang lebih) 5V. Agar tegangan stabil, digunakan IC Regulator 7805 sehingga input tegangan yang diijinkan untuk rangkaian adalah antara 6 - 12V. Range tegangan tersebut akan dikonversi oleh 7805 sebagai tegangan VCC sebesar 5V. Sebagai pengaman, dapat ditambahkan juga dioda 1A (misal 1N4001) agar rangkaian tetap aman apabila dalam memasang suplay dari luar terbalik (optional). Selain itu dapat tambahkan kapasitor (elco) minimal sebesar 100 uF/16V untuk mencegah reset yang diakibatkan oleh suplay yang kurang stabil.
Setelah saklar (switch) pada rangkaian dalam keadaan hidup, maka akan dialiri air pada bak resapan air, sehingga sensor akan terkena air. Pada rangkaian ini port yang digunakan atau dipakai adalah portA.0, portA.1, portA.2, portA.3, dan portA.4 untuk sensor air, portB.1 untuk pompa air, portC diguanakan untuk display LCD, sedangkan portD digunakan untuk LED indikator serta buzzer untuk menghasilkan gelombang suara.
Saat sensor air yang terhubung pada portA.0 terkena air maka akan mengirim data ke mikrokontroler dengan logika aktif low (aktif jika nilainya 0) dan akan menampilkan ke LCD bahwa keadaan lingkungan dalam status normal, LED yang menyala warna hijau serta pompa aquarium pada portB.1 dalam keadaan Off atau tidak menyala.
Lalu saat sensor air yang terhubung pada portA.0, portA.1 terkena air maka akan mengirimkan data ke mikrokontroler dengan logika aktif low (aktif jika nilainya nol) dan akan menampilkan ke LCD bahwa keadaan lingkungan dalam keadaan siaga 1 dan LED warna putih menyala serta pompa air dalam kondisi On dan membuang air ke pipa pembuangan.
Selanjutnya, saat sensor air yang terhubung pada portA.0, portA.1, portA.2 terkena air maka akan mengirimkan data ke mikrokontroler dengan logika aktif low (aktif jika nilainya nol) dan akan menampilkan ke LCD bahwa keadaan dalam keadaan siaga 2 dan LED warna biru menyala, serta pompa air dalam keadaan On untuk terus membuang air ke dalam tempat pembuangan lewat pipa yang dipasang pada pompa air tersebut.
Saat sensor air yang terhubung pada portA.0, portA.1, portA.2, portA.3 terkena air, maka LCD akan menampilkan bahwa keadaan dalam keadaan waspada dan LED warna kuning akan menyala, serta pompa air dalam keadaan on dan terus membuang air kedalam bak pembuangan air.
Dan saat sensor air yang terhubung pada portA.0, portA.1, portA.2, portA.3, portA.4 terkena air, maka LCD akan menampilkan bahwa keadaan dalam keadaan awas dan buzzer akan bunyi, serta pompa air akan terus membuang air sampai air pada batas aman. Dan jika ingin kembali ke kondisi default, maka saklar dalam kondisi off dan tekan push on hingga air pada batas bawah pompa air.
Setelah keadaan air surut, dari kondisi awas sampai ke kondisi normal maka akan tampil pada LCD bahwa keadaan lingkungan dalam keadaan aman dan LED warna hijau menyala, serta pompa air akan off kembali.

Sensor air merupakan suatu rangkaian yang terdiri dari + (positif) dan – (negatif) atau vcc dan ground, saat sensor terkena oleh air maka akan terhubung antara vcc dan ground. Sensor air ini terhubung dengan port pada mikrokontroler ATMega8535 di portA.0, portA.1, portA.2, portA.3, dan portA.4 sebagai masukan yang akan mempengaruhi proses dan menghasilkan output yang ditentukan.

Pada rangkaian relay ini menggunakan relay 5 Volt, saat portB.1 berlogika 0, maka kondisi pada T1 dalam keadaan cut-off karena pada kaki basis lebih kecil dari kaki emitor, sehingga arus dari kolektor tidak dapat mengalir ke emitor dan kondisi pada T2 dalam keadaan saturasi karena tegangan pada kaki basis lebih besar dari tegangan pada kaki emitor, sehingga arus dapat mengalir dari kaki kolektor ke emitor dengan indikator L1 menyala dan pompa air dalam keadaan on.
Sedangkan kondisi pada saat portB.1 berlogika 1, maka kondisi pada T1 dalam keadaan saturasi karena tegangan pada kaki basis lebih besar dari tegangan pada kaki emitor, sehingga arus dapat mengalir dari kaki kolektor ke emitor dengan indikator L2 menyala dan kondisi pada T2 dalam keadaan cut-off karena pada kaki basis lebih kecil dari kaki emitor, sehingga arus dari kolektor tidak dapat mengalir ke emitor dan pompa air dalam keadaan off.
4.2 Pengujian Alat Berdsarkan Kondisi
Saat dilakukan pengujian alat dan pengambilan data pengamatan terhadap rancangan yang dibuat maka di dapat hasil yang dapat dilihat atau dapat di amati bahwa alat dalam kondisi berjalan dengan baik dan sesuai dengan alur program yang dibuat.
Data saat sensor tidak terkena air (default) :
Tabel 4.1 Data Pengamatan Ke-satu
Data saat sensor 1 terkena air :
Tabel 4.2 Data Pengamatan Ke-dua

Data saat sensor 1 & 2 terkena air :
Tabel 4.3 Data Pengamatan Ke-tiga

Data sensor 1, 2, & 3 terkena air :
Tabel 4.4 Data Pengamatan Ke-empat

Data saat sensor 1, 2, 3, & 4 terkena air :
Tabel 4.5 Data Pengamatan Ke-lima

Data saat sensor 1, 2, 3, 4, & 5 terkena air :
Tabel 4.6 Data Pengamatan Ke-enam

Data saat manual (kondisi push on):
Tabel 4.7 Data Pengamatan Ke-tujuh

5. PENUTUP
5.1 Kesimpulan
Dari hasil perancangan dan pengamatan data yang diperoleh saat melakukan pengujian alat didapat bahwa rangkaian ini bekerja sesuai dengan program yang dibuat dan melakukan fungsi-fungsi dari masing- masing komponen bekerja dengan optimal. Dan rancangan alat ini dapat berfungsi sebagai resapan air atau pembuangan air yang berlebihan pada suatu kawasan, serta penanggulangan dini terhadap terjadinya banjir, karena alat ini dirancang pada saat sensor 2 terkena air pompa air langsung membuang air yang ada pada rangkaian hal ini berfungsi bila pada saat air yang ada lebih banyak (air bah) sehingga air terus dibuang sampai air tidak lagi mengenai sensor sama sekali.
Kelebihan dari rancangan alat yang dibuat ini yang mampu mengatasi permasalahan sistem pembuangan air yang kurang baik pada suatu kawasan, karena konsep dari sistem drainase atau resapan air.
Adapun kekurangan dari alat yang dirancang adalah sensor air yang digunakan, sebab dalam konduktor yang digunakan adalah media air tanah yang kadar elektrolitnya sangat sedikit, sehingga proses koduktor kurang bagus.
5.2 Saran
Saran yang dapat disampaikan dalam perancangan alat ini adalah dengan adanya konsep yang matang dan melihat kondisi lingkungan sekitar. Untuk perancangan selanjunya pada rangkaian ini dengan menambahkan ruang aliran atau pembuangan air yang lebih besar.
Dapat ditambahkan aplikasi dengan menggunakan program pemantau sistem drainase secara online. Dengan adanya penambahan sesnsor untuk mengukur ketinggian air, sehingga dapat berfungsi secara optimal dan pengiriman data seakurat mungkin.
DAFTAR PUSTAKA
[1] Anonim, Modul Panduan Mikroprosessor, Laboratorium Elektronika dan Komputer Universitas Gunadarma, Depok, 2005.
[2] Ardi Winoto, Mikrokontroler AVR ATmega8/16/32/8535 dan Pemrograman dengan Bahasa C pada WinAVR, Informatika Bandung, Bandung, 2010.
[3] M. Ary Heryanto & Wisnu Adi P., Pemrograman Bahasa C Untuk Mikrokontroler ATMEGA8535, Andi Offset, Jogjakarta, 2008.
[4] URL: http://duniaelektronika.blogspot.com/2007/09/mikrokontroleratmega8535.html, 27 Mei 2011.
[5] URL : http://id.wikipedia.org/wiki/ATMega8535, 27 Mei 2011.
[6] URL : http://npx21.blog.uns.ac.id/2010/07/17/atmega8535/, 27 Mei 2011.
Sumber : http://dendiatama.blogspot.com/2011/11/sistem-drainase-otomatis-berbasis.html