• Tidak ada hasil yang ditemukan

Tandon Air Otomatis Berbasis Mikrokontroler Atmega16

N/A
N/A
Protected

Academic year: 2021

Membagikan "Tandon Air Otomatis Berbasis Mikrokontroler Atmega16"

Copied!
70
0
0

Teks penuh

(1)

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

(2)

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

(3)

NOTA PEMBIMBING

Dosen STMIK-AUB Surakarta Di :SURAKARTA

Nota Dinas

Hal : Skripsi Saudara Danang Saktyo Yudhanto Kepada Yth.

Ketua STMIK-AUB Surakarta Di : 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

(4)

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

Drs. Dwi Kuncoro. M.Kom NIPY : 141/D/AUB/1991

(5)

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.Kom NIPY : 141/D/AUB/1991

(6)

Yayasan Karya Dharma Pancasila (YKDP) Surakarta

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER “ADI UNGGUL BHIRAWA” SURAKARTA STMIK-AUB SURAKARTA

STMIK-AUB : Jl. MW. Maramis 29, Cengklik, Nusukan, Surakarta 57135 Telp. (0271) 857070. E-mail : kampus@stmikaubsolo.com

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,

(7)

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!

(8)

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

(9)

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

(10)

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

(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

(12)

`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

(13)

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.

(14)

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.

(15)

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.

(16)

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.

(17)

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.

(18)

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

(19)

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

(20)

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

(21)

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.

(22)

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.

(23)

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

(24)

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,

(25)

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.

(26)

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

(27)

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

PB0 XCX (USART External Clock Input/Output) T0 (Timer/Counter0 External Counter Input) PB1 T1 (Timer/Counter1 External Counter Input) PB2 INT2 (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 :

(28)

Tabel 2.2. Fungsi Khusus Port C

Pin Fungsi Khusus

PC0 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 Khusus

PD0 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.

(29)

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 };

(30)

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.

(31)

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

(32)

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.

(33)

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

(34)

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

(35)

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.

(36)

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.

(37)

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

(38)

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)

(39)

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.

(40)

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

(41)

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

(42)

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

(43)

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).

(44)

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.

(45)

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 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 :

(46)

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 (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 (

POMPA

Mikrokontr oler AT89S51

LCD

Mikrokontr oler AT89S51 Mikrokontroler ATMEGA 16

DRIVER

Mikrokontr oler AT89S51 SENSOR BATAS ATAS Mikrokontr oler AT89S51 SENSOR BTS BAWAH

(47)

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

B

A C SENSOR SLANG

(48)

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

(49)

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.

(50)

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.

(51)

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

(52)

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. Bagian pertama yang dibuat yaitu bagian dasar/alas Bentuk dari dasar/alas kotak adalah :

(53)

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 air, slang untuk mengalirkan air. Adapun gambar dari sumber air adalah : Tempat Rangkaian Mikrokontroler AT16 Trafo

L C D

Rangkaian Mikrokontroler ATMEGA 16

(54)

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

SLANG

Pompa Air

Wadah sensor

(55)

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 :

(56)

Y T T Y T Y

Gambar 3.9. Flowchart Tandon Air Otomatis Berbasis Mikrokontroler ATMEGA16 Start Listrik off? Inisialisasi I/O Baca sensor Tampilkan di LCD Sensor bawah off? Pompa on Baca sensor Tampilkan di LCD Sensor atas on? Pompa off End

(57)

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; }

// 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

(58)

// 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

(59)

// 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;

(60)

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);

(61)

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

(62)

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

(63)

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%.

(64)

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 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.

(65)

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 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 penuh. Keluaran dioda ini setelah diberi kapasitor nilainya terukur sebesar 12,2V. Tegangan 12,2V ini terlalu besar untuk memberikan suplai

C

A

(66)

ke Pompa AC 220 AC 220

A B

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

(67)

Dari hasil pengukuran didapatkan data sebagai berikut :

Tabel 4.2 Hasil Pengukuran rangkaian Driver Kondisi

titik A

Titik B (Tegangan

Basis/VB)

Kondisi Relay Out 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.

(68)

. Gambar 4.3 Rangkaian saat air penuh

Gambar 4.4 Rangkaian saat air berkurang

(69)

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.

(70)

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.

Gambar

Gambar 2.1 Konfigurasi Kaki (Pin) ATMEGA16
Tabel 2.1. Fungsi Khusus Port B
Tabel 2.2. Fungsi Khusus Port C
Tabel 2.4. Konfigurasi Pin LCD 16 x 2
+7

Referensi

Dokumen terkait

Perancangan sistem penyiraman otomatis ini menggunakan sistem minimum Arduino Nano yang akan memproses Sensor Soil Moisture yang digunakan sebagai pengukur kadar air tanah, sensor

Sistem kontrol yang digunakan pada penebar pakan ikan yaitu Ubay Mustakim (hardware) dan Sumarno (software) (2012) dalam sekripsinya dengan judul “ Perancangan Dan

telah menyetujui bahwa “ Rancang Bangun Pengisian Air Galon Secara Otomatis Berbasis Mikrokontroler Atmega16 ” ini dapat dijadikan salah satu prasyarat untuk menyelesaikan

Rancang Bangun Alat Penuang Susu Otomatis Menggunakan Sensor Ping Berbasis Mikrokontroler ATMega16.. (2016: +31 Halaman + Daftar Pustaka + Gambar + Tabel + Lampiran)

Pada saat rangkaian pengatur kecepatan motor DC diberikan Vcc dan Gnd yang berasal dari catu daya, maka mikrokontroler melakukan inisialisasi pada ADC untuk sensor suhu LM35,

Perancangan sistem penyiraman otomatis ini menggunakan sistem minimum Arduino Nano yang akan memproses Sensor Soil Moisture yang digunakan sebagai pengukur kadar air tanah, sensor

Perancangan alat yang akan dibuat menggunakan mikrokontroler AT89S51 sebagai otak kendali sistem dan beberapan perangkat pendukung seperti sensor api,

Dengan asumsi setiap orang membutuhkan waktu 45 detik untuk melewati eskalator, maka jika dalam waktu 1 menit, sensor tidak mendeteksi adanya objek, maka