TANDON AIR OTOMATIS BERBASIS MIKROKONTROLER ATMEGA16
SKRIPSI
diajukan oleh :
Danang Saktyo Yudhanto 2077200278
PROGRAM STUDI SISTEM KOMPUTER SEKOLAH TINGGI MANAJEMEN INFORMATIKA 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 Surakarta Di :SURAKARTA
Nota Dinas Hal : Skripsi Saudara Danang Saktyo Yudhanto Kepada Yth. Ketua STMIK-AUB Surakarta Di : SURAKARTA 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) -AUB) Surakarta. Surakarta 7 Maret 2012 Pembimbing Pembimbing I
Dwiyono, ST. NIPY : 097/D/AUB/2002
Pembimbing Pembimbing II
H. Ary Setyadi, ST. 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 d iterima sebagai salah satu persyaratan untuk memperoleh gelar Sarjana Komputer Tanggal 7 Maret 2012 KETUA STMIK-AUB SURAKARTA
Drs. Dwi Kuncoro. M.Kom NIPY : 141/D/AUB/1991 141/D/AUB/1991
PERSETUJUAN SKRIPSI
Nama
: Danang Saktyo Yudhanto
Nomor Induk Mahasiswa Mahasiswa
: 2077200278
Program Studi
: Sistem Komputer
Judul Kerja Praktek Prakt ek
: Tandon Air Otomatis Oto matis Berbasis Mikrokontroler Mikrokontroler ATMEGA16
Dosen Pembimbing
: 1. Dwiyono, 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 Gelar Sarjana Strata 1 (S-1) ( S-1) Ilmu Komputer Surakarta, 7 Maret 2012 Ketua STMIK-AUB Surakarta
Drs. Dwi Kuncoro, M.Kom NIPY : 141/D/AUB/1991 141/D/AUB/1991
Yayasan Karya Dharma Pancasila (YKDP) Surakarta SEKOLAH TINGGI MANAJEMEN INFORMATIKA I NFORMATIKA DAN KOMPUTER “ADI UNGGUL BHIRAWA” SURAKARTA STMIK -AUB STMIK -AUB SURAKARTA STMIK-AUB : Jl. MW. Maramis 29, Cengklik, Nusukan, Surakarta 57135 Telp. (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 Ko mputer Judul
: Tandon Air Otomatis Oto matis Berbasis Mikrokontroler 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
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 segala bantuan, dorongan, dorongan, maupun maupun spirit spirit untuk tetap maju maju
KATA PENGANTAR
Segala puji dan syukur Alhamdulillah senantiasa penulis panjatkan kehadirat Allah SWT yang yang selalu melimpahkan 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 PENGESAHAN .................. ......... ................... ................... .................. ................... ................... ............. ....
iii
HALAMAN PERSETUJUAN................... PERSETUJUAN.................................... ................................... .................................... ....................
iv
HALAMAN PERNYATAAN PERNYATAAN KEASLIAN ......................... ................ .................. ................... .............. .... .
v
HALAMAN MOTTO ................... .......... ................... ................... .................. ................... ................... .................. ............... ...... .
vi
HALAMAN PERSEMBAHAN....................... PERSEMBAHAN........................................ ................................... ................................ .............. vii KATA PENGANTAR................... PENGANTAR....................................... ................................ .............................. ................................... ................. viii DAFTAR ISI ................................... ........................................................... ........................................ .................................... ....................... ...
ix
ABSTRAK ......... .................. ........ ................... .................. ................... ................... .................. ................... ................... ............... ......
x
ABSTRACK ABSTRACK................................. ................................................. ................................. ................................. .............................. ..............
xi
BAB I PENDAHULUAN 1.1. Latar belakang belakang masalah ................... ......... ................... .................. ................... ................... ...........
1
1.2. Rumusan masalah ................... ......... ................... .................. ................... ................... .................. .........
3
1.3. Batasan masalah ................... ......... ................... .................. ................... ................... .................. ............ ...
3
1.4. Tujuan penelitian... penelitian............. ................... ................... ................... ................... ................... ................ .......
3
1.5. Manfaat penelitian penelitian ................... ......... ................... .................. ................... ................... .................. .........
4
1.6. Tinjauan Pustaka .................. ......... ................... ................... .................. ................... ................... ...........
4
1.7. Metode Penelitian Penelitian ................... ......... ................... .................. ................... ................... .................. .........
7
1.8. Sistematika Penulisan............................. Penulisan.............................................. ................................. ................
10
BAB II II LANDASAN TEORI 2.1. Mikrokontroler ATMEGA16 ................... ......... ................... ................... ................... ...........
11
2.2. Bahasa Bahasa C ................... .......... ................... ................... .................. ................... ................... .................. ............ ...
16
2.3. ADC (Analog to Digital Donverter) ................... .......... ................... ................... ...........
18
2.4. Code Vision Vision AVR.................. AVR......... ................... ................... .................. ................... ................... ...........
22
2.5. LCD (Liquid Crystal Display)...................... Display)............. ................... ................... ................ .......
24
2.6. Resistor ................... .......... ................... ................... .................. ................... ................... .................. ............... ......
26
2.7. Transistor ................... .......... ................... ................... .................. ................... ................... .................. ............ ...
27
2.8. Kapasitor Kapasitor ................... ......... ................... .................. ................... ................... .................. ................... .............. ....
28
2.9. Tegangan Listrik .......................................... ............................................................ ............................ ..........
30
BAB III PERANCANGAN SISTEM 3.1. Peralatan Dan Bahan.................... Bahan........... ................... ................... ................... ................... ............. ....
32
3.2. Perancangan Perancangan Perangkat Keras ................... ......... ................... ................... ................... ...........
32
3.3. Perencanaan Perencanaan Perangkat Lunak ................... .......... ................... ................... .................. .........
41
BAB IV PENGUJIAN ALAT 4.1. Pengujian Pengujian Alat ................... ......... ................... .................. ................... ................... .................. ............... ......
51
4.2. Pengujian Pengujian Rangkaian Power Supplay ................... ......... ................... .................. .........
51
4.3. Pengujian Pengujian Rangkaian Driver .................................... .................................................... ................
53
4.4. Pengujian Alat Utuh .................................... ................................................... .......................... ........... ..
54
4.5. Cara Penggunaan 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 memerintahkan pompa pompa air untuk mengalirkan dan mematikan mematikan air dalam tandon air. Kata Kunci: Otomatisasi, pompa air, Mikrokontroler ATMEGA16 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 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 menggunakan air. Pemborosan air air biasa terjadi t erjadi ditempattempat penampungan penampungan air seperti sepert i 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 menggunaka menggunakan n 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 Manfaat-manfaat terseb t ersebut ut 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 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, Syaryadhi,
Agus
Adria,
dan
Syukurullah,
(2007),
menghasilkan sistem kendali kran air wudhu menggunakan sensor pir passive infrared receiver ) berbasis mikrokontroler. Sensor PIR ( passive
bekerja dengan baik pada suhu 86 oF – 158 oF atau 16 oC - 56 oC Datasheet RE200B Pyroelektric Pyroelektric Infrared ). ( Datasheet ). 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 Perancangan Program Merancang program yang nantinya akan dimasukkan ke dala m mikrokontroler 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 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 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 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 berisi kesimpulan dan saran dari isi Skripsi yang telah te lah 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 – alat pembuatan alat – alat bantu bahkan mainan dengan teknologi yang lebih baik dan canggih (Heri Andrianto,2008). Penggunaan aplikasi mikrokontroler dalam kehidupan sehari – 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 po wer 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 po wer 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 (Heri Andrianto,2008) Andrianto,2008)
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 (Heri Andrianto,2008) 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. memory. 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 Package (DIP) dapat dilihat pada gambar 2.1 di atas.
(Ary Heryanto,2008:76). 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 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
Fungsi Khusus Input/Output ) XCX (USART External Clock Input/Output T0 (Timer/Counter0 External Counter Input ) T1 (Timer/Counter1 External Counter Input ) Input ) INT2 ( External Interupt 2 Input Comparator Negative Input ) AIN0 ( Analog Comparator OCO (Timer/Counter0 Output Compare Match Output ) Comparator Negative Input ) AIN1 ( Analog Comparator SS (SPI Slave Select Input ) Input) MOSI (SPI Bus Master Output/Slave Input) Ouput) MISO (SPI Bus Master Input/Slave Ouput) 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 ( full
dengan fungsi seperti berikut :
Tabel 2.2. Fungsi Khusus Port C Pin PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
Fungsi Khusus SCL (Two wire Serial Bus Clock Line ) I nput/Output Line) SDA (Two wire Serial Bus Data Input/Output TCK ( Join Test Action Group Test Clock ) TMS ( JTAG Test Mode Select ) Out ) TDO ( JTAG Data Out JTAG Test Data In) TDI ( JTAG TOSC1 (Timer Oscillator pin 1) 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 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7
Fungsi Khusus RXD (USART Input Pin) TXD (USART Output Pin) Input ) INT0 ( External Interupt 0 Input Input ) INT1 ( External Interupt 1 Input OC1B (Timer/Counter1 Output Compare B Match Output ) Timer/Counter1 Output Compare A Match Output ) OC1A (Timer/Counter1 ICP (Timer/Counter1 Input Capture Pin) 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
.....
2.2.3. Percabangan – then 1. if – Bentuk umum dari percabangan ini adalah : if (kondisi) { //pernyataan };
Artinya adalah pernyataan akan dijalankan jika kondisi terpenuhi.
– then – else 2. if – 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. (Frieyadie,2006)
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 penambahan atau pengurangan) pengurangan) { pernyataan-pernyataan; 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 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 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 re solusi ADC tipe ini adalah 2 n 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 input differensial sebelum proses konversi ADC. tegangan input differensial
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 mengatur nilai MUX4 : 0 diberi nilai 00000B.
Tegangan referensi ADC dapat dipilih antara lain pada pin AREF, pin AVCC
atau menggunakan 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) / V Ref. Dimana Vin adalah tegangan pada input yang dipilih dan V Ref 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 V in sebesar 0,2V dengan V Ref 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 : – VNEG) . GAIN . 512) / V REF ADC = ((VPOS – V Dimana VPOS adalah tegangan pada input pin positif, VNEG adalah tegangan pada input negatif, GAIN adalah faktor penguatan dan V REF adalah tegangan referensi yang digunakan. (http://www.electroniclab.com/in (http://www.electroniclab.com/index.php?acti dex.php?action=html&fid=56) on=html&fid=56)
2.4. Code Vision AVR Code Vision AVR merupakan sebuah cross compiler C, Integrated Development 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 (Widodo Budiharto,2008:50) Budiharto,2008:50) 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, STK500/AVRISP/AVRP rog,
Kanda
System
STK200+/300 ,
Dontronics DT006, Vogel Electronic VTEC-IS, Futurlec JRAVR dan MicroTronics ATCPU /Mega2000 programmers/development programmers/development boards. Untuk
keperluan debugging sistem embadded yang menggunkan komunikasi serial, IDE mempunyai fasilitas internal yaitu berupa sebuah terminal (Widodo Budiharto,2008:55).
Code Vision AVR memilki library tertentu yang digunakan untuk
modul LCD alphanumeric, bus I2C dari Philips, sensor suhu LM75 dari National Semiconductor, Semiconductor, real time clock (PCF8563, PCF8583 PCF8583 dari Philips, DS1302 dan DS1307 dari dari Maxim/Dallas Semiconductor), protocol 1-wire dari Maxim/Dallas Semiconductor, sensor suhu ( DS1820, DS18S20 dan DS18B20 Semiconductor), thermometer/thermostat DS 1621 dari dari Maxim/Dallas Semiconductor), Maxim/Dallas
Semiconductor, Semiconductor,
EEPROM
DS2430
dan DS2433
dari
Maxim/Dallas Semiconductor , SPI, Power Management, Delay, Konversi ke
kode gray (Widodo Budiharto,2008:60). Budiharto,2008:60). 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 fungsifungsi 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. a nalog. 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 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.
– 5V (-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 (Ary Heryanto,2008:90)
Fungsi dari pin-pin pada rangkaian LCD yaitu : 1. Pin data, dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar lebar data 8 bit. 2. Pin RS ( Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang yang masuk apakah data data atau perintah. Logika Logika low menunjukkan yang masuk adalah perintah sedangkan logika high menujukkan data. Read/Write) berfungsi sebagai instruksi pada modul jika low 3. Pin R/W ( Read/Write
tulis data, jika high baca data. 4. Pin E ( Enable) digunakan untuk memegang data baik masuk atau keluar.
(Ary Heryanto,2008:91)
Gambar 2.2 Rangkaian LCD 16 x 2
2.6. Resistor Resistor adalah komponen elektronika yang berfungsi untuk
menghambat menghambat arus listrik listr ik dan menghasilkan nilai resistansi tertentu. Kemampuan resistor dalam menghambat arus listrik sangat beragam disesuaikan disesuaikan dengan nilai resistansi r esistansi resistor tersebut ( Alwajiz,2011) Alwajiz,2011)
Gambar 2.3. Simbol Resistor
Resistor memiliki beragam jenis dan bentuk. Diantaranya resistor Devices) dan wirewound . yang berbentuk silinder, SMD ( Surface Mount Devices
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. reliabilitas.
Gambar 2.4. Resistor
Tabel 2.5. Kode Warna Resistor
2.7. Transistor Transistor adalah alat semikonduktor yang dipakai sebagai pe nguat, sebagai sirkuit pemutus dan penyambung ( switching), stabilisasi stabilisasi tegangan ataupun modulasi sinyal (Bishop, 2004). 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. t ertentu. Satuan dari kapasitor adalah 2
Farad. Satu Farad = 9 x 1011 cm (Petruzella,Frank D,2001) 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 kapasitas tetap tet ap (kapasitor non polar), kapasitor yang memiliki polaritas pada – (kapasitor polar) dan kapasitor kedua kakinya yaitu polaritas + dan polaritas – (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 perbedaan potensi listrik antara a ntara 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 sebagai ekstra rendah, rendah, rendah, tinggi t inggi 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. Skem S kemaa Pengukuran T egangan egangan
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. (Richard Blocher,2003). Blocher,2003).
BAB III PERANCANGAN SISTEM
3.1. Peralatan dan Bahan Pembuatan alat Sistem Pengatur Ketinggian Air otomatis Berbasis Mikrokontroler ATMEGA16 ATMEGA16 ini memerlukan beberapa beberapa peralatan peralatan dan bahan bahan yaitu antara lain : 1. PCB. 2. Solder dan timah. 3. Minimum system mikrokontroler 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 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 :
SENSOR BATAS ATAS
SENSOR BTS
Mikrokontroler
DRIVER
POMPA
ATMEGA 16
LCD
BAWAH
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 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 (konduktor) seperti tembaga, timah. Pada perancangan disini menggunakan kabel sebagai sensornya. sensor nya. 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
SLANG
SENSOR
C
B
A
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 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 PC’7 digunakan untuk tampilan LCD 2. PD’6 dan PD’7 digunakan 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
(P B’0)
yang
kemudian
diumpankan ke relay, dimana rangkaian tersebut diperlukan sebuah rangkaian penguat tegangan. Rangkaian penguat tegangan dapat dibangun dari komponen komponen transistor. Transistor Transistor T1 (9012) berfungsi berfungsi sebagai saklar terbuka dimana ketika PB’0 be berlogika rlogika (0). Setelah transistor T1 (9012) terbuka maka transistor Q1 (TIP131) juga dalam kondisi terbuka karena ada sumber tegangan sehingga relay on dan pompa menyala. menya la. Jika PB’0 berlogika ber logika 1 transistor transist or 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 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 yang dijual dipasaran dipasar an . Pada sistem disini pompa air berfungsi untuk mengisi mengisi air dan menghentikan air masuk kepenampung air (tandon) sesuai masukan yang diterima dari (Menyala) 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
tegangan ke dalam mikrokontroler mikrokontroler arus yang cukup
digunakan
untuk
memberi
yang stabil dan mempunyai mempunyai
ke dalam dalam mikrokontroler mikrokontroler sehingga tidak terjadi
tegangan turun saat dioperasikan. dioperasikan.
Mikrokontroler Mikrokontroler
ATMEGA16
membutuhkan membut uhkan sebuah tegangan t egangan tunggal sebesar +4,5 sampai sampai +5 Volt dan relay membutuhkan tegangan sebesar 12 Volt untuk dapat aktif. Untuk itu itu dibuatlah catu daya daya dengan dengan komponen
sebagai
berikut. Transformator sebesar 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 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. Bagian pertama yang dibuat yaitu bagian dasar/alas Bentuk dari dasar/alas kotak adalah :
L C D
Rangkaian Mikrokontroler Mikrokontroler Tempat Rangkaian ATMEGA 16
Rangkaian Power Supply
Trafo
Gambar 3.7. Bagian Dasar Untuk Penempatan 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 air, slang untuk mengalirkan air. Adapun gambar dari sumber air adalah :
SLANG
Wadah sensor
Pompa Air
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 dijelaskan bahwa pertama diawali dengan mulai atau start , kemudian masuk ke bagian inialisasi Input dan Output (I/O), inialisasi ADC (Analog Digital to Conventer) 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
ATMEGA16 ini adalah sebagai berikut :
Mikrokontroler
dengan
Start
Y
Listrik off? T Inisialisasi I/O
Baca sensor Tampilkan di LCD
T
Sensor bawah off? Y Pompa on
Baca sensor Tampilkan di LCD
Sensor T
atas on? Y Pompa off
End
Gambar 3.9. Flowchart Tandon Air Otomatis Berbasis Mikrokontroler ATMEGA16
3.3.2. Perancangan Program #include #include #include // Alphanumeric LCD Module functions functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include #define pompa PORTB.0 #define ADC_VREF_TYPE 0x20 // Read the 8 most significant significant bits // of the AD conversion result 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 conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } // Declare your global variables variables here unsigned char layar_1[16],layar_2[16] layar_1[16],layar_2[16];; unsigned char up_level,down_level; up_level,down_level; void init_io(void)
//inisialisasi input output
{ // Declare your local variables variables here
// Input/Output Ports initialization initialization
// Port A initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=InFunc0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State2=T State1=T State0=T PORTB=0x01; DDRB=0x01; // Port C initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization initialization // Clock source: System System Clock // Clock value: Timer 0 Stopped Stopped // Mode: Normal top=FFh
// OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization initialization // Clock source: System System Clock // Clock value: Timer 1 Stopped 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: 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 initialization // Clock source: System System Clock // Clock value: Timer 2 Stopped Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization initialization // Analog Comparator: Off // Analog Comparator Input Capture Capture by Timer/Counter Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 172,800 172,800 kHz // ADC Voltage Reference: AREF pin // Only the 8 most significant significant bits of // the AD conversion result 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") 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"); sprintf(layar_2,"Pompa:ON"); lcd_gotoxy(0,1);lcd_puts(layar_2); if (down_level<175)sprintf(layar_1,"Down:ON"); (down_level<175)sprintf(layar_1,"Down:ON"); else sprintf(layar_1,"Down:OFF") sprintf(layar_1,"Down:OFF");; lcd_gotoxy(7,0);lcd_puts(layar_1); delay_ms(3); } void read_sensor() { up_level=read_adc(1); up_level=read_adc(1);
//baca sensor sensor atas
down_level=read_adc(0); down_level=read_adc(0);
//baca sensor bawah
} void main() { init_io(); title();
//inisialisasi input output //tampil judul di lcd
start: for(;;) { read_sensor(); view();
//baca ADC sensor //tampilkan kondisi sensor dan pompake lcd
if(down_level>175) if(down_level>175) {pompa=0; break;}
//jika sensor bawah off maka
pompa on -->keluar dr looping delay_ms(200); delay_ms(200 );
//tunda 200ms
} for(;;) { read_sensor(); view();
//baca ADC sensor //tampilkan kondisi sensor dan pompa ke lcd
if(up_level<175) if(up_level<175) {pompa=1; break;}
//jika sensor atas on maka pompa
mati ---> kelular dr looping delay_ms(200); 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 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 mikrokontrole mikroko ntrolerr 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 10.Proses memasukkan file hexa siap dilakukan. Tekan menu Program Flash, tunggu hingga 100%.
11.Proses 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 rancangan dan perbaikan kinerja. Pemberian Pemberian sinyal masukan diawali 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 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.
B
C
A
Gambar 4.1 Pengujian rangkaian power Supply Sumber 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 Pengukur an Catu Daya No
Titik Uji
Hasil ukur (V)
1
Titik A
11,97V
2
Titik B
12,2V
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 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 mengetahu rangkaian r angkaian 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
AC 220 AC 220 ke Pompa
A
B
Gambar 4.2. Pengujian rangkaian driver
Dari hasil pengukuran didapatkan data sebagai berikut : Tabel 4.2 Hasil Pengukuran Pengukura n rangkaian Driver
0,3V
Titik B (Tegangan Basis/VB) 4.7V
4,9V
0,5V
Kondisi titik A
Kondisi Relay
Out ke pompa (Volt )
Kondisi Pompa
Close (ON)
0VAC
Pompa off
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 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 listr ik sehingga sehingga ketika tidak t idak 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.
DAFTAR PUSTAKA
kode-warna-resistor , kodeAlwajiz, http://wajiz.wordpress.com/2007/02/19/ kodewarna-resistor/.Diakses r/.Diakses 19 juli 2011, 20:25:10 Dasar-dasarElektronika, Terjemahan, Jakarta: Penerbit Erlangga. Bishop, Owen, Dasar-dasarElektronika 2004 Elektronik circuit , EdisiTerjemahan, Yogyakarta: Penerbit Petruzella, Frank D, Elektronik Andi. 2001
Frieyadie, Panduan Pemrograman C++, Yogyakarta: Penerbit Andi Yogyakarta. 2006 Heri Andrianto, Pemrograman Pemrograman Mikrokontroler Penerbit Penerbit Informatika. 2008
AVR Atmega, Yogyakarta: Yogyakarta:
http://electroniclab.com/index.php?action=html&fid=30. 2012, 20:20:15
Diakses
19
februari
http://library.um.ac.id/free-contents/index.ph http://library.um.ac.id/free-contents/index.php/pub/detail/aplik p/pub/detail/aplikasi-mikrokontroler asi-mikrokontroler untuk-otomatisasi-kran-wudhu-riza-tri-prasetyo-39069.html. Diakses 6 maret 2012 15:05:30 http:// digilib.uns.ac.id/pengguna .php?mn=showview&id=15418. Diakses 6 maret 2012 15:30:00 http://www.pustakaskripsi.com/topics/sistem+pemantauan http://www.pustakaskripsi.com/topics/sistem +pemantauan+ketinggian+ai +ketinggian+air+secara r+secara +real+time+berbasis+mikrokontroler+at89c2051. Diakses 6 maret 2012, 15:45:00 M.Ary Heryanto, Wisnu Adi P, Pemrograman Bahasa C Untuk Mikrokontroler ATMEGA8535, Yogyakarta: Penerbit Andi. 2007 Widodo Budiharto, Panduan Praktikum Mikrokontroler AVR ATMega16, Yogyakarta: Penerbit ELEX MEDIA. 2008
Lampiran 1 Listing Program #include #include #include
// Alphanumeric LCD Module functions functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include
#define pompa PORTB.0 #define ADC_VREF_TYPE 0x20
// Read the 8 most significant significant bits // of the AD conversion result 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 conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10;
return ADCH; }
// Declare your global variables variables here unsigned char layar_1[16],layar_2[16]; layar_1[16],layar_2[16]; unsigned char up_level,down_level; up_level,down_level; void init_io(void)
//inisialisasi input output
{ // Declare your local variables variables here
// Input/Output Ports initialization initialization // Port A initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=InFunc0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00;
// Port B initialization // Func7=In Func6=In Func5=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTB=0x01; DDRB=0x01;
// Port C initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00;
// Port D initialization // Func7=In Func6=In Func6=In Func5=In Func4=In Func3=In Func3=In Func2=In Func1=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization initialization // Clock source: System System Clock // Clock value: Timer 0 Stopped Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System System Clock // Clock value: Timer 1 Stopped 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: 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 initialization // Clock source: System System Clock // Clock value: Timer 2 Stopped Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00;
TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// Analog Comparator initialization initialization // Analog Comparator: Off // Analog Comparator Input Capture Capture by Timer/Counter Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00;
// ADC initialization // ADC Clock frequency: 172,800 kHz kHz // ADC Voltage Reference: AREF pin // Only the 8 most significant significant bits of // the AD conversion result 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" 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"); sprintf(layar_2,"Pompa:ON"); lcd_gotoxy(0,1);lcd_puts(layar_2); if (down_level<175)sprintf(layar_1,"Down:ON"); (down_level<175)sprintf(layar_1,"Down:ON"); else sprintf(layar_1,"Down:OFF") sprintf(layar_1,"Down:OFF");; lcd_gotoxy(7,0);lcd_puts(layar_1); delay_ms(3); }
void read_sensor() { up_level=read_adc(1); up_level=read_adc(1);
//baca sensor atas
down_level=read_adc(0); down_level=read_adc(0);
//baca sensor bawah
} void main() { init_io(); title();
//inisialisasi input output //tampil judul di lcd
start: for(;;) { read_sensor(); view();
//baca ADC sensor //tampilkan kondisi sensor dan pompake lcd
if(down_level>175) if(down_level>175) {pompa=0; break;} pompa on -->keluar dr looping delay_ms(200); delay_ms(200 );
//jika sensor bawah off maka
//tunda 200ms
} for(;;) { read_sensor(); view();
//baca ADC sensor //tampilkan kondisi sensor dan pompa ke lcd
if(up_level<175) if(up_level<175) {pompa=1; break;} mati ---> kelular dr looping delay_ms(200); delay_ms(200 );
//tunda 200ms
} goto start;
//kembali ke start
//jika sensor atas on maka pompa