91020292 tandon air otomatis berbasis mikrokontroler atmega16
TRANSCRIPT
TANDON AIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA16
SKRIPSI
diajukan oleh :
Danang Saktyo Yudhanto
2077200278
PROGRAM STUDI SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
“ADI UNGGUL BHIRAWA” (STMIK-AUB)
SURAKARTA
2012
TANDON AIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA16
SKRIPSI
Untuk memenuhi persyaratan
memperoleh gelar Sarjana Komputer
pada Program Studi Sistem Komputer
diajukan oleh :
Danang Saktyo Yudhanto
2077200278
PROGRAM STUDI SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
“ADI UNGGUL BHIRAWA” (STMIK-AUB)
SURAKARTA
2012
NOTA PEMBIMBING
Dosen STMIK-AUB SurakartaDi :SURAKARTA
Nota DinasHal : Skripsi Saudara Danang Saktyo Yudhanto
Kepada Yth.Ketua STMIK-AUB SurakartaDi : SURAKARTA
Setelah membaca, meneliti, mengoreksi dan mengadakan perbaikan seperlunya terhadap Skripsi Saudara :
Nama : Danang Saktyo Yudhanto
NIM : 2077200278
Program Studi : Sistem Komputer
Judul : TANDON AIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA16
Dengan ini kami menilai Skripsi tersebut dapat disetujui untuk diajukan dalam Sidang Ujian Skripsi pada Program Studi Sistem Komputer Sekolah Tinggi Manajemen Informatika Dan Komputer “Adi Unggul Bhirawa” (STMIK-AUB) Surakarta.
Surakarta 7 Maret 2012
Pembimbing I Pembimbing II
Dwiyono, ST. H. Ary Setyadi, ST. NIPY : 097/D/AUB/2002 NIPY : 186/D/AUB/2002
PENGESAHAN
SKRIPSI
Tandon Air Otomatis Berbasis
Mikrokontroler ATMega16
Yang dipersiapkan dan disusun oleh
Danang Saktyo Yudhanto
2077200278
Telah dipertahankan di depan Dewan Penguji pada
Tanggal 3 Maret 2012
Susunan Dewan Penguji
Nama Penguji Tanda Tangan
Haryanto, ST, M. Cs __________________
NIPY : 239/D/AUB/2011
Wisnu Wendanto, S.Kom __________________
NIPY : 216/D/AUB/2008
Ary Setyadi, ST __________________
NIPY : 186/D/AUB/2002
Skripsi ini telah diterima sebagai salah satu persyaratan untuk
memperoleh gelar Sarjana Komputer
Tanggal 7 Maret 2012
KETUA STMIK-AUB SURAKARTA
D rs . Dwi Kuncoro. M.Kom NIPY : 141/D/AUB/1991
PERSETUJUAN SKRIPSI
Nama : Danang Saktyo Yudhanto
Nomor Induk Mahasiswa : 2077200278
Program Studi : Sistem Komputer
Judul Kerja Praktek : Tandon Air Otomatis Berbasis
Mikrokontroler ATMEGA16
Dosen Pembimbing : 1. Dwiyono, ST.
2. H. Ary Setyadi, ST.
Telah dipertahankan di depan dewan penguji.
Pada tanggal 3 Maret 2012
Susunan Dewan Penguji
Ketua
Haryanto, ST, M. CS
Penguji I Penguji II
Wisnu Wendanto, S.Kom Ary Setyadi, ST Skripsi ini telah diterima sebagai salah satu persyaratan untuk
Memperoleh Gelar Sarjana Strata 1 (S-1) Ilmu Komputer
Surakarta, 7 Maret 2012
Ketua STMIK-AUB Surakarta
Drs. Dwi Kuncoro, M.KomNIPY : 141/D/AUB/1991
Yayasan Karya Dharma Pancasila (YKDP) SurakartaSEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER“ADI UNGGUL BHIRAWA” SURAKARTA STMIK-AUB SURAKARTA
STMIK-AUB : Jl. MW. Maramis 29, Cengklik, Nusukan, Surakarta 57135Telp. (0271) 857070. E-mail : [email protected]
PERNYATAAN KEASLIAN SKRIPSI
Saya yang bertanda tangan dibawah ini :
Nama : Danang Saktyo Yudhanto
NIM : 2077200278
Program Studi : Sistem Komputer
Judul : Tandon Air Otomatis Berbasis
Mikrokontroler ATMEGA16
Menyatakan dengan sebenarnya bahwa skripsi yang saya serahkan ini benar-benar
merupakan hasil karya sendiri, kecuali kutipan-kutipan dan ringkasan-ringkasan
yang semuanya telah saya jelaskan sumbernya. Apabila dikemudian hari terbukti
atau dapat dibuktikan skripsi ini hasil jiplakan, maka gelar dan ijazah yang
diberikan STMIK-AUB Surakarta batal saya terima.
Surakarta, 5 Maret 2012
Yang membuat pernyataan,
Danang Saktyo Yudhanto
MOTTO
# Sabar dalam mengatasi kesulitan dan bertindak bijaksana
dalam mengatasinya adalah sesuatu yang utama.
# Berusahalah jangan sampai terlengah walau sedetik saja,
karena atas kelengahan kita tak akan bisa dikembalikan
seperti semula.
# Saya datang, saya bimbingan, saya ujian, saya revisi dan
saya menang!
PERSEMBAHAN
Kupersembahkan karya ini untuk . . .
Ibu dan bapak tersayang,
Yang telah memberikan pelajaran yang sangat berharga
dalam hidup.
Mitha dan Sasa tersayang,
Menjadikanku untuk bisa selalu jadi saudara yang terbaik
dari yang baik
Temen-temen seperjuangan,
Atas segala bantuan, dorongan, maupun spirit untuk tetap
maju
KATA PENGANTAR
Segala puji dan syukur Alhamdulillah senantiasa penulis panjatkan
kehadirat Allah SWT yang selalu melimpahkan rahmat, hidayah serta inayah-Nya,
sehingga penulis dapat menyelesaikan skripsi dengan judul : TANDON AIR
OTOMATIS BERBASIS MIKROKONTROLER ATMEGA16
Penulis juga menyadari sepenuhnya bahwa dalam penyusunan laporan
skripsi ini tidak akan terwujud tanpa adanya bantuan dan dukungan dari berbagai
pihak. Oleh karena itu, secara khusus penulis menyampaikan rasa terimakasih
kepada :
1. Bapak dan ibu tercinta yang telah sabar memberikan dukungan dan kasih
sayang baik secara moril maupun materiil.
2. Drs. Dwi Kuncoro M.Kom, selaku Ketua STMIK-AUB Surakarta.
3. Wisnu Wendanto, S.Kom, selaku Kepala program studi S 1 Sistem
Komputer STMIK-AUB Surakarta.
4. Dwiyono, ST, selaku pembimbing I yang telah membimbing dan
memberikan masukan selama skripsi berlangsung.
5. H. Ary Setyadi, ST, selaku pembimbing II yang telah memberikan kritik
dan saran demi tersusun dan terlengkapinya laporan skripsi
Penulis berharap laporan ini dapat bermanfaat bagi penulis khususnya dan
bagi pembaca pada umumnya.
Surakarta, Maret 2012
Penulis
DAFTAR ISI
HALAMAN JUDUL ...................................................................................... i
HALAMAN NOTA PEMBIMBING ............................................................. ii
HALAMAN PENGESAHAN ........................................................................ iii
HALAMAN PERSETUJUAN......................................................................... iv
HALAMAN PERNYATAAN KEASLIAN .................................................... v
HALAMAN MOTTO ...................................................................................... vi
HALAMAN PERSEMBAHAN........................................................................ vii
KATA PENGANTAR...................................................................................... viii
DAFTAR ISI ................................................................................................... ix
ABSTRAK ...................................................................................................... x
ABSTRACK.................................................................................................... xi
BAB I PENDAHULUAN
1.1. Latar belakang masalah............................................................ 1
1.2. Rumusan masalah..................................................................... 3
1.3. Batasan masalah....................................................................... 3
1.4. Tujuan penelitian...................................................................... 3
1.5. Manfaat penelitian.................................................................... 4
1.6. Tinjauan Pustaka ..................................................................... 4
1.7. Metode Penelitian..................................................................... 7
1.8. Sistematika Penulisan............................................................... 10
BAB II LANDASAN TEORI
2.1. Mikrokontroler ATMEGA16 ................................................... 11
2.2. Bahasa C .................................................................................. 16
2.3. ADC (Analog to Digital Donverter)......................................... 18
2.4. Code Vision AVR..................................................................... 22
2.5. LCD (Liquid Crystal Display).................................................. 24
2.6. Resistor..................................................................................... 26
2.7. Transistor.................................................................................. 27
2.8. Kapasitor................................................................................... 28
2.9. Tegangan Listrik ...................................................................... 30
BAB III PERANCANGAN SISTEM
3.1. Peralatan Dan Bahan................................................................. 32
3.2. Perancangan Perangkat Keras................................................... 32
3.3. Perencanaan Perangkat Lunak.................................................. 41
BAB IV PENGUJIAN ALAT
4.1. Pengujian Alat.......................................................................... 51
4.2. Pengujian Rangkaian Power Supplay....................................... 51
4.3. Pengujian Rangkaian Driver .................................................... 53
4.4. Pengujian Alat Utuh ............................................................... . 54
4.5. Cara Penggunaan Alat ............................................................... 56
BAB V PENUTUP
5.1. Kesimpulan............................................................................... 57
5.2. Saran ........................................................................................ 57
`ABSTRAK
Pengisian tandon air secara manual memaksa orang untuk selalu waspada dalam pemantauan tingkat ketinggian maupun penurunan level airnya. Sering kali orang lupa mematikan pompa air apabila air sudah penuh, sehingga yang terjadi terbuang sia-sia dan secara tidak langsung akan mengakibatkan pemborosan air. Jika hal ini terus terjadi maka bisa dinilai kurang efektif dan kurang efisien.
Secara keseluruhan alat ini dibagi kedalam blok rangkaian, yaitu masukan,unit pemroses, dan keluaran. Masukan terdiri atas Sensor air yaitu untuk memerintahkan bagian kontroller untuk bekerja. Unit pemroses terdiri atas Mikrokontroler ATMEGA16 dan Relay driver. Keluaran terdiri atas pompa air dan LCD yang berfungsi untuk mengaliri air dan menghentikan aliran air secara otomatis didalam tandon air. Cara kerjanya adalah Mikrokontroler menerima input dari sensor air, kemudian mikrokontroler memberikan sinyal ke relay driver untuk bekerja dan memerintahkan pompa air untuk mengalirkan dan mematikan air dalam tandon air.
Kata Kunci: Otomatisasi, pompa air, Mikrokontroler ATMEGA16
ABSTRACK
Manually filling water tank to force people to be vigilant in monitoring the level of elevation and decline in water level. Often times people forget to turn off the water pump when the water is full, so that there is wasted and will indirectly result in waste of water. If this continues to happen then it could be considered less effective and less efficient.
Overall this tool is divided into blocks of the circuit, namely input, processing unit, and output. Sensor input consists of water which is to instruct the controller to work. Processing unit consists of microcontroller ATmega16 and Relay driver. The output consists of a water pump and an LCD that serves to drain the water and automatically stop the flow of water in the reservoir water. The way it worksis the microcontroller receives input from the water sensor, and then relay the signal to the microcontroller to work and ordered the driver to pump the water to drain and shut off the water in the reservoir water.
Keywords: automation, water pump, MicrocontrollerATmega16
BAB I
PENDAHULUAN
1.1. Latar Belakang
Air merupakan bagian yang tidak dapat dipisahkan dalam kehidupan
sehari-hari. Setiap bagian tubuh mahkluk hidup pasti membutuhkan air
untuk melangsungkan kehidupan. Air pada batas tertentu sangat bermanfaat
untuk kehidupan umat. Musim kemarau seperti saat ini air sangat berarti,
sebagian wilayah di Indonesia yang mengalami kekeringan selalu kesulitan
air. Jumlah wilayah yang menderita kekeringan dari tahun ketahun terlihat
semakin meningkat dan meluas. Hal ini diakibatkan tidak hanya oleh
rusaknya lingkungan di daerah tangkapan air, akan tetapi juga diakibatkan
oleh pesatnya pembangunan fisik serta rendahnya tingkat kesadaran
masyarakat dalam penggunaan air tanpa diikuti dengan upaya menjaga dan
melestarikan sumber daya air. Pada saat musim penghujan air sangat
melimpah dan sangat mudah didapatkan sehingga banyak manusia yang
justru boros dalam menggunakan air. Pemborosan air biasa terjadi ditempat-
tempat penampungan air seperti tandon air. Mengingat pentingnya air dalam
kehidupan manusia maka air harus dihemat penggunaannya. (Sudarmadi
2011)
Dalam pengisian penampungan air tentunya menggunakan pompa air
untuk mengalirkan air di dalam tandon air. Pengisian air pada tandon yang
ada sekarang masih menggunakan sistem manual oleh penggunanya.
Pengisian air tandon dengan sistem manual sering menimbulkan
pemborosan air jika penggunanya lalai mematikan pompa air, sehingga air
akan keluar terus-menerus. Kelalaian mematikan pompa air akan berakibat
pemborosan air dan secara tidak langsung akan berakibat menambah
pemakaian energi listrik yang dikeluarkan oleh pengguna. Hal inilah yang
sering terjadi dirumah-rumah sehingga perlu dicarikan solusinya.
Mohd Syaryadhi, Agus Adria, dan Syukurullah (2007), menghasilkan
sistem kendali kran air wudhu menggunakan sensor pir (passive infrared
receiver) berbasis mikrokontroler. Sensor pir hanya mampu bekerja dengan
baik pada suhu 86 oF – 158 oF atau 16 oC - 56 oC (Datasheet RE200B
Pyroelektric Infrared). Jika suhu ruangan tiba-tiba turun maka yang terjadi
adalah sensor tidak mampu bekerja dengan baik, infra merah yang
dipancarkan tubuh manusia yaitu terkuat pada panjang gelombang 9,4 μm
sehingga banyak noise yang dapat mengganggu kepekan sensor.
Permasalahan di atas, muncul suatu pemikiran untuk membuat
alat dengan judul TANDON AIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA16. Alat yang akan dibuat berfungsi
untuk mencegah pemborosan air yang akan ditimbulkan oleh pengguna saat
lalai mematikan pompa air. Alat ini menggunakan sensor air yang berfungsi
sebagai pendeteksi adanya obyek untuk mengukur level air saat penuh dan
berkurang yang memerintahkan bagian kontroler untuk bekerja.
Sistem ini diharapkan mampu bekerja lebih baik agar alat ini bisa
dimanfaatkan untuk kepentingan bersama.
1.2. Perumusan Masalah
Berdasarkan latar belakang masalah diatas, maka penulis merumuskan
masalah yaitu bagaimana menggunakan mikrokontroler ATMEGA16 untuk
aplikasi alat Pengatur Ketinggian Air otomatis ?
1.3. Batasan Masalah
Dari rumusan masalah di atas dapat disimpulkan beberapa
permasalahan yang ada tetapi penulis hanya akan membatasi pembahasan
sebagai berikut :
a. Sensor yang digunakan adalah kabel sebagai pendeteksi level air..
b. Mikrokontroler yang digunakan adalah seri ATMEGA16.
c. Tampilan yang menggunakan LCD untuk mengetahui keadaan level air.
1.4. Tujuan Penelitian
Setiap kegiatan yang dilaksanakan dengan teratur dan terencana pasti
mempunyai tujuan, begitu juga dengan penelitian ini. Adapun tujuan dalam
membuat penelitian ini adalah sebagai berikut :
a. Membuat sistem perangkat keras untuk pengatur ketinggian air otomatis
berbasis mikrokontroler ATMEGA16.
b. Memberikan kenyamanan bagi pengguna air, karena pengisian air di
tandon air secara otomatis akan mengalir dan mati sendiri ketika air
penuh dan habis
1.5. Manfaat Penelitian
Manfaat-manfaat tersebut dapat diterima sebagai berikut :
a. Bagi masyarakat
Hasil pembuatan skripsi ini diharapkan bermanfaat bagi masyarakat
sebagai pengingat yang ditampilkan menggunakan LCD yang
menandakan bahwa air di dalam tandon air telah terisi penuh dan
memudahkan dalam hal pemantauan pengisian tandon air.
b. Bagi mahasiswa
Hasil pembuatan skripsi ini bagi mahasiswa sebagai proyek penelitian
dan sebagai salah satu syarat untuk kelulusan dalam menempuh Sarjana.
1.6. Tinjauan Pustaka
a. Hasil Penelitian Terdahulu
1. Nurul Afdhal dari Universitas Syaih Kuala ( 2006), pada tugas akhir
yang berjudul Sistem Pemantauan Ketinggian Air Secara Real Time
Berbasis Mikrokontroler membahas tentang bagaimana membuat suatu
sistem pemantauan ketinggian air dengan memanfaatkan gelombang
ultrasonik berbasis mikrokontroler.
2. Frendy Yudha Atmaja (2010), pada tugas akhir yang berjudul
Otomatisasi Kran dan Penampung Air Pada Tempat Wudhu Berbasis
Mikrokontroler membahas tentang otomatisasi kran yang lebih efektif.
Alat tersebut menggunakan infra merah yang berfungsi sebagai
pendeteksi adanya obyek. Infra merah terdiri dari pemancar dan
penerima. Pemancar berupa LED IR, dan penerima berupa
phototransistor yang mampu bekerja pada suhu -85° F - 302° F atau -
70° C - 102° C.
3. Mohd” Syaryadhi, Agus Adria, dan Syukurullah, (2007),
menghasilkan sistem kendali kran air wudhu menggunakan sensor pir
(passive infrared receiver) berbasis mikrokontroler. Sensor PIR
bekerja dengan baik pada suhu 86 oF – 158 oF atau 16 oC - 56 oC
(Datasheet RE200B Pyroelektric Infrared). Saat tangan atau bagian
tubuh yang lain menyentuh sensor gerak pada waktu wudhu akan
menjalankan mikrokontroler dan air mengalir. Saat tangan ataupun
anggota tubuh yang lain sudah tidak menyentuh sensor gerak maka air
akan berhenti sendiri.
b. Landasan Teori
Sistem yang dibangun menggunakan prinsip air sebagai konduktor /
pengahantar arus listrik. Pada saat air di dalam tandon air telah penuh
maka kedua kabel di dalam tandon akan terhubung sehingga memberikan
input ke rangkaian kontroler untuk mematikan pompa air. Ketika air di
dalam tandon berkurang maka kedua kabel akan terputus sehingga
memberikan input ke rangkaian kontoller untuk manyalakan pompa air.
Teori penunjang yang digunakan dalam aplikasi mikrokontroler
untuk pengatur ketinggian air otomatis berbasis mikrokontroler ATMEGA
16 antara lain:
1. Mikrokontroler ATMEGA16
2. Sensor air
3. Resistor
4. Transistor
5. Kapasitor
6. Dioda
7. Relay
8. Transformator
9. LCD display 16 x 2
1.7. Metode Penelitian
A. Unit Penelitian
Sistem yang dibangun merupakan riset penelitian yang bertujuan
diterapkan di tandon air tetapi dalam proyek skripsi ini hanya dibatasi
pada penggunaan tempat air sebagai simulator yang menyerupai keadaan
yang sebenarnya.
B. Alat dan Bahan
Untuk membangun sistem ini penulis membutuhkan alat dan bahan
sebagai berikut :
Alat :
1. Mangkok yang tahan panas
2. Gergaji besi
3. Bor PCB
4. Tang pemotong
5. Multimeter
6. Solder
7. Komputer dengan Sistem Operasi Windows XP dan dilengkapi
dengan port USB
8. Printer
Bahan :
1. PCB (Printed Cricuit Board)
2. Kabel
3. Timah (tenol)
4. Komponen Elektronika (Resistor, Kapasitor, Dioda, Trafo, IC
ATmega 16, IC7805, Relay)
5. Software di Komputer (Code Vision AVR C Compiler)
C. Teknik Pengumpulan Data
Teknik pengumpulan data untuk skripsi ini menggunakan metode :
1. Observasi
Melakukan pengamatan terhadap level air yang sudah ada
untuk melakukan perbandingan dan mengumpulkan data-data yang
bisa dipakai sebagai acuan untuk merancang Pembuatan alat
Pengatur Ketinggian Air otomatis Berbasis Mikrokontroler
ATMEGA16.
2. Wawancara
Melakukan wawancara dengan orang-orang yang
berkompeten dibidang elektronika dan mikrokontroler untuk
mendapatkan data-data ataupun hal-hal yang bisa digunakan untuk
menambah pengetahuan yang berkaitan dengan pembuatan alat
Pengatur Ketinggian Air otomatis Berbasis Mikrokontroler
ATMEGA16.
3. Studi Pustaka
Mempelajari dari buku-buku yang berkaitan dengan
Pembuatan alat Pengatur Ketinggian Air otomatis Berbasis
Mikrokontroler ATMEGA16.
D. Perancangan Alat dan Implementasi
1. Perancangan Rangkaian
Membuat rancangan rangkaian dari alat dengan membuat
skema rangkaian Pembuatan alat Pengatur Ketinggian Air otomatis
Berbasis Mikrokontroler ATMEGA16.
2. Pengumpulan Komponen
Mengumpulkan komponen-komponen yang akan digunakan
untuk merancang alat berdasarkan rancangan skema rangkaian alat
Pengatur Ketinggian Air otomatis Berbasis Mikrokontroler
ATMEGA16
3. Perancangan Program
Merancang program yang nantinya akan dimasukkan ke dalam
mikrokontroler ATMEGA16 untuk menjalankan alat.
4. Pembuatan Alat
Membuat alat berdasarkan skema rangkaian yang sudah dibuat
kemudian memasukkan program yang sudah dirancang ke dalam
mikrokontroler ATMEGA16 untuk menjalankan alat.
5. Pengujian Alat
Melakukan uji coba/test pada alat yang telah selesai dirakit
untuk mengetahui apakah alat bisa berjalan sesuai dengan yang
diharapkan atau tidak.
1.8. Sistematika Penulisan
Untuk memperjelas pembahasan materi pada setiap bab, maka
penulis menggunakan sistematika penulisan sebagai berikut :
BAB I PENDAHULUAN
Penulis menjelaskan tentang latar belakang masalah, perumusan
masalah, batasan masalah, tujuan, manfaat, metodologi penelitian
dan sistematika penulisan.
BAB II LANDASAN TEORI
Penulis menjelaskan tentang teori-teori dasar mengenai
mikrokontroler ATMEGA16, bahasa pemrograman C, ADC, Code
Vision AVR, LCD dan komponen elektronika
BAB III ANALISIS DAN PERANCANGAN SISTEM
Membahas tentang perencanaan dan pembuatan alat secara
keseluruhan.
BAB IV IMPLEMENTASI ALAT
Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan
spesifikasi alat.
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran dari isi Skripsi yang telah
dibuat.
DAFTAR PUSTAKA
LAMPIRAN
BAB II
LANDASAN TEORI
2.1. Mikrokontroler
2.1.1. Mikrokontroler
Mikrokontroler merupakan teknologi semikonduktor dengan
kandungan transistor yang lebih banyak namun hanya membutuhkan
ruang yang kecil serta dapat diproduksi secara masal. Teknologi
mikrokontroler ini dimanfaatkan dalam banyak hal utamanya dalam
pembuatan alat–alat bantu bahkan mainan dengan teknologi yang
lebih baik dan canggih.
Penggunaan aplikasi mikrokontroler dalam kehidupan sehari–
hari misalnya pada aplikasi mesin tiket di arena permainan. Aplikasi
mesin tiket ini ditangani oleh mikrokontroler dimana kita tidak perlu
memasang PC (personal computer) yang memakan tempat yang
cukup banyak.
2.1.2. Mikrokontroler AVR ATMEGA 16
AVR merupakan seri mikrokontroler Complementary Metal
Oxide Semiconductor (CMOS) 8-bit yang dibuat oleh ATMEL
berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir
semua instruksi pada program dieksekusi dalam satu siklus clock.
AVR mempunyai 32 register general purpose,timer/counter fleksibel
dengan compare mode, interupsi internal dan external, seri USART,
programmable watchdog timer, power saving mode, ADC dan PWM.
AVR mempunyai In System Programmable (ISP) Flash on chip yang
mengijinkan memori program untuk diprogarm ulang (read/write).
programmable watchdog timer, power saving mode, ADC dan PWM.
AVR mempunyai In System Programmable (ISP) Flash on chip yang
mengijinkan memori program untuk diprogarm ulang (read/write)
dengan koneksi secara serial yang disebut Serial Peripheral
Interface/SPI
AVR memiliki keunggulan dibandingkan dengan
mikrokontroler lain yaitu memiliki kecepatan dalam mengeksekusi
program yang lebih cepat, karena sebagian besar instruksi dieksekusi
dalam 1 siklus clock (lebih cepat dibandingkan mikrokontroler
keluarga MCS 51 yang memilki arsitektur Complex Instruktions Set
Compute).
ATMEGA 16 mempunyai througput mendekati 1 Millions
Instructions Per Second (MIPS) per MHz, sehingga mempunyai
konsumsi daya menjadi lebih rendah terhadap kecepatan proses
eksekusi perintah
Beberapa keistimewaan dari AVR ATMEGA 16 antara lain
yaitu :
1. Mikrokontroler AVR 8-bit yang memiliki kemampuan tinggi
dengan konsumsi daya rendah.
2. Arsitektur RISC dengan througput mencapai 16 MIPS pada
frekuensi 16 MHz.
3. Memiliki kapasitas flash memori 16 Kbyte, EEPROM 512 Byte
dan SRAM 1 Kbyte.
4. Saluran I/O sebanyak 32 buah yaitu port A, B, C dan D.
5. CPU yang terdiri dari 32 buah register.
6. Unit internal dan eksternal.
7. Port USART untuk komunikasi serial.
8. Non volatile program memory.
2.1.3. Konfigurasi Pin AVR ATMEGA16
Gambar 2.1 Konfigurasi Kaki (Pin) ATMEGA16
Konfigurasi pin dari ATMEGA16 dengan kemasan 40 pin
Dual In Line Package (DIP) dapat dilihat pada gambar 2.1 di atas.
Fungsi dari masing-masing pin pada ATMEGA 16 adalah sebagai
berikut :
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground.
3. Port A (PA0-PA7) merupakan pin input/output dua arah full duplex
dan selain itu merupakan pin masukan ADC.
4. Port B (PB0-PB7) merupakan pin input/output dua arah (full
duplex) dan merupakan pin dengan fungsi khusus seperti terlihat
pada tabel dibawah ini :
Tabel 2.1. Fungsi Khusus Port B
Pin Fungsi Khusus
PB0XCX (USART External Clock Input/Output)T0 (Timer/Counter0 External Counter Input)
PB1 T1 (Timer/Counter1 External Counter Input)
PB2INT2 (External Interupt 2 Input)AIN0 (Analog Comparator Negative Input)
PB3 OCO (Timer/Counter0 Output Compare Match Output)AIN1 (Analog Comparator Negative Input)
PB4 SS (SPI Slave Select Input)PB5 MOSI (SPI Bus Master Output/Slave Input) PB6 MISO (SPI Bus Master Input/Slave Ouput)PB7 SCK (SPI Bus Serial Clock)
1. Port C (PC0-PC7) merupakan pin input/output dua arah
(full duplex) dan selain itu juga merupakan pin khusus
dengan fungsi seperti berikut :
Tabel 2.2. Fungsi Khusus Port C
Pin Fungsi KhususPC0 SCL (Two wire Serial Bus Clock Line) PC1 SDA (Two wire Serial Bus Data Input/Output Line)PC2 TCK (Join Test Action Group Test Clock)PC3 TMS (JTAG Test Mode Select)PC4 TDO (JTAG Data Out)PC5 TDI (JTAG Test Data In)PC6 TOSC1 (Timer Oscillator pin 1)PC7 TOSC2 (Timer Oscillator pin 2)
2. Port D (PD0-PD7) merupakan pin input/output dua arah (full
duplex) dan juga merupakan pin khusus dengan fungsi sebagai
berikut :
Tabel 2.3. Fungsi Khusus Port D
Pin Fungsi KhususPD0 RXD (USART Input Pin)PD1 TXD (USART Output Pin)PD2 INT0 (External Interupt 0 Input)PD3 INT1 (External Interupt 1 Input)PD4 OC1B (Timer/Counter1 Output Compare B Match Output) PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD6 ICP (Timer/Counter1 Input Capture Pin)PD7 OC2 (Timer/Counter2 Output Compare Match Output)
3. RESET merupakan pin yang digunakan untuk me-reset
mikrokontroler.
4. XTAL1 dan XTAL2 merupakan pin masukan external clock.
5. AVCC merupakan pin masukan tegangan untuk ADC.
6. AREF merupakan pin masukan tegangan referensi untuk ADC.
2.2. Bahasa C
2.2.1. Struktur Pemrograman C
Secara umum, pemrograman C paling sederhana dilakukan
hanya dengan menuliskan program utamanya saja, yaitu :
void main (void)
{
....
}
2.2.2. Header
Header berisi include file (.hex) yaitu library (pustaka) yang
akan digunakan dalam program, dengan header utama berupa header
jenis chip mikrokontroler yang dipakai.
Contoh :
#include <mega16.h>
.....
2.2.3. Percabangan
1. if – then
Bentuk umum dari percabangan ini adalah :
if (kondisi) {
//pernyataan
};
Artinya adalah pernyataan akan dijalankan jika kondisi terpenuhi.
2. if – then – else
Bentuk umum dari percabangan ini adalah :
If (kondis) {
//pernyataan a
}
else {
//pernyataan b
};
Artinya adalah pernyataan a akan dijalankan jika kondisi terpenuhi
dan pernyataan b akan dijalankan bila kondisi tidak terpenuhi.
2.2.4. Perulangan
1. for
Pernyataan for akan melakukan perulangan beberapa kali
sesuai dengan yang diinginkan. Stuktur penulisan perulangan for
yaitu :
......
for (mulai; kondisi; penambahan atau pengurangan) {
pernyataan-pernyataan;
};
Mulai adalah pemberian nilai awal, kondisi adalah pengkondisi
dalam for yaitu jika kondisi bernilai true maka pernyataan dalam
for akan dijalankan. Sedangkan penambahan atau pengurangan
adalah penambahan atau pengurangan terhadap nilai awal.
2.3. ADC (Analog to Digital Converter)
ADC adalah perangkat yang mengkonversi suatu input berupa
tegangan maupun arus analog atau menjadi suatu angka dalam bentuk digital.
Sebuah ADC dapat digunakan untuk membuat pengukuran yang terisolasi.
ADC juga digunakan untuk kualitas bervariasi suatu sinyal dengan
mengubahnya menjadi urutan sampel digital
Beberapa tipe dari ADC antara lain :
1. Tipe Integrating
ADC tipe ini menawarkan resolusi tertinggi dengan biaya terendah.
Tipe ini juga tidak membutuhkan rangkaian sample hold. ADC tipe ini
memiliki kelemahan yaitu waktu konversinya agak lama biasanya
beberapa milidetik.
2. Tipe Tracking
Tipe ADC ini menggunakan prinsip up down counter (pencacah
naik dan turun). Binary counter (pencacah biner) akan mendapat masukan
clock secara kontinyu dan hitungan akan bertambah atau berkurang
tergantung pada kontrol dari pencacah apakah sedang naik (up counter)
atau turun (down counter).
ADC tipe ini tidak menguntungkan jika dipakai pada sistem yang
memerlukan waktu konversi yang masukan keluaran singkat, sekalipun
pada bagian masukan tipe ini tidak memerlukan rangkaian sample hold.
ADC tipe ini sangat tergantung pada kecepatan clock pencacah. Semakin
tinggi nilai clock yang digunakan maka proses konversi akan semakin
singkat.
3. Tipe flash/paralel
Tipe ADC ini dapat menunjukkan konversi secara lengkap pada
kecepatan 100MHz dengan rangkaian kerja yang sederhana. Sederetan
tahanan mengatur masukan inverting dari tiap-tiap konverter menuju
tegangan yang lebih tinggi dari konverter sebelumnya. Jadi untuk tegangan
masukan (Vin) dengan full scale range komparator dengan bias dibawah
Vin akan mempunyai keluaran rendah. Keluaran komparator ini tidak
dalam bentuk biner murni. Suatu decoder dibutuhkan untuk membentuk
suatu keluaran yang biner. Beberapa komparator berkecepatan tinggi
dengan waktu tunda (delay) kurang dari 6 ns banyak digunakan, karena itu
dihasilkan kecepatan konversi yang sangat tinggi. Jumlah komparator yang
dibutuhkan untuk suatu konversi n bit adalah 2 n-1.
4. Tipe successive approximation
Tipe ADC ini merupakan suatu konverter yang paling sering
ditemui dalam desain perangkat keras yang menggunkan ADC. Tipe ini
memilki kecepatan konversi yang cukup tinggi tetapi dari segi harga relatif
mahal.
Prinsip kerja konverter tipe ini adalah dengan membangkitkan
pertanyaan-pertanyaan yang pada intinya berupa tebakan nilai digital
terhadap nilai tegangan analog yang dikonversikan. Apabila resolusi ADC
tipe ini adalah 2n maka diperlukan maksimal n kali tebakan.
Input ADC pada mikrokontroler dihubungkan ke sebuah 8 channel
analog multiplexer yang digunakan untuk single ended input channels. Jika
sinyal input dihubungkan ke masukan ADC dan 1 jalur lagi terhubung ke
ground, disebut single ended input. Jika input ADC terhubung ke dua buah
input ADC disebut sebagai differensial input yang dapat dikombinasikan
sebanyak 16 kombinasi. Empat kombinsi terpenting antara lain kombinasi
input differensial (ADC0 dengan ADC1 dan ADC2 dengan ADC3) dengan
penguatan yang dapat diatur. ADC0 dan ADC2 sebagai tegangan input
negatif, sedangkan ADC1 dan ADC3 sebagai tegangan input positif. Besar
penguatan yang dapat dibuat yaitu 20dB (10x) atau 46db (200x) pada
tegangan input differensial sebelum proses konversi ADC.
Secara umum, proses inisialisasi ADC meliputi proses penentuan
clock, tegangan referensi, format output data dan mode pembacaan. Register
yang perlu diset nilainya adalah ADMUX (ADC Multiplexer Selection
Register), ADCSRA (ADC Control and Status Register) dan SFIOR
(Special Function IO Register). ADMUX merupakan register 8 bit yang
berfungsi menentukan tegangan referensi ADC, format data output dan
saluran ADC yang digunakan.
Untuk memilih channel ADC mana yang digunakan (single ended atau
differensial), dilakukan dengan mengatur nilai MUX4 : 0 diberi nilai 00000B.
Tegangan referensi ADC dapat dipilih antara lain pada pin AREF, pin AVCC
atau menggunakan tegangan referensi internal sebesar 2,56V. Agar fitur ADC
mikrokontroler dapat digunakan maka ADEN (ADC Enable, dalam I/O
register ADCSRA) harus diberi nilai 1.
Setelah konversi selesai (ADIF high), hasil konversi dapat diperoleh
pada register hasil (ADCL, ADCH). Untuk konversi single ended, hasilnya
ialah : ADC = (Vin. 1024) / VRef.
Dimana Vin adalah tegangan pada input yang dipilih dan VRef adalah tegangan
referensi.
Jika hasil ADC = 000H, maka menunjukkan tegangan input sebesar
0V, jika hasil ADC = 3FFH menunjukkan tegangan input sebesar tegangan
referensi dikurangi 1 LSB. Sebagai contoh, jika diberikan Vin sebesar 0,2V
dengan VRef sebesar 5V, maka hasil konversi ADC = 41. Jika menggunakan
differensial channel hasilnya adalah 40,96. Bila digenapkan menjadi ± 39,40
karena ketelitian ADC ATMEGA 8535 sebesar ± 2LSB. Apabila yang
digunakan saluran differensial, maka hasilnya yaitu :
ADC = ((VPOS – VNEG) . GAIN . 512) / VREF
Dimana VPOS adalah tegangan pada input pin positif, VNEG adalah tegangan
pada input negatif, GAIN adalah faktor penguatan dan VREF adalah tegangan
referensi yang digunakan.
2.4. Code Vision AVR
Code Vision AVR merupakan sebuah cross compiler C, Integrated
Development Environtment (IDE) dan Automatic Program Generator yang
didesain untuk mikrokontroler buatan ATMEL seri AVR. Code Vision AVR
dapat dijalankan pada sistem operasi Windows 95, 98, ME, NT4, 2000 dan
XP.
Cross compiler C mampu menterjemahkan hampir semua perintah
dari bahasa ANSI C sejauh yang diijinkan oleh aristektur dari AVR dengan
tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur
AVR dan kebutuhan pada sistem embedded.
File object COFF hasil kompilasi dapat digunakan untuk keperluan
debugging pada tingkatan C dengan pengamatan variabel menggunkan
debugger ATMEL AVR Studio.
IDE mempunyai fasilitas internal berupa software AVR chip in system
programmer yang memungkinkan kita untuk melakukan transfer program ke
dalam chip mikrokontroler setelah sukses melakukan kompilasi secara
otomatis. Software In-system Programmer didesain untuk bekerja dengan
ATMEL STK500/AVRISP/AVRProg, Kanda System STK200+/300,
Dontronics DT006, Vogel Electronic VTEC-IS, Futurlec JRAVR dan
MicroTronics ATCPU /Mega2000 programmers/development boards. Untuk
keperluan debugging sistem embadded yang menggunkan komunikasi serial,
IDE mempunyai fasilitas internal yaitu berupa sebuah terminal.
Code Vision AVR memilki library tertentu yang digunakan untuk
modul LCD alphanumeric, bus I2C dari Philips, sensor suhu LM75 dari
National Semiconductor, real time clock (PCF8563, PCF8583 dari Philips,
DS1302 dan DS1307dari Maxim/Dallas Semiconductor), protocol 1-wire dari
Maxim/Dallas Semiconductor, sensor suhu (DS1820, DS18S20 dan DS18B20
dari Maxim/Dallas Semiconductor), thermometer/thermostat DS 1621 dari
Maxim/Dallas Semiconductor, EEPROM DS2430 dan DS2433 dari
Maxim/Dallas Semiconductor, SPI, Power Management, Delay, Konversi ke
kode gray.
Code Vision AVR juga mempunyai Automatic Program Generator
bernama Code Wizard AVR yang mengijinkan kita untuk menulis dalam
hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-
fungsi berikut :
1. Set-up akses memori eksternal.
2. Identifikasi sumber reset untuk chip.
3. Inisialisasi port input/output.
4. Inisialisasi interupsi eksternal.
5. Inisialisasi timer/counter.
6. Inisialisasi watchdog-timer.
7. Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang
digerakkan oleh interupsi.
8. Inisialisasi pembanding analog.
9. Inisialisasi ADC.
10. Inisialisasi antarmuka SPI.
11. Inisialisasi antarmuka two wire.
12. Inisialisasi antarmuka CAN.
13. Inisialisasi BUS I2C, sensor suhu LM75, thermometer/thermostat
DS1621 dan real time clock PCF8563, PCF8583, DS1302 dan DS1307.
14. Inisialisasi bus 1-wire dan sensor suhu DS1820, DS18S20.
15. Inisialisasi modul LCD.
2.5. LCD (Liquid Crystal Display)
LCD adalah salah satu komponen elektronika yang berfungsi sebagai
tampilan suatu data, baik karakter, huruf ataupun grafik. Di pasaran tampilan
LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta
rangkaian pendukungnya termasuk ROM dll. LCD mempunyai pin data,
kontrol catu daya dan pengatur kontras tampilan (Ary Heryanto,2008:90)
Tabel 2.4. Konfigurasi Pin LCD 16 x 2
Pin No Nama Fungsi Keterangan
1 Vss Power GND
2 Vdd Power +5V
3 Vee Contrast Adj. (-2) 0 – 5V
4 RS Command Register Select
5 R/W Command Read/Write
6 E Command Enable
7 D0 I/O Data LSB
8 D1 I/O Data
9 D2 I/O Data
10 D3 I/O Data
11 D4 I/O Data
12 D5 I/O Data
13 D6 I/O Data
14 D7 I/O Data MSB
Fungsi dari pin-pin pada rangkaian LCD yaitu :
1. Pin data, dapat dihubungkan dengan bus data dari rangkaian lain seperti
mikrokontroler dengan lebar data 8 bit.
2. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan
jenis data yang masuk apakah data atau perintah. Logika low menunjukkan
yang masuk adalah perintah sedangkan logika high menujukkan data.
3. Pin R/W (Read/Write) berfungsi sebagai instruksi pada modul jika low
tulis data, jika high baca data.
4. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Gambar 2.2 Rangkaian LCD 16 x 2
(Ary Heryanto,2008:90)
(Ary Heryanto,2008:91)
2.6. Resistor
Resistor adalah komponen elektronika yang berfungsi untuk
menghambat arus listrik dan menghasilkan nilai resistansi tertentu.
Kemampuan resistor dalam menghambat arus listrik sangat beragam
disesuaikan dengan nilai resistansi resistor tersebut.
Gambar 2.3. Simbol Resistor
Resistor memiliki beragam jenis dan bentuk. Diantaranya resistor
yang berbentuk silinder, SMD (Surface Mount Devices) dan wirewound.
Sedangkan jenis resistor antara lain komposisi karbon, metal film,
wirewound, smd dan resistor dengan teknologi film tebal.
Resistor yang paling banyak beredar dipasaran umum adalah resistor
dengan bahan komposisi karbon dan metal film. Resistor ini biasanya
berbentuk silinder dengan pita-pita warna yang melingkar di badan resistor.
Pita-pita warna dikenal sebagai kode resistor. Dengan mengetahui kode
resistor kita dapat mengetahui nilai resistansi resistor, toleransi, koefisiensi
temperatur dan reliabilitas resistor tersebut.
Resistor dengan kode warna terdiri dari 3 macam yaitu :
1. Resistor 4 pita warna dengan 1 pita warna untuk toleransi.
2. Resistor 5 pita warna dengan 1 pita warna untuk toleransi.
3. Resistor 5 pita warna dengan 1 pita warna untuk toleransi dan 1 pita warna
untuk reliabilitas.
Gambar 2.4. Resistor
Tabel 2.5. Kode Warna Resistor
2.7. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan
ataupun modulasi sinyal.
Transistor memiliki dua tipe dasar yaitu transistor bipolar (BJT) dan
transisitor unipolar (FET). Transisitor bipolar menggunakan dua polaritas
pembawa muatan yaitu elektron dan lubang untuk membawa arus listrik.
Dalam transistor bipolar, arus listrik utama harus melewati satu
daerah/lapisan pembatas dan ketebalan lapisan ini diatur dengan kecepatan
tinggi dengan tujuan untuk mengatur aliran arus utama tersebut. Sedangkan
transistor unipolar (FET) hanya menggunakan satu jenis pembawa muatan
(elektron atau hole). Dalam FET, arus listrik utama mengalir dalam satu kanal
konduksi sempit lapisan pembatas dikedua sisinya dan ketebalan dari daerah
perbatasan ini dapat diubah dengan perubahan tegangan yang diberikan.
Gambar 2.5. Simbol Transistor
2.8. Kapasitor
Kapasitor atau kondensator (C) adalah komponen dasar elektronika
yang termasuk dalam komponen pasif yang digunakan untuk menyimpan
muatan listrik dalam jangka waktu tertentu. Satuan dari kapasitor adalah
Farad. Satu Farad = 9 x 1011 cm2.
Kapasitor pada umumnya terdiri atas dua plat logam yang dipisahkan
oleh suatu bahan penyekat, biasa disebut bahan dialektrika yaitu berupa
vakum udara, keramik, gelas, mika dan lain-lain. Jika kedua ujung plat metal
diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada
salah satu kaki (elektroda) metalnya dan pada saat yang sama muatan-muatan
negatif terkumpul pada ujung metal yang lainnya. Muatan positif tidak dapat
mengalir menuju ujung kutub negatif dan sebaliknya muatan negatif tidak
bisa menuju ke ujung positif karena terpisah oleh bahan dialektrik yang non
konduktif.
Kapasitor dibagi dalam beberapa jenis yaitu kapasitor yang memiliki
kapasitas tetap (kapasitor non polar), kapasitor yang memiliki polaritas pada
kedua kakinya yaitu polaritas + dan polaritas – (kapasitor polar) dan kapasitor
yang memiliki kapasitas yang dapat diubah-ubah (kapasitor variabel).
C
Gambar 2.6. Simbol Kapasitor Non Polar
Gambar 2.7. Simbol Kapasitor Polar
Gambar 2.8. Simbol Kapasitor Variabel
Gambar 2.9 Jenis-jenis Kapasitor
2.9. Tegangan Listrik
Tegangan listrik (voltage) adalah perbedaan potensi listrik antara dua
titik dalam rangkaian listrik. Tegangan dinyatakan dalam satuan volt (V).
Besaran ini mengukur energi potensial sebuah medan listrik yang
menyebabkan aliran listrik dalam sebuah konduktor listrik. Tegangan listrik
dapat dikatakan sebagai ekstra rendah, rendah, tinggi dan ekstra tinggi
tergantung pada beda potensi listrik tersebut. Tegangan merupakan nilai dari
potensial energi antara dua titik. Besarnya tegangan listrik ini bisa kita ukur
dengan cara menghubungkan alat ukur secara paralel dengan tegangan
sumber rangkaian (lihat gambar dibawah ini).
Gambar 2.10. Skema Pengukuran Tegangan
Tegangan listrik terdiri dari dua jenis yaitu tegangan listrik AC dan
tegangan listrik DC. Tegangan listrik AC adalah tegangan bolak-balik
(alternate current) dimana sumber tegangan ini dihasilkan dari listrik PLN.
Sedangakan tegangan listrik DC adalah tegangan searah (direct current)
dimana sumber tegangan ini dihasilkan dari peralat seperti ACCU, battrey
maupun adaptor.
BAB III
PERANCANGAN SISTEM
3.1. Peralatan dan Bahan
Pembuatan alat Sistem Pengatur Ketinggian Air otomatis Berbasis
Mikrokontroler ATMEGA16 ini memerlukan beberapa peralatan dan bahan
yaitu antara lain :
1. PCB.
2. Solder dan timah.
3. Minimum system mikrokontroler ATMEGA16.
4. LCD display 16 x 2.
5. Power Supply 12 Vdc dan 5 Vdc
6. Kabel AC.
7. AC connector.
8. Pompa air.
9. Toples plastik (tandon air)
3.2. Perancangan Perangkat Keras
Perancangan merupakan bagian yang terpenting dari seluruh
pembuatan tugas akhir ini yang pada perinsipnya perancangan dan
POMPAMikrokontr
olerAT89S51LCD
Mikrokontroler
AT89S51
MikrokontrolerATMEGA 16
DRIVERMikrokontr
olerAT89S51
SENSOR BATAS ATASMikrokontr
olerAT89S51SENSOR BTS BAWAH
sistematika yang baik akan memberikan kemudahan-kemudahan proses
dalam pembuatan alat. Adapaun diagram blok dari perancangan perangkat
keras Sistem Pengatur Ketinggian Air otomatis Berbasis Mikrokontroler
ATMEGA16 adalah seperti dibawah ini :
Gambar 3.1 Blok Diagram Alat
Untuk mengetahui Cara kerja dari Pengatur Ketinggian Air
Otomatis Berbasis Mikrokontroler ATMEGA16 berdasarkan blok diagram
alat diatas yaitu saat power supply menyala (ON) akan membuat minimum
sistem ATMEGA16, LCD display juga dalam posisi menyala (ON).
Pada saat sensor bawah Off kemudian sinyal dikendalikan oleh
rangkaian mikrokontroler selanjutnya driver akan mengaktifkan pompa dan
mengisi air pada tandon hasilnya akan ditampilkan di LCD (ON).
Pada sensor atas ON / terkena air, kemudian sinyal dikendalikan
oleh rangkaian mikrokontroler selanjutnya driver akan mematikan pompa dan
hasilnya ditampilkan di LCD (Off). Ketika air habis dan sensor bawah Off
tidak terkena air maka pompa akan kembali mengisi air hasilnya akan
ditampilkan di LCD (ON) demikian seterusnya.
3.2.1. Perancangan Sensor
Dalam perancangan sensor (sensor batas terendah dan
sensor batas tertinggi), dapat memanfaatkan sebuah bahan penghantar
B
A
C
SENSORSLANG
(konduktor) seperti tembaga, timah. Pada perancangan disini
menggunakan kabel sebagai sensornya.
Sensor terdiri dari tiga bagian, yaitu sensor A (sebagai
sensor normal) yang harus selalu terendam dalam air, sensor B
( sebagai sensor batas terendah) yang berfungsi untuk memberikan
sinyal ketika air dari permukaan tinggi menuju rendah, sehingga
memberikan trigger untuk diumpankan pada rangkaian mikrokontroler
ATMEGA16, sensor C (sebagai sensor batas teratas ) untuk
memberikan sinyal ketika air terisi dari permukaan terendah menuju
tinggi, dimana ketika air menyentuh sensor batas tertinggi pada saat
inilah trigger untuk diumpankan ke rangkaian mikrokontroler
ATMEGA16
Gambar 3.2. Bagian sensor tampak samping
Pada perancangan sensor disini memanfaatkan toples
plastik untuk menempatkan rangkaian sensor. Pada bagian ini terdapat
lubang yang digunakan untuk menempatkan slang. Bagian sensor
terbuat dari kabel yang terdiri dari sensor C ( sensor batas atas), sensor
B ( sensor batas bawah ), sensor paling bawah (sensor netral/ Ground)
slang untuk mengisi air dan slang untuk mengosongkan air Pembuatan
lubang ini menggunakan alat bantu bor.
3.2.2. Rangkaian Mikrokontroler ATMEGA16
Mikrokontroller ATMEGA16 adalah suatu chip IC yang
terdiri dari 40 pin, dalam perancangan alat ini pin-pin yang digunakan
adalah :
1. PC’0 s/d PC’7 digunakan untuk tampilan LCD
2. PD’6 dan PD’7 digunakan untuk untuk rangkaian sensor
3. Pin/kaki Chip 12 digunakan sebagai X-TAL2
4. Pin/kaki Chip 13 digunakan sebagai X-TAL1
5. Pin/kaki Chip 32 dan 30 digunakan sebagai AREF dan
AVCC.
6. PB’0 digunakan sebagai masukan rangkian Driver
7. Pin 11(GND) digunakan sebagai ground
8. Pin 10 (VCC) digunakan sebagai sumber tegangan
Gambar 3.3. Rangkaian Mikrokontroler ATMEGA16
3.2.3. Rangkaian Driver
Keluaran dari Rangkaian mikrokontroler ATMEGA16
kemudian masuk kerangkaian Driver (PB’0) yang kemudian
diumpankan ke relay, dimana rangkaian tersebut diperlukan sebuah
rangkaian penguat tegangan. Rangkaian penguat tegangan dapat
dibangun dari komponen transistor. Transistor T1 (9012) berfungsi
sebagai saklar terbuka dimana ketika PB’0 berlogika (0). Setelah
transistor T1 (9012) terbuka maka transistor Q1 (TIP131) juga dalam
kondisi terbuka karena ada sumber tegangan sehingga relay on dan
pompa menyala. Jika PB’0 berlogika 1 transistor T1 (9012) berfungsi
sebagai saklar tertutup, sehingga transistor Q1 tidak ada sumber
tegangan maka relay dalam kondisi off dan pompa berhenti.
Pada rangkaian tersebut Relay berfungsi sebagai
penghubung dan pemutus (tegangan AC Pompa air), yang fungsinya
sama dengan saklar tetapi saklar disini adalah saklar elektronik.
Gambar 3.4. Rangkaian Driver
Sedangkan Dioda IN 4001 yang dipararel dengan Relay
berfungsi sebagai pemblokir tegangan ketika pada relay terjadi induksi
agar tidak terjadi hubungan singkat.
3.2.4. Pompa Air
Pompa air adalah suatu alat yang berfungsi untuk
memompa air dimana pada bagian pompa air ini menggunakan pompa
air pada aquarium ikan hias yang dijual dipasaran . Pada sistem disini
pompa air berfungsi untuk mengisi air dan menghentikan air masuk
kepenampung air (tandon) sesuai masukan yang diterima dari
rangkaian driver, dimana ketika relay dalam kondisi ON(Menyala)
pompa berfungsi mengisi air pada penampung air dan sebaliknya
ketika relay dalam kondisi OFF (mati) pompa air berhenti mengisi
air.
Adapun gambar dari pompa air terlihat pada gambar 3.5.
dibawah ini :
Gambar 3.5 Pompa air
3.2.5. Power Supply
Rangkaian Power Supply digunakan untuk memberi
tegangan ke dalam mikrokontroler yang stabil dan mempunyai
arus yang cukup ke dalam mikrokontroler sehingga tidak terjadi
tegangan turun saat dioperasikan. Mikrokontroler ATMEGA16
membutuhkan sebuah tegangan tunggal sebesar +4,5 sampai +5
Volt dan relay membutuhkan tegangan sebesar 12 Volt untuk dapat
aktif. Untuk itu dibuatlah catu daya dengan komponen sebagai
berikut. Transformator sebesar 500 mA digunakan untuk menurunkan
tegangan bolak-balik dari PLN yang sebesar 220 volt menjadi
tegangan yang lebih kecil yaitu 5 volt yang digunakan untuk
menghidupkan mikrokontroler dan 12 volt untuk mengaktifkan relay
untuk mengendalikan pompa. Tegangan bolak-balik yang telah
diturunkan ini kemudian disearahkan oleh dioda penyearah yang
disusun dalam susunan jembatan (bridge) dan hasil penyearahan
adalah tegangan searah dengan tegangan sebesar 15 volt untuk
menggerakkan relay. IC 7805 digunakan untuk menstabilkan
tegangan tersebut menjadi tegangan 5 volt dan IC 7812 digunakan
untuk menstabilkan tegangan tersebut menjadi tegangan 12 volt yang
selanjutnya digunakan untuk mencatu rangkaian.
Gambar 3.6. Rangkaian Power Supply
3.2.6. Pembuatan Kotak Rangkaian
Pembuatan kotak dimulai dengan menggambar pola pada
papan acrylic sesuai desain rancangan kemudian dipotong per bagian.
Tempat RangkaianMikrokontroler AT16
Trafo
L C D
Rangkaian MikrokontrolerATMEGA 16
Rangkaian Power Supply
Bagian pertama yang dibuat yaitu bagian dasar/alas Bentuk dari
dasar/alas kotak adalah :
Gambar 3.7. Bagian Dasar Untuk Penempatan Rangkaian
Proses berikutnya adalah membuat bagian sumber air
dimana pada bagian ini memanfaatkan toples plastik. Pada bagian ini
didalamnya terdapat pompa air untuk yang digunakan untuk menyedot
SLANG
Pompa Air
BA
C
SENSORSLANG
Wadah sensor
air, slang untuk mengalirkan air. Adapun gambar dari sumber air
adalah :
Gambar 3.8. Bagian TampakSamping dari umber air
3.3 . Perencanaan Perangkat Lunak
3.3.1. Flowchart
Dari gambar flow chart dibawah ini maka dapat dijelaskan
bahwa pertama diawali dengan mulai atau start, kemudian masuk ke
bagian inialisasi Input dan Output (I/O), inialisasi ADC (Analog
Digital to Conventer) 8 bit, tugas ADC akan membaca sinyal yang
berasal dari sensor dimana pada sensor memiliki dua keadaaan yaitu
sensor atas dan ensor bawah. Jika sensor bawah Off akan
mengaktifkan pompa dan mengisi air pada tandon hasilnya akan
ditampilkan di LCD (ON), ketika sensor atas ON / terkena air pompa
akan mati hasilnya ditampilkan di LCD (Off). Ketika air habis dan
sensor bawah Off tidak terkena air maka pompa akan kembali mengisi
air hasilnya akan ditampilkan di LCD (ON) demikian seterusnya.
Flowchart sistem kerja mikrokontroler pada Pengatur
Ketinggian Air otomatis Berbasis Mikrokontroler dengan
ATMEGA16 ini adalah sebagai berikut :
Y
T
T
Y
T
Y
Start
Listrik off?
Inisialisasi I/O
Baca sensor Tampilkan di LCD
Sensor bawah off?
Pompa on
Baca sensor Tampilkan di LCD
Sensor atas on?
Gambar 3.9. Flowchart Tandon Air Otomatis Berbasis
Mikrokontroler ATMEGA16
3.3.2. Perancangan Program
#include <mega16.h>
#include <delay.h>
#include <stdio.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
#define pompa PORTB.0
#define ADC_VREF_TYPE 0x20
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
Pompa off
End
}
// Declare your global variables here
unsigned char layar_1[16],layar_2[16];
unsigned char up_level,down_level;
void init_io(void) //inisialisasi input output
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=InFunc0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T
State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T
State0=T
PORTB=0x01;
DDRB=0x01;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T
State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In
Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T
State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
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: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 172,800 kHz
// ADC Voltage Reference: AREF pin
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x86;
// LCD module initialization
lcd_init(16);
}
void title(void) //tampilan judul
{
lcd_gotoxy(0,0);
lcd_putsf("Sistem Detektor");
lcd_gotoxy(0,1);
lcd_putsf(" Level Air");
delay_ms(2000);
}
void view() //tampilan kondisi sensor dan pompa di lcd
{
lcd_clear();
if(up_level<175)sprintf(layar_1,"Up:ON");
else sprintf(layar_1,"Up:OFF");
lcd_gotoxy(0,0);lcd_puts(layar_1);
if(pompa==1)sprintf(layar_2,"Pompa:OFF");
else sprintf(layar_2,"Pompa:ON");
lcd_gotoxy(0,1);lcd_puts(layar_2);
if (down_level<175)sprintf(layar_1,"Down:ON");
else sprintf(layar_1,"Down:OFF");
lcd_gotoxy(7,0);lcd_puts(layar_1);
delay_ms(3);
}
void read_sensor()
{
up_level=read_adc(1); //baca sensor atas
down_level=read_adc(0); //baca sensor bawah
}
void main()
{
init_io(); //inisialisasi input output
title(); //tampil judul di lcd
start:
for(;;)
{
read_sensor(); //baca ADC sensor
view(); //tampilkan kondisi sensor dan pompake lcd
if(down_level>175) {pompa=0; break;} //jika sensor bawah off maka
pompa on -->keluar dr looping
delay_ms(200); //tunda 200ms
}
for(;;)
{
read_sensor(); //baca ADC sensor
view(); //tampilkan kondisi sensor dan pompa ke lcd
if(up_level<175) {pompa=1; break;} //jika sensor atas on maka pompa
mati ---> kelular dr looping
delay_ms(200); //tunda 200ms
}
goto start; //kembali ke start
3.3.3. Memasukkan File Hexa Ke Dalam Mikrokontroler
Tahap selanjutnya setelah semua komponen dirakit dan
dipasang pada akrilik kemudian tahap berikutnya adalah memasukkan
file hexa ke dalam mikrokontroler. Langkah-langkah memasukkan file
hexa tersebut adalah sebagai berikut :
1. Instal software Code Vision AVR ke komputer.
2. Pasang alat USB AVR Programmer dan lakukan instalasi driver
USB AVR Programmer ke komputer.
3. Hubungkan USB AVR Programmer dengan port pemrogram pada
minimum sistem mikrokontroler ATMEGA16.
4. Jalankan program Code Vision AVR.
5. Pada program Code Vision AVR, klik menu Setting
Programmer. Akan mucul jendela Programmer Setting. Pada
bagian AVR Chip Programmer Type pilih Atmel AVRProg
(AVR910), kemudian pilih Port sesuai dengan port yang
menghubungkan antara USB AVR Programmer dengan port
pemrogram pada minimum sistem mikrokontroler ATMEGA16.
Setelah itu setting nilai baud rate 115200.
6. Buka Chip Progammer pada bagian Tools. Akan muncul jendela
tampilan Code Vision AVR Chip Programmer Jendela ini akan
digunakan untuk proses memasukkan file hexa ke dalam
mikrokontroler ATMEGA16.
7. Pada tampilan Code Vision AVR Chip Programmer, tekan Read
Chip Signature untuk memeriksa apakah USB AVR Programmer
bisa berkomunikasi dengan port pemrogram pada minimum sistem
mikrokontroler ATMEGA16.
8. Setelah memastikan port USB AVR Programmer terhubung dengan
port ADC mikrokontroler proses selanjutnya adalah menghapus
chip. Proses ini bertujuan untuk membersihkan chip mikrokontroler
sebelum dimasuki program baru. Tekan menu Program Erase
Chip.
9. Proses selanjutnya adalah melakukan Load Flash. Pilih menu File
Load Flash, pilih file dv.hex, klik Open.
10.Proses memasukkan file hexa siap dilakukan. Tekan menu
Program Flash, tunggu hingga 100%.
11.Proses memasukkan file hexa selesai dilakukan.
BAB IV
PENGUJIAN ALAT
4.1. Pengujian Alat
Pengujian alat dimaksudkan untuk menguji kinerja tiap blok bagian
alat secara keseluruhan. Pengujian dapat dilakukan dengan memberikan
sinyal masukan pada rangkaian yang diuji, menganalisis sinyal keluaran,
tinjauan rancangan dan perbaikan kinerja. Pemberian sinyal masukan diawali
dengan pemberian sumber tegangan.
Apabila sinyal keluaran telah sesuai maka pengujian tiap blok
dihentikan dan pada bagian blok tersebut dinyatakan telah berfungsi dengan
baik dan dilanjutkan pada pengujian blok berikutnya. Namun apabila sinyal
keluaran belum mencapai kondisi yang dikehendaki, maka dilakukan
perbaikan dengan mengganti nilai komponen-komponen yang lain .Tidak
C
A
B
menutup kemungkinan penggantian komponen aktif (Transistor, IC) jika
komponen tersebut ternyata rusak sehingga tidak dapat bekerja dengan baik .
4.2. Pengujian Rangkaian Power Supply
Pengujian terhadap catu daya dilakukan dengan mengukur nilai
tegangan pada beberapa titik ukur. Gambar 4.1. adalah rencana titik uji pada
rangkaian power Supply.
Gambar 4.1 Pengujian rangkaian power SupplySumber tegangan yang digunakan dalam sistem ini adalah sumber
tegangan DC sebesar 12V dan 5V. Gambar rangkaian yang diuji tunjukkan
pada Gambar 4.13. Power supply diuji pertama kali, karena digunakan untuk
menjalankan sistem secara keseluruhan. Tegangan 5V digunakan untuk
menjalankan mikrokontroler, dan driver.
Setelah dilakukan percobaan dan pengujian seperti pada Gambar 4.1.
Tabel 4.1 Hasil Pengukuran Catu DayaNo Titik Uji Hasil ukur (V)
1 Titik A 11,97V
2 Titik B 12,2V
ke Pompa
AC 220
AC 220
A B
3 Titik C 4.98V
Berdasarkan data pengamatan pada Tabel 4.1. diketahui bahwa nilai output
dari trafo step down adalah 11,97V. Nilai tegangan ini berasal dari trafo step
down yang menurunkan tegangan dari AC 220V ke AC 12V. Nilai tegangan
ini kemudian disearahkan dengan dua buah dioda dengan sistem penyearah
gelombang penuh. Keluaran dioda ini setelah diberi kapasitor nilainya terukur
sebesar 12,2V. Tegangan 12,2V ini terlalu besar untuk memberikan suplai
mikrokontroler sehingga digunakan regulator 7805 seperti pada Gambar 4.7.
Regulator 7805 menghasilkan tegangan keluaran sebesar output terukur
4.98V. Nilai keluaran ini digunakan untuk memberikan suplai
mikrokontroler, yang membutuhkan tegangan kerja 5V.
4.3. Pengujian Rangkaian driver
Pengujian rangkaian driver dilakukan dari keluaran mikrokontroler
menuju percabangan resistor 10K dan resistor 1K (titik A). Selanjutnya pada
titik A tersebut diukur tegangannya terhadap Ground, kemudian langkah
berikutnya adalah mengukur tegangan basis (VB) dengan tujuan untuk
mengetahu rangkaian driver sudah bekerja dengan baik yang ditunjukan pada
saat relay On= pompa Off dan pada saat relay Off = pompa On. Adapun
gambar pengukuran terlihat pada gambar 4.8. dibawah ini
Gambar 4.2. Pengujian rangkaian driver
Dari hasil pengukuran didapatkan data sebagai berikut :
Tabel 4.2 Hasil Pengukuran rangkaian Driver
Kondisi titik A
Titik B (Tegangan Basis/VB)
Kondisi RelayOut ke pompa
(Volt )Kondisi Pompa
0,3V 4.7V Close (ON) 0VAC Pompa off
4,9V 0,5V Open (Off) 219VAC PompaOn
Dari hasil pengukuran diatas ketika kondisi titik A =0, 3 V, pada
titik B=4,7 V maka pada kondisi relay = Close ( ON) tegangan pada keluaran
pompa = 0 V artinya kondisi pompa air mati sehingga tidak mengisi air.
Selanjutnya ketika kondisi titik A = 4,9 V, pada titik B= 0,5 V maka pada
kondisi relay = Open ( Off) tegangan pada keluaran pompa = 219 V artinya
kondisi pompa air menyala sehingga akan mengisi air.
4.4. Pengujian Alat Utuh
Pengujian dilakukan menggunakan toples, kondisi ini menyerupai
kondisi yang sebenarnya di dalam tandon air. Pada saat pengujian semua
bagian berjalan sebagaimana mestinya. Pada sensor air telah bekerja mampu
memberikan umpan ke bagian kontroller. Bagian kontroller juga mampu
merespon umpan dari sensor air. Bagian kontroller melanjutkan ke bagian
relay driver dan diteruskan untuk memberikan instruksi ke bagian LCD dan
pompa air.
.
Gambar 4.3 Rangkaian saat air penuh
Gambar 4.4 Rangkaian saat air berkurang
Gambar 4.5 Saat air tandon berkurang pompa air hidup
Gambar 4.6 Saat air tandon penuh pompa air mati
4.5. Cara Penggunaan Alat
a. Pasang sensor kedalam bak mandi. Kemudian sensor tersebut ditempel di
dinding tandon air.
b. masukkan steker kedalam terminal jala listrik.
c. Tandon air siap digunakan dan alat bekerja.
BAB V
PENUTUP
5.1. Kesimpulan
Dari penelitian yang telah dilakukan dapat diambil kesimpulan:
1. Dapat membantu dan mempermudah pekerjaan manusia dalam pengisian
tandon air, karena pengguna tidak perlu mematikan dan menghidupkan
pompa air ketika air penuh dan habis.
2. Sistem ini menggunakan sistem otomatis bila air penuh pompa mati sendiri
dan ketika air habis pompa akan menyala dengan sendirinya.
3. Penggunaan LCD digunakan untuk mengetahui dan menampilkan keadaan
level air sehingga mempermudah proses pembacaan hasil pengamatan.
5.2. Saran
Alat ini dapat dikembangkan lebih lanjut sehingga bisa menjadi
sempurna, beberapa pengembangan yang bisa dilakukan diantaranya adalah :
1. Dari segi desain bisa dirancang dengan ukuran yang lebih kecil sehingga
akan mudah dibawa kemana-mana.
2. Alat ini menggunakan sumber tenaga arus dari listrik sehingga ketika tidak
ada listrik alat ini tidak bisa digunakan. Pengembangan yang bisa
dilakukan adalah mengganti sumber tenaganya dengan batu baterei
sehingga meski tidak ada listrik sekalipun alat ini masih bisa digunakan
dan lebih praktis untuk dibawa karena tidak memerlukan kabel.